全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
判断:局部变量只能在其作用域内直接访问;在文件作用域定义且未声明为 static 的全局变量,可在其声明之后被该文件中的多个函数直接访问。
登录后查看答案
判断:在C语言中,若全局变量 x 与某函数内的局部变量 x 同名,则在该函数内对 x 的赋值作用的是局部变量,函数结束时全局变量 x 的值不受影响;因此不能通过在该函数内直接给 x 赋值来修改全局变量 x。
阅读下面的 C 程序段,执行后 cnt 的值是: int i = 1, j, cnt = 0; while (i <= 5) { for (j = i; j <= 5; j++) { if (j % 3 == 0) continue; if (j - i == 2) break; cnt++; } i++; } printf("%d", cnt); A. 7 B. 8 C. 9 D. 10
函数 P 的函数体调用函数 Q,函数 Q 的函数体又调用函数 P;除此之外,两者没有其他相互调用关系。对函数 P 的性质,哪项判断正确? A. P 是直接递归函数 B. P 是间接递归函数 C. P 不是递归函数 D. 仅当 P 调用自身时才能判断其是否递归
有如下C语言函数定义: int f(int x) { return x * 2; } 在主函数中执行语句 int y = f(3); 后,变量 y 的值是( ) A. 3 B. 5 C. 6 D. 无确定值
已声明并初始化 `int a[5] = {14, 27, 31, 46, 58};`。下面哪段代码能按下标递减的顺序,恰好遍历并输出数组的全部元素? A. `for (int i = 4; i > 0; --i) printf("%d ", a[i]);` B. `for (int i = 4; i >= 0; --i) printf("%d ", a[i]);` C. `for (int i = 0; i < 5; ++i) printf("%d ", a[i]);` D. `for (int i = 5; i >= 0; --i) printf("%d ", a[i]);`
判断:在 C 语言中,语句 int a[5]={1,2,3,4,5,6}; 是合法的初始化,多余的元素 6 会被自动追加存放到 a[5] 中。
阅读以下程序段,循环体为空。循环结束后,变量 i、j 的值分别是多少? int i = 1, j = 10; for (; i < j; i += 3, j -= 2) ; A. i=4,j=8 B. i=7,j=6 C. i=7,j=4 D. i=10,j=4
已声明并初始化 int a[6] = {1, 4, 7, 2, 9, 8};,执行语句 for (int i = 5; i >= 0; i--) printf("%d ", a[i]); 后,输出的第 2 个数是 ____。
已声明 int a[6] = {1, 2, 3, 4, 5, 6};,若要按下标从 0 到 5 依次输出数组的全部元素,正确的遍历语句是( ) A. for (int i = 0; i < 6; i++) printf("%d ", a[i]); B. for (int i = 1; i < 6; i++) printf("%d ", a[i]); C. for (int i = 0; i <= 6; i++) printf("%d ", a[i]); D. for (int i = 0; i < 5; i++) printf("%d ", a[i]);
在 C 语言中,若要在条件 n > 0 成立时重复执行循环体,应在下列语句的空白处填写哪个循环关键字? ____ (n > 0) { /* 循环体 */ }
某程序执行 `do { 操作; } while (条件);`,且 `条件` 在第一次被检测时为假。循环体实际执行 ____ 次。
阅读下列程序段: int k = 1; while (k * k < 30) { k++; } 程序执行结束后,变量 k 的值为多少? A. 5 B. 6 C. 29 D. 30
判断:执行以下代码后,变量 s 的值为 55。 int s = 0, i = 1; while (i <= 10) { if (i % 2 == 0) { s += i; } i++; }
执行以下程序段后,变量 s 的值为____。int s = 0; int i = 1; while (i <= 10) { if (i % 3 == 0) { i++; continue; } s += i; i++; }
阅读以下 C 程序片段: int a = 3, b = 5; if (a > b) printf("A"); else printf("B"); 执行后输出结果是( ) A. A B. B C. AB D. 无输出
判断题:在C语言的switch语句中,每个case分支执行完毕后,若该分支末尾没有break语句,程序会自动跳出整个switch结构继续执行其后的语句,因此各case分支天然相互独立、互不影响。
判断:在 C 语言的 while 循环中,执行 continue 语句后将终止整个循环,程序从循环之后的语句继续执行。
输入整数 x 后,程序执行: if (x < 0) printf("L"); else if (x <= 4) printf("M"); else if (x < 9) printf("N"); else printf("H"); 若程序输出 N,以下哪个输入值可能是 x? A. -1 B. 4 C. 8 D. 9
补全程序,使输入整数 choice 为 1 时输出“RED”,为 2 时输出“BLUE”,其他情况不输出任何内容;每个分支执行后均应避免继续执行后续分支。 int choice; scanf("%d", &choice); switch (choice) { case 1: printf("RED"); ____ case 2: printf("BLUE"); ____ }