c语言笔试期末考试试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()
A.\084B.\x43C.abD.\0
答案:B
2.若有定义:inta=5;则表达式a++的值是()
A.5B.6C.4D.7
答案:A
3.C语言中函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时指定的函数类型
D.形参的数据类型
答案:C
4.以下数组定义中错误的是()
A.intx[2][3]={1,2,3,4,5,6};
B.intx[][3]={0};
C.intx[2][3]={{1,2},{3,4},{5,6}};
D.intx[2][3]={1,2,3};
答案:C
5.若有语句:intp,a=4;p=a;下面均代表地址的一组选项是()
A.a,p,a
B.a,p,a
C.a,p,p
D.p,a,p
答案:C
6.以下叙述中正确的是()
A.C语言中的函数可以嵌套定义
B.C语言中的函数可以嵌套调用
C.在C语言中,在一个函数内部不能再定义另一个函数
D.C语言中的函数不可以递归调用
答案:B
7.设变量已正确定义并赋值,以下正确的表达式是()
A.x=y5=x+z
B.int(15.8%5)
C.x=y+z+5,++y
D.x=25%5.0
答案:C
8.在C语言中,能正确表示逻辑关系“a≥10或a≤0”的表达式是()
A.a=10ora=0
B.a=10||a=0
C.a=10|a=0
D.a=10a=0
答案:B
9.以下对结构体类型变量td的定义中,错误的是()
A.typedefstructaa{
intn;
floatm;
}AA;
AAtd;
B.struct{
intn;
floatm;
}td;
C.structaa{
intn;
floatm;
};
structaatd;
D.struct{
intn;
floatm;
}aa;
structaatd;
答案:D
10.若有定义:inta[10];则对数组a元素的正确引用是()
A.a[10]
B.a[3.5]
C.a(5)
D.a[10-10]
答案:D
二、多项选择题(每题2分,共10题)
1.以下哪些是C语言中的基本数据类型()
A.整型
B.浮点型
C.字符型
D.结构体类型
E.指针型
答案:ABC
2.下列关于函数的说法正确的是()
A.函数可以没有参数
B.函数可以没有返回值
C.函数的形参在函数调用时分配内存
D.函数可以递归调用
E.函数的实参可以是表达式
答案:ABCDE
3.以下哪些是合法的C语言标识符()
A._abc
B.123abc
C.a-b
D.ab123
E.abc
答案:AD
4.关于C语言中的指针,下列说法正确的是()
A.指针变量可以指向任何类型的数据
B.指针变量可以进行算术运算
C.指针变量可以和整数进行加减运算
D.可以通过指针变量间接访问它所指向的数据
E.指针变量本身有自己的地址
答案:ABCDE
5.对于二维数组inta[3][4],以下哪些表达式可以表示数组元素()
A.a[0][0]
B.(a[0]+1)
C.((a+1)+2)
D.(a)[2]
E.a+3
答案:ABCD
6.在C语言中,以下关于宏定义的说法正确的是()
A.宏定义是简单的字符替换
B.宏定义可以带参数
C.宏定义中的参数没有类型
D.宏定义可以嵌套定义
E.宏定义在预编译阶段处理
答案:ABCDE
7.