赋值语句与复合赋值语句题目汇编

精选湖南省对口高考历年试题中的赋值语句和复合赋值语句相关题目,按年份整理,系统化学习知识点

2020年 单选题第21题

执行int a = 3; a += a * 2;后,则a的值是:

A. 12 B. 9 C. 6 D. 4

答案解析:

a += a * 2 等价于 a = a + (a * 2) 初始值 a = 3 计算:a = 3 + (3 * 2) = 3 + 6 = 9 正确答案:B. 9
2023年 程序设计题第35题

补充完整链表操作程序中的赋值语句:

typedef struct node {
    char name[10];
    int score;
} STU;

STU *creatList(int n) {
    STU *h, *p, *s;
    int i;
    h = p = (STU*)malloc(sizeof(STU));
    for(i = 0; i < n; i++) {
        s = (STU*)malloc(sizeof(STU));
        printf("input name: ");
        scanf("%s", s->name);
        printf("input score: ");
        scanf("%d", &s->score);
        // 补充链表连接代码(赋值语句)
        p->next = s;
        p = p->next;
    }
    p->next = NULL;
    return h;
}

关键赋值语句:

p->next = s; // 将新节点连接到链表 p = p->next; // 移动指针到新节点
2022年 程序分析题第32题(1)

下列程序的运行结果是:

#include <stdio.h>
int main() {
    int a = 2, b = 1, c = 1;
    for( ; ; ) {
        b += a;
        a -= ++c;
        if(a <= 0) break;
    }
    printf("%d,%d,%d\n", a, b, c);
    return 0;
}

赋值过程分析:

初始值:a=2, b=1, c=1 第一轮循环: b = b + a → 1 + 2 = 3 c = c + 1 → 1 + 1 = 2 a = a - c → 2 - 2 = 0 第二轮循环: 条件判断:a<=0,退出循环 输出:0,3,2