第一部分 选择题
一、单项选择题 (本大题共 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的值分别为 【 】
A. 1 和 2
B. 2 和 3
C. 7 和 2
D. 7 和 8
17. 将一个整数 10002 存到磁盘上,以 ASCII 码形式存储和以二进制形式存储,占用的字节数分
别是 【 】
A. 2 和 2
B. 2 和 5
C. 5 和 2 D. 5 和 5
18. 在文件使用方式中,字符串 ″rb表示″ 【 】
A. 打开一个已存在的二进制文件,只能读取数据
B. 打开一个文本文件,只能写入数据
C. 打开一个已存在的文本文件,只能读取数据
D. 打开一个二进制文件,只能写入数据
19. 执行下列程序
# define F(y) 15>>y
# define PRINT(a) printf( ﹪d″,″a)
main()
{
PRINT(F(2)) ;
}
后输出的结果是 【 】
A. 3
B. 3.5
C. 14
D. 7.5
20. main()函数可以带两个形参,一般分为 argc 和 argv,其中 argv 可以定义为【 】
A. int argv ;
B. char * argv[] ;
C. char argv[];
D. char ** argv[] ;