二级c考试试题及答案选择题
单项选择题(每题2分,共10题)
1.以下不属于C语言关键字的是()
A.intB.whileC.scanfD.return
2.C语言中,定义整型变量的关键字是()
A.floatB.doubleC.intD.char
3.表达式5/2的结果是()
A.2.5B.2C.3D.2.0
4.若有定义“inta=3;”,则表达式a++的值是()
A.3B.4C.5D.6
5.以下能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()
A.a=10ora=0B.a=10||a=0
C.a=10a=0D.a=10|a=0
6.若有“inta[5];”,则以下正确引用数组元素的是()
A.a[5]B.a[0]C.a[-1]D.a(3)
7.函数调用时,实参和形参之间的数据传递是()
A.地址传递B.值传递
C.既可以值传递也可以地址传递D.以上都不对
8.以下关于指针的说法,正确的是()
A.指针就是地址B.指针不能指向数组
C.指针不能指向函数D.指针只能指向整型变量
9.若有“charstr[10]=hello;”,则strlen(str)的值是()
A.5B.6C.10D.11
10.以下文件打开方式中,可用于向文件末尾追加数据的是()
A.rB.wC.aD.rb
多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()
A.整型B.浮点型C.字符型D.结构体
2.以下运算符中,优先级高于乘法运算符的有()
A.+B.-C./D.%
3.以下能正确构成循环结构的语句有()
A.for语句B.while语句C.do-while语句D.switch语句
4.以下关于数组的说法,正确的有()
A.数组名是一个指针常量
B.数组元素在内存中连续存储
C.数组可以不初始化
D.二维数组可以当作一维数组使用
5.以下关于函数的说法,正确的有()
A.函数可以嵌套定义
B.函数可以嵌套调用
C.函数可以有返回值也可以没有
D.函数形参可以没有
6.以下关于指针运算的说法,正确的有()
A.指针可以进行加减整数运算
B.指针可以进行比较运算
C.指针可以进行乘法运算
D.指针可以进行除法运算
7.以下关于字符串的说法,正确的有()
A.字符串以\0结束
B.可以用字符数组存储字符串
C.可以用指针指向字符串
D.字符串可以直接进行赋值运算
8.以下关于结构体的说法,正确的有()
A.结构体是用户自定义的数据类型
B.结构体成员可以是不同的数据类型
C.结构体可以嵌套定义
D.结构体变量可以整体赋值
9.以下关于文件操作的函数有()
A.fopenB.fcloseC.freadD.fwrite
10.以下关于预处理指令的说法,正确的有()
A.预处理指令在编译之前处理
B.include用于包含头文件
C.define可以定义常量和宏
D.预处理指令必须以开头
判断题(每题2分,共10题)
1.C语言中,变量必须先定义后使用。()
2.表达式32/4+3%2的结果是2。()
3.if语句可以没有else部分。()
4.数组名代表数组的首地址。()
5.函数的形参在函数调用时才分配内存。()
6.指针变量只能存储地址。()
7.字符串中的字符可以逐个访问。()
8.结构体变量不能作为函数参数。()
9.文件操作结束后,不需要关闭文件。()
10.预处理指令可以出现在程序的任何位置。()
简答题(每题5分,共4题)
1.简述C语言中变量的命名规则。
答案:由字母、数字、下划线组成,且只能以字母或下划线开头,不能与关键字重名。
2.简述for循环的执行流程。
答案:先执行初始化表达式,判断条件表达式,若为真执行循环体,再执行增量表达式,然后再次判断条件表达式,直到条件为假结束循环。
3.简述指针和数组的关系。
答案:数组名可当作指针常量指向数组首元素,指针可指向数组元素,通过指针可像操作数组一样访问数组元素。
4.简述文件操作的一般步骤。
答案:用fopen打开文件,根据需要进行