第一部分 选择题(20分) 一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1. C语言程序编译时,程序中的注释部分 ( ) A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 2. 下列表达式的值为0的是 ( ) A. 3﹪5 B. 3/5.0 C. 3/5 D. 3<5 3. 正确的C语言用户自定义标识符是 ( ) A. print B. float C. when? D. random﹪2 4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 ( ) A. 0和2 B. 0和3 C. 1和2 D. 1和3 5. 下列叙述中,正确的是 ( ) A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致 B. 宏名必须用大写字母表示 C. 宏替换不占用运行时间,只占编译时间 D. 在程序的一行上可以出现多个有效的宏定义 6. 下列保留字中用于构成循环结构的是 ( ) A. if B. while C. switch D. default 7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是 ( ) A. if(a>b){if(c>d) x = 1;else x = 2;} B. if(a>b){if(c>d) x = 1;} else x = 2; C. if((a>b) && (c>d)) x = 1;else x = 2; D. if(a< =b) x = 2;else if (c>d) x = 1; 8. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是( ) A. x = a,y = 97 B. x = 97,y = a C. x = 97,y = 97 D. x = a,y = a 9. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是( ) A. 2 B. 3 C. 4 D. 无确定值 10. 执行下列程序 int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf(″﹪d \ n″,a[1][0] + b[0][0]);} 后输出的结果是 ( ) A. 0 B. 1 C. 2 D. 3 11. 设char str[100];int i = 5;则引用数组元素的错误形式是 ( ) A. str[i + 10] B. (str + i) C. (str + i - 1) D. ((str + + ) + i) 12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是 ( ) A. p + = 2, * + + p B. p + = 2, * p + + C. p + = 3, * p D. p + = 2, + + * p 13. 在函数内,定义变量时存储类型符可省略的是 ( ) A. auto B. static C. extern D. register 14. 执行下列程序 int a = 3, b = 4; void fun(int x1, int x2) {printf(″﹪d, ﹪d \ n″, x1 + x2, b);} main() {int a = 5, b = 6;fun(a, b);} 后输出的结果是 ( ) A. 3,4 B. 11,1 C. 11,4 D. 11,6 15. 设有定义语句 struct {int a;float b;} d[3]={{1,4},{2,5},{6,7}}; 则printf(″﹪3.1f \ n″,d[2]. a * d[2]. b/d[1]. b);的输出是 ( ) A. 2.5 B. 2.0 C. 8.0 D. 8.4 16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time; 则枚举常量a2和a3的值分别为 ( ) |