c试题及答案自考
一、单项选择题(每题2分,共20分)
1.以下关于C语言变量定义,正确的是()
A.inta;b;B.inta,b;C.intab;D.int,a,b;
答案:B
2.在C语言中,逻辑与运算符是()
A.||B.C.!D.^
答案:B
3.若有定义“inta[5];”,则数组元素下标的下限是()
A.0B.1C.-1D.5
答案:A
4.以下能正确定义字符串的语句是()
A.charstr[]={‘a’,‘b’,‘c’};B.charstr[]=“abc”;
C.charstr[3]=“abc”;D.charstr[3]={‘a’,‘b’,‘c’};
答案:B
5.函数调用时,以下说法正确的是()
A.实参和形参各占独立的存储单元
B.实参和形参共用存储单元
C.可以由用户指定实参和形参是否共用存储单元
D.以上都不对
答案:A
6.若有定义“inta=10;”,则表达式“a+=a-=aa”的值是()
A.-180B.100C.-10D.120
答案:A
7.以下关于指针的说法,错误的是()
A.指针变量可以存放地址值
B.指针变量必须初始化
C.指针可以指向数组元素
D.指针相减有实际意义
答案:B
8.以下哪种数据类型在C语言中占用内存空间最小()
A.intB.charC.floatD.double
答案:B
9.若要打开一个文件用于写入数据,文件不存在则创建,正确的打开方式是()
A.“r”B.“w”C.“a”D.“rb”
答案:B
10.以下关于结构体的说法,正确的是()
A.结构体成员必须是相同数据类型
B.结构体变量不能作为函数参数
C.结构体可以嵌套定义
D.结构体不能定义指针变量
答案:C
二、多项选择题(每题2分,共20分)
1.以下属于C语言关键字的有()
A.intB.floatC.mainD.return
答案:ABD
2.以下可以作为C语言常量的有()
A.123B.3.14C.‘a’D.“hello”
答案:ABCD
3.以下关于数组的说法,正确的有()
A.数组名代表数组首地址
B.数组元素可以是不同数据类型
C.可以对数组整体进行输入输出
D.数组下标从0开始
答案:AD
4.以下能实现循环结构的语句有()
A.forB.whileC.do-whileD.switch
答案:ABC
5.以下关于函数的说法,正确的有()
A.函数可以没有参数
B.函数可以没有返回值
C.函数必须有函数体
D.函数调用可以作为表达式的一部分
答案:ABCD
6.以下关于指针运算,合理的有()
A.指针+整数B.指针-指针
C.指针+指针D.指针-整数
答案:ABD
7.以下数据类型中,属于构造类型的有()
A.数组B.结构体C.共用体D.枚举
答案:ABCD
8.以下关于文件操作函数,正确的有()
A.fopen用于打开文件
B.fclose用于关闭文件
C.fread用于从文件读取数据
D.fwrite用于向文件写入数据
答案:ABCD
9.以下关于预处理命令,正确的有()
A.include用于包含头文件
B.define用于定义宏
C.预处理命令在编译之前处理
D.预处理命令必须以“”开头
答案:ABCD
10.以下关于C语言中的输入输出函数,正确的有()
A.scanf用于格式化输入
B.printf用于格式化输出
C.getchar用于读取一个字符
D.putchar用于输出一个字符
答案:ABCD
三、判断题(每题2分,共20分)
1.C语言中,变量必须先定义后使用。()
答案:对
2.在C语言中,“=”和“==”的作用相同。()
答案:错
3.数组一旦定义,其大小不能改变。()
答案:对
4.函数定义可以嵌套,但函数调用不能嵌套。()
答案:错
5.指针变量可以指向任何类型的变量。()
答案:错
6.结构体变量之间可以直接进行赋值操作。()
答案:对
7.C语言中,文件只能按顺序读写,不能随机读写。()
答案:错
8.宏定义中的参数没有数据类型。()
答案:对
9.所有的C语言