计算机国家二级考试c语言试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()。
A.\084
B.\x43
C.ab
D.\0
答案:B
2.若有定义:inta=5;则表达式a++的值是()。
A.5
B.6
C.7
D.4
答案:A
3.以下能正确定义二维数组的是()。
A.inta[][3];
B.inta[][3]={23};
C.inta[2][3]={{1},{2},{3}};
D.inta[2][3]={1,2,3,4};
答案:D
4.在C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数时的主调函数类型
C.定义函数时所指定的函数类型
D.形参的数据类型
答案:C
5.若有以下定义:structstudent{
charname[20];
intage;
};
structstudentstu;
则以下对结构体变量stu的成员age的引用正确的是()。
A.student.age
B.stu-age
C.stu.age
D.stu.age
答案:C
6.以下程序段的输出结果是()。
inti=0,sum=0;
while(i5){
sum+=i;
i++;
}
printf(%d,sum);
A.10
B.15
C.20
D.5
答案:A
7.若有定义:inta=10,b=20,c=30;则以下表达式的值为真的是()。
A.abbc
B.ab||bc
C.!(ab)!(bc)
D.ab||bc
答案:C
8.在C语言中,用于将一个函数的地址传递给另一个函数的是()。
A.指针
B.数组名
C.函数名
D.结构体名
答案:A
9.以下程序的输出结果是()。
includestdio.h
voidf(intp){
p=5;
}
intmain(){
inta=3;
f(a);
printf(%d,a);
return0;
}
A.3
B.5
C.0
D.不确定
答案:B
10.以下关于宏定义的说法正确的是()。
A.宏定义只是简单的字符串替换
B.宏定义可以进行类型检查
C.宏定义在运行时进行替换
D.宏定义不能带参数
答案:A
二、多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()。
A.int
B.float
C.char
D.struct
E.enum
答案:ABC
2.以下关于指针的说法正确的是()。
A.指针变量可以存储变量的地址
B.指针变量可以进行算术运算
C.可以通过指针间接访问变量的值
D.指针变量必须初始化
E.空指针不占用内存空间
答案:ABC
3.在C语言中,以下可以实现循环结构的语句有()。
A.for语句
B.while语句
C.do-while语句
D.switch语句
E.if语句
答案:ABC
4.若有以下函数定义:
intfun(inta,intb){
returna+b;
}
以下关于该函数的说法正确的是()。
A.函数名为fun
B.函数有两个形参
C.函数返回值类型为int
D.函数体只有一条语句
E.函数调用时实参类型必须与形参类型一致
答案:ABCDE
5.以下关于结构体的说法正确的是()。
A.结构体可以包含不同类型的成员
B.结构体变量在内存中是连续存储的
C.可以定义结构体数组
D.结构体成员可以是结构体类型
E.结构体类型需要先定义后使用
答案:ABCDE
6.在C语言中,以下关于数组的说法正确的是()。
A.数组元素的类型必须相