全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
下列 C 语言常量中,合法且类型为 double 的是( ) A. 3.14f B. 'x' C. 0x2.5 D. 1.8e-3
登录后查看答案
某初学者要为一个不接收命令行参数的 C 程序编写入口函数。下列哪项对 main 函数的作用与写法表述正确? A. `int main(void) { return 0; }` 可作为程序入口,程序从该函数开始执行 B. `void main(void) { }` 是标准规定的唯一入口函数写法 C. `int start(void) { return 0; }` 与 main 具有相同的程序入口作用 D. `int main(void) { return 0; }` 只是普通函数,须由其他函数调用后程序才开始执行
已知某赋值语句翻译生成的四元式序列如下:100: (*, a, a, t1);101: (*, b, b, t2);102: (+, t1, t2, t3);103: (*, a, b, t4);104: (−, t3, t4, t5)。其中每条四元式均按(运算符, 运算对象1, 运算对象2, 结果)表示对应的三地址码。若将这五条四元式所表达的计算过程整体还原为一个关于 a、b 的表达式 E,则 E 等于: A. a²+b²−ab B. a²+b²+ab C. (a+b)²−a×b D. a²−b²+ab
设有如下 C 语言代码: void modify(int *p, int *q) { *p = *p + 1; *q = *p + 1; } int main() { int a = 3, b = 7; modify(&a, &b); printf("%d,%d", a, b); return 0; } 程序运行后输出的结果是 A. 3,7 B. 4,5 C. 4,4 D. 3,5
设有数组 int a[6] = {14, 27, 35, 42, 58, 63}; 执行 int *p = &a[4]; p -= 2; 后,表达式 *p 的值是多少? A. 27 B. 35 C. 42 D. 58
已定义 int a[5] = {10,20,30,40,50}; 且 int *p = a;,则下列表达式中与 a[2] 等价的是( ) A. *(p+2) B. *(p+3) C. *p+2 D. p+2
阅读下面的 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]);`
阅读以下程序段,循环体为空。循环结束后,变量 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, 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]);
阅读下列程序段: int k = 1; while (k * k < 30) { k++; } 程序执行结束后,变量 k 的值为多少? A. 5 B. 6 C. 29 D. 30
阅读以下 C 程序片段: int a = 3, b = 5; if (a > b) printf("A"); else printf("B"); 执行后输出结果是( ) A. A B. B C. AB D. 无输出
输入整数 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
过程调用采用传值方式时,过程内对形参赋值会产生什么影响? A. 改变对应实参的值 B. 不改变对应实参的值 C. 改变所有实参的值 D. 使过程无法执行
已声明并初始化 int a[4] = {3, 6, 9, 12};,若要按下标递增的顺序依次输出数组的全部元素,哪段代码正确? A. for (int i = 0; i < 4; i++) printf("%d ", a[i]); B. for (int i = 1; i < 4; i++) printf("%d ", a[i]); C. for (int i = 0; i < 4; i++) printf("%d ", a[0]); D. for (int i = 0; i < 3; i++) printf("%d ", a[i]);
在 C 语言循环中,执行 break 和 continue 分别会产生什么作用? A. 结束整个循环;跳过本次循环体剩余语句并进入下一次循环 B. 跳过本次循环体剩余语句并进入下一次循环;结束整个循环 C. 结束整个程序;跳过本次循环体剩余语句 D. 跳出当前循环体但继续执行其剩余语句;结束整个程序
有如下C语言程序段:int x=2; switch(x){ case 1: printf("A"); case 2: printf("B"); case 3: printf("C"); break; case 4: printf("D"); } printf("E"); 则程序段的输出结果是( ) A. BCE B. BE C. BDE D. BCE输出两次
已知变量 a、b、c 均为 int 型且初值均为 2,依次执行以下三条语句:a += b * c; b = a - 2 * c; c = a / b + c; 则执行完这三条语句后,a、b、c 的值依次是( ) A. 6、2、5 B. 6、4、3 C. 6、2、4 D. 4、2、3