全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
设有定义 int a = 6, b = 12; int *p = &b, *q = &a; 依次执行语句 p = q; 和 *p = 15; 之后,变量 a 的值为____,变量 b 的值为____。
登录后查看答案
设有定义:char a[10]="abc"; char b[6]="abd"; 依次执行语句 strcpy(a,b); strcat(a,"ef"); 后,strlen(a) 的值为____;此时 strcmp(a,b) 的返回值为____(填“正数”“负数”或“0”)。
有如下C程序片段: int f(int x) { x = x + 3; return x * 2; } int main() { int a = 4; int r = f(a); printf("%d,%d", r, a); return 0; } 程序输出为____。
有以下程序段: int a = 4, w = 0, d = 0; while (a < 8) { w++; a++; } a = 4; do { d++; a++; } while (a < 4); 则 while 循环体共执行 ____ 次,do-while 循环体共执行 ____ 次。
已知变量定义为 float f = 5.5f; int n = 42;。请依次分析下列两条语句的输出结果(□表示一个空格):语句① printf("%8.1f", f); 的输出共占 8 列,其中小数点后 1 位,实际输出为____;语句② printf("%-5d#", n); 中,宽度 5 左对齐,实际输出为____(均需完整写出空格)。
用穷举法求所有的三位水仙花数(即各位数字立方和等于该数本身的三位数),并统计其个数。程序框架:for(n=100;n<=999;n++){ a=n/100; b=n/10%10; c=n%10; 若 a*a*a+b*b*b+c*c*c==n 则计数并输出 }。已知其中最大的一个水仙花数为 407,则共有____个三位水仙花数,这些数中百位数字为 1 的共有____个。
阅读以下程序:用 for 循环枚举 n 从 2 到 20,对每个 n 用 while 循环从 i=2 试除到 √n(即 i*i≤n),若能整除则跳出并标记非素数,否则将 n 累加到变量 sum(初值为 0)中。程序运行结束后,sum 的值为____
已有定义 char ch='d'; 执行以下程序段后,输出结果为____。 switch(ch) { case 'a': printf("东"); break; case 'd': printf("南"); break; case 'f': printf("西"); break; default: printf("北"); }
在下列名称中选出合法的变量名:_Day、for、Weight、a-b、switch。其中合法的变量名是____和____。
在某 C 编译系统中,short 类型占 2 个字节,采用补码表示。则 short 类型变量能表示的最小十进制值为 ____。
已知某程序中有如下一行声明:int count, _4x, while, Grade_2, data-sum, s1; 请逐一判断这些名称能否作为 C 语言的合法变量名(注意:关键字不能作变量名,标识符不能以数字开头,且只能由字母、数字、下划线组成)。其中合法的变量名是____、____、____和____(按原顺序填写)。
设有定义 int a = 8, b = 2; int *p = &a; 依次执行语句 *p = b; 和 p = &b; *p = a; 之后,变量 a 的值为 ____,变量 b 的值为 ____。
设有说明语句:int a=5, b=9; int *p=&a, *q=&b; 依次执行以下三条语句:*p=*q; q=&a; *q=20; 之后,a 的值为 ____,b 的值为 ____,*p 的值为 ____。
设有定义 int a[6] = {10,20,30,40,50,60}, *p = a;,则 *(p+3) 的值是____;表达式 p+1 与 p+2 所指元素相距的字节数为____(已知 int 占 4 字节)。
有如下程序段: void fun(int x, int y) { x = x * 2; y = y + 3; } int main() { int a = 4, b = 5; fun(b, a); printf("%d,%d", a, b); return 0; } 由于C语言的参数传递方式是____传递,形参的改变不影响实参,故输出结果为____;若将该函数定义放在 main 之后且未在调用前写____,程序编译时将无法识别函数名。
设有定义 int a[6] = {5, 2, 8, 1, 9, 3};,现用标准冒泡排序将其升序排列(每轮从 j=0 开始,内层循环条件为 j < n-1-i,i 为轮次)。完成第一轮比较后,数组中最大的元素 9 被移到了下标为 ____ 的位置;整个排序过程共需进行 ____ 轮比较。
设有定义 int a[][3]={1,2,3,4,5,6,7};(初始化表按行优先依次填充,不足补0),则数组 a 共有____行;元素 a[2][1] 的值为____;若将 a 作为实参传递给函数 f,其形参声明 int f(int b[][____]) 中第二维的大小应写为____。
有以下程序段:int i=0, s=0; while(i<3){ s=s+i; i++; } 则循环体共执行 ____ 次,循环结束后 s 的值为 ____。若把该循环改为 do-while(i<3) 形式(循环体同样为 s=s+i; i++;),循环体共执行 ____ 次。
有如下程序段: int a=3, b=4, c=5; if (a = 0) if (c > b) c = 1; else c = 2; printf("%d", c); 则程序执行后输出结果为____。
有以下程序段: int a=3, b=6, c=10; if (a < c) if (a > b) printf("%d", a); else printf("%d", b); else printf("%d", c); 其中内层 else 按配对规则与最近的未配对 if 配对,执行后输出的结果是____。