c等级考试试题及答案
一、单项选择题(每题2分,共20分)
1.以下哪个是C语言中的合法标识符?
A.123abcB._abcC.intD.a-b
答案:B
2.C语言中,用于输入的函数是?
A.printfB.scanfC.putcharD.getchar
答案:B
3.若定义inta=5;则a++的值是?
A.5B.6C.7D.4
答案:A
4.以下哪种数据类型不属于整型?
A.intB.floatC.shortD.long
答案:B
5.C语言中,逻辑与运算符是?
A.||B.C.!D.^
答案:B
6.以下关于数组的说法,正确的是?
A.数组元素的下标从1开始B.数组大小可以动态改变
C.数组名代表数组首地址D.不同类型数据可存于一个数组
答案:C
7.若有定义inta[5];则对数组元素的正确引用是?
A.a[5]B.a(3)C.a[0]D.a{2}
答案:C
8.函数返回值的类型是由什么决定的?
A.return语句中表达式的类型B.调用函数的主调函数类型
C.定义函数时指定的函数类型D.形参的类型
答案:C
9.以下哪个语句可以跳出当前循环?
A.continueB.breakC.gotoD.return
答案:B
10.若定义charstr[]=abc;则数组str的长度是?
A.3B.4C.5D.6
答案:B
二、多项选择题(每题2分,共20分)
1.以下属于C语言基本数据类型的有?
A.intB.charC.floatD.double
答案:ABCD
2.下列运算符中,优先级高于乘法运算符的有?
A.+B.%C.==D.()
答案:BD
3.以下关于if语句的说法,正确的有?
A.if语句可以嵌套使用
B.if后面的条件表达式只能是关系表达式
C.可以有elseif子句
D.可以没有else子句
答案:ACD
4.以下哪些函数与字符串操作有关?
A.strlenB.strcpyC.printfD.strcmp
答案:ABD
5.以下能正确定义数组的有?
A.inta[10];B.intn=5;intb[n];
C.charc[]={a,b,c};D.floatd[3]={1.2,3.4,5.6};
答案:ACD
6.以下关于函数的说法,正确的有?
A.函数可以没有参数
B.函数可以没有返回值
C.函数必须有函数体
D.函数名不能与变量名相同
答案:ABC
7.以下哪些关键字用于循环控制?
A.forB.whileC.do-whileD.switch
答案:ABC
8.以下关于指针的说法,正确的有?
A.指针变量可以存储地址
B.指针可以进行算术运算
C.可以通过指针访问数组元素
D.指针类型必须与所指向的数据类型一致
答案:ABCD
9.以下哪些属于文件操作函数?
A.fopenB.fcloseC.freadD.fwrite
答案:ABCD
10.以下哪些预处理指令是正确的?
A.includestdio.hB.definePI3.14
C.if0D.end
答案:ABC
三、判断题(每题2分,共20分)
1.C语言中,变量必须先定义后使用。()
答案:对
2.运算符“/”在两个整数相除时,结果会自动取整。()
答案:对
3.关系表达式的值只能是0或1。()
答案:对
4.数组一旦定义,其大小不能再改变。()
答案:对
5.函数中的形参在函数调用时才分配内存空间。()
答案:对
6.continue语句可以用于跳出整个循环。()
答案:错
7.指针变量只能存储地址,不能存储普通数据。()
答案:对
8.结构体变量可以作为函数参数传递。()
答案:对
9.以“r”模式打开文件时,如果文件不存在会自动创建。()
答案:错
10.预处理指令是在编译阶段执行的。()
答案:对
四、简答题(每题5分,共20分)
1.简述C语言中变量的作用域。
答案:变量作用域指变量的有效范围。局部变量在定义它的函数或复合语句内有效;全局变量作用域从定义处到文件结束,若要在定义前使用需声明。
2.简述函数调用的过程。
答案:调用