c等级考试试题及答案
单项选择题(每题2分,共10题)
1.C语言中,用于输出数据的标准函数是()
A.scanfB.printfC.getcharD.putchar
2.以下哪个是合法的C语言标识符()
A.123abcB._abcC.intD.ab
3.若有定义:inta=5;则表达式a++的值是()
A.5B.6C.4D.7
4.C语言中,逻辑与运算符是()
A.B.||C.!D.^
5.以下哪种循环结构一定会至少执行一次循环体()
A.forB.whileC.do-whileD.都不是
6.若有定义:inta[5];则数组a的元素个数是()
A.4B.5C.6D.不确定
7.函数返回值的类型是由()决定的。
A.return语句中表达式的类型B.调用函数的主调函数类型
C.定义函数时指定的函数类型D.函数中定义的局部变量类型
8.若有定义:charstr[]=hello;则strlen(str)的值是()
A.5B.6C.7D.8
9.以下关于指针的说法正确的是()
A.指针变量只能指向变量B.指针变量不能指向数组
C.指针变量可以指向函数D.指针变量不能指向结构体
10.若有定义:structstudent{intid;charname[20];};structstudentstu;则访问stu中id成员的正确方式是()
A.stu.idB.student.idC.stu-idD.stu.id
多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.intB.floatC.charD.double
2.以下哪些是C语言中的合法常量()
A.123B.aC.3.14D.hello
3.下列关于if语句的说法正确的有()
A.if语句可以单独使用B.if语句可以与else搭配使用
C.if语句可以嵌套D.if语句中条件表达式只能是关系表达式
4.以下哪些是C语言中的循环结构()
A.for循环B.while循环C.do-while循环D.switch语句
5.关于数组的说法正确的有()
A.数组元素类型必须相同B.数组下标从0开始
C.可以通过下标访问数组元素D.数组大小在定义后不能改变
6.以下哪些函数可以用于字符串操作()
A.strlenB.strcpyC.strcmpD.printf
7.函数的参数传递方式有()
A.值传递B.地址传递C.引用传递D.名称传递
8.以下关于指针的说法正确的有()
A.指针变量存储的是内存地址B.指针可以进行算术运算
C.可以通过指针访问它所指向的变量D.空指针不指向任何地址
9.以下属于C语言预处理命令的有()
A.includeB.defineC.ifD.else
10.结构体可以包含以下哪些成员()
A.基本数据类型B.数组C.指针D.结构体
判断题(每题2分,共10题)
1.C语言中,变量必须先定义后使用。()
2.表达式3/2的结果是1.5。()
3.在C语言中,switch语句中的case后面只能是常量表达式。()
4.for循环中,循环变量只能递增。()
5.数组名代表数组的首地址。()
6.函数可以嵌套定义。()
7.指针变量的值可以改变。()
8.字符串结束标志是\0。()
9.C语言程序中,注释部分会影响程序的执行结果。()
10.结构体变量可以作为函数参数。()
简答题(每题5分,共4题)
1.简述C语言中变量的作用域。
变量作用域指变量的有效范围。局部变量在定义它的函数或复合语句内有效;全局变量在整个源程序文件内有效,若要在其他文件使用需用extern声明。
2.简述for循环的执行过程。
首先执行初始化表达式,初始化循环变量;接着判断条件表达式,若为真则执行循环体;执行完循环体后执行增量表达式,然后再次判断条件表达式,如此循环,直到条件表达式为假。
3.简述函数的定义格式。
函数