c语言考试试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,以下哪个是合法的标识符?()
A.3abc
B.int
C._abc
D.$abc
答案:C
2.若有定义:inta=5;则表达式a++的值为()
A.5
B.6
C.4
D.7
答案:A
3.C语言中函数的返回值类型是由()决定的。
A.return语句中的表达式类型
B.调用函数的主调函数类型
C.定义函数时所指定的函数类型
D.以上都不对
答案:C
4.以下数组定义中正确的是()
A.inta[5.5];
B.inta[0..5];
C.inta[];
D.inta[5];
答案:D
5.在C语言中,逻辑“真”等价于()
A.0
B.1
C.-1
D.非0值
答案:D
6.若有语句:intp,a=5;p=a;则p的值为()
A.5
B.变量a的地址
C.无意义
D.变量p的地址
答案:A
7.若有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));则该函数调用语句中,含有的实参个数是()
A.3
B.4
C.5
D.2
答案:A
8.以下关于结构体的说法正确的是()
A.结构体不能嵌套定义
B.结构体成员不可以是数组
C.结构体成员的类型必须相同
D.结构体成员可以是结构体
答案:D
9.C语言中,文件操作的一般步骤是()
A.打开文件-读写文件-关闭文件
B.读写文件-打开文件-关闭文件
C.打开文件-关闭文件-读写文件
D.关闭文件-读写文件-打开文件
答案:A
10.若有定义:charstr[]=hello;则数组str的长度为()
A.5
B.6
C.4
D.不确定
答案:B
二、多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()
A.整型
B.字符型
C.枚举型
D.数组型
E.浮点型
答案:ABE
2.关于C语言中的函数,以下说法正确的是()
A.函数可以嵌套定义
B.函数可以没有返回值
C.函数的形参可以是常量
D.函数可以有多个返回值
E.函数可以调用自身
答案:BE
3.以下哪些是C语言中的关系运算符()
A.==
B.!=
C.
D.=
E.
答案:ABCD
4.若有定义:inta[10];则以下哪些操作是合法的()
A.a[0]=5;
B.a[10]=5;
C.for(inti=0;i10;i++)scanf(%d,a[i]);
D.for(inti=0;i=10;i++)a[i]=i;
E.intp=a;p=3;
答案:ACE
5.关于指针,以下说法正确的是()
A.指针变量存储的是数据的值
B.指针变量可以指向任何类型的数据
C.可以通过指针间接访问变量的值
D.指针变量的类型必须和它所指向的数据类型相同
E.空指针不指向任何有效的内存地址
答案:CDE
6.在C语言中,以下关于结构体和联合体的区别正确的是()
A.结构体的所有成员共用同一段内存,联合体则不是
B.联合体的所有成员共用同一段内存,结构体则不是
C.结构体可以同时存储所有成员的值,联合体只能存储其中一个成员的值
D.联合体可以同时存储所有成员的值,结构体只能存储其中一个成员的值
E.结构体的大小是所有成员大小之和,联合体的大小是最大成员的大小
答案:BCE
7.以下哪些是C语言中的循环语句()
A.for
B.while
C.do-while
D.switch
E.if
答案:ABC
8.在C语言中,关于文件操作的函数,以下正确的是()
A.fopen用于打开文件
B.fclose用于关闭文件
C.fread用于写入文件
D.fwrite用于读取文件
E.fseek用于定位文件指针
答案:ABE
9.以下哪些情况会导致C语言程序出现编译错误()
A.变量未定义就使用
B.少了分号结尾
C.数组越界访问
D.函数调用时实参和形参类型不匹配
E.代码中存在死循环
答案:ABD
10.若有定义:inta=1,b=2;则以下哪些表达式的值为真()
A.ab
B.a!=b
C.a==b
D.ab
E.a||b
答案:ABDE
三、判断题(每题2分,共10题)
1.在C语言中,所有变量都必须先定义后使用。()
答案:对
2.数组名代表数组的首地址,是一个常量指针。()
答案:对