下半年c语言考试题及答案
一、单项选择题(每题2分,共10题)
1.C语言程序的基本单位是()
A.函数B.语句C.程序行D.字符
答案:A
2.以下正确的标识符是()
A.-a1B.a[i]C.a2_iD.int
答案:C
3.若有定义:inta=5;则表达式a+=a-=aa的值是()
A.-40B.0C.5D.25
答案:A
4.以下关于数组的描述正确的是()
A.数组大小固定,不能动态改变
B.数组元素类型可以不同
C.数组名可以作为函数参数传递地址
D.数组可以整体赋值
答案:C
5.若有定义:intp,a=10;则以下正确的赋值语句是()
A.p=a;B.p=a;C.p=a;D.p=a;
答案:C
6.以下哪个关键字用于跳出循环()
A.continueB.breakC.returnD.goto
答案:B
7.函数定义时若没有返回值,应使用()关键字
A.voidB.intC.floatD.char
答案:A
8.若有定义:struct{intx;chary;}s;则sizeof(s)的值是()
A.2B.3C.4D.5
答案:B
9.以下文件打开方式中,可用于向文件末尾追加数据的是()
A.rB.wC.aD.rb
答案:C
10.以下表达式中,值为真的是()
A.58B.0C.50D.5||0
答案:D
二、多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.整型B.浮点型C.字符型D.结构体
答案:ABCD
2.以下运算符中,优先级相同的有()
A.+B.-C.D./
答案:AB
3.以下可以作为循环条件的有()
A.变量B.表达式C.常量D.函数调用
答案:ABCD
4.关于函数,以下说法正确的有()
A.函数可以嵌套定义B.函数可以嵌套调用
C.函数可以有返回值D.函数可以没有参数
答案:BCD
5.以下关于数组初始化正确的有()
A.inta[3]={1,2,3};
B.inta[]={1,2,3};
C.chars[]=abc;
D.chars[3]={a,b,c};
答案:ABCD
6.以下能正确定义指针的有()
A.intp;B.charq;C.floatr;D.struct{intx;}s;
答案:ABCD
7.以下属于C语言预处理指令的有()
A.includeB.defineC.ifD.else
答案:ABCD
8.以下关于结构体的说法正确的有()
A.结构体成员可以是不同类型
B.可以对结构体变量整体赋值
C.结构体可以嵌套
D.结构体变量可以作为函数参数
答案:ACD
9.以下文件操作函数中,用于读数据的有()
A.fgetcB.fputsC.fscanfD.fread
答案:ACD
10.以下关于switch语句正确的有()
A.可以没有default分支
B.case后的常量表达式值不能相同
C.case后可以有多条语句
D.break语句用于跳出switch语句
答案:ABCD
三、判断题(每题2分,共10题)
1.C语言区分大小写。()
答案:对
2.变量必须先定义后使用。()
答案:对
3.表达式5/2的结果是2.5。()
答案:错
4.for循环只能用于循环次数确定的情况。()
答案:错
5.函数的形参和实参可以是不同类型。()
答案:错
6.数组名代表数组的首地址。()
答案:对
7.指针变量可以指向任何类型的变量。()
答案:错
8.结构体变量不能作为函数的返回值。()
答案:错
9.文件操作完成后不需要关闭文件。()
答案:错
10.continue语句用于结束整个循环。()
答案:错
四、简答题(每题5分,共4题)
1.简述C语言中变量的作用域。
答案:变量作用域指变量的有效范围。局部变量在定义它的函数或复合语句内有效;全局变量作用域从定义处到文件结束,若在其他文件使用需extern声明。
2.简述数组和指针的关