(单选题)1: 执行以下程序后,a,b的值分别为 main() { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b); } A: -1,5 B: 1,6 C: 0,7 D: 4,10 (单选题)2: 请选出可用作C语言用户标识符的是 A: void,define,WORD B: a3_b3,_123,IF C: FOR,--abc,Case D: 2a,Do,Sizeof (单选题)3: 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); } A: 3 B: 3.2 C: 0 D: 3.07 (单选题)4: 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是 A: a[p-a] B: *(&a[i]) C: p[i] D: a[10] (单选题)5: 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b); A: for,"a+=b",ab B: format,"a+=b" C: a+=b,a=21,b=10 D: 以上结果都不对 (单选题)6: 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是 A: a=20000+20000; B: a=4000*10; C: a=30000+10000; D: a=4000L*10L (单选题)7: 以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... } A: p和q的类型不一致,不能执行*p=*q;语句 B: *p中存放的是地址值,因此不能执行*p=40;语句 C: q没有指向具体的存储单元,所以*q没有实际意义 D: q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果 (单选题)8: 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); } A: ABCDEFG B: IJHL C: ABCDEFGHIJKL D: IJKLABCDEFGH (单选题)9: 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是 A: p=1; B: *q=2; C: q=p; D: *p=5; (单选题)10: 设有int x=11;则表达式(x++*1/3)的值是 A: 3 B: 4 C: 11 D: 12 (多选题)11: 带参宏定义与函数的区别是:______。 A: 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换 B: 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的 C: 宏不存在类型问题,宏名和参数都不存在类型问题 D: 调用函数只能得到一个返回值,而使用宏可设法得到几个结果 (多选题)12: 若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有 A: *(a+1)为元素6的地址 B: *(a[1]+1)的值为2 C: **(a+1)+2的值为8 D: a[0]与a相同 (多选题)13: 对静态变量的正确描述 A: 静态局部变量在静态存储区内分配单元 B: 静态外部变量可以赋初值,也可以不赋初值 C: 静态外部变量的作用与外部变量相同 D: 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。 (多选题)14: 以下正确的C语言标识符是_____。 A: ABC B: abc C: a_bc D: ab.c (多选题)15: C提供的预处理功能主要有______。 A: 宏定义 B: 文件包含 C: 条件编译 D: 异常终止 (多选题)16: 下列字符中能构成标识符的是______。 A: 数字字符 B: 连接符 C: 下划线字符 D: 大写字母 (多选题)17: 关于实参和形参的说法正确的是______。 A: 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元 B: 实参可以是变量、常量或表达式 C: 实参与形参的类型应相同或赋值兼容 D: 实参变量对形参变量的数据传递是“值传递” (多选题)18: 关于静态局部变量的说明正确的是______。 A: 静态局部变量存储在静态存储区 B: 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值 C: 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符 D: 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的 (多选题)19: 函数调用可以______。 A: 出现在一个表达式中 B: 出现在执行语句中 C: 作为一个函数的实参 D: 作为一个函数的形参 (多选题)20: 不与while(x)语句中的x等价的是_____。 A: x= =0 B: x= =1 C: x!=1 D: x!=0 (判断题)21: 共用体所占的内存空间大小取决于占空间最多的那个成员变量。 A: 错误 B: 正确 (判断题)22: 数据结构指的是数据的组织形式,数组就是一种数据结构( ) A: 错误 B: 正确 (判断题)23: 主函数和其它函数可以相互调用 A: 错误 B: 正确 (判断题)24: for(;;)语句相当于while(1)语句 A: 错误 B: 正确 (判断题)25: 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( ) A: 错误 B: 正确 (责任编辑:admin) |