c自考试题及答案
一、单项选择题(每题2分,共20分)
1.以下不属于C语言关键字的是()
A.intB.whileC.defineD.break
2.C语言中,定义数组inta[5];则数组a的下标的有效范围是()
A.0-5B.1-5C.0-4D.1-4
3.若有定义:intx=3,y=4;则表达式xy的值是()
A.0B.1C.3D.4
4.以下关于函数的说法错误的是()
A.函数可以嵌套定义B.函数可以嵌套调用
C.函数是C程序的基本模块D.函数有返回值和无返回值之分
5.若有定义:charch=A;则ch的ASCII码值是()
A.65B.97C.48D.32
6.以下能正确定义且赋初值的语句是()
A.intn1=n2=10;B.charc=32;
C.floatf=f+1.1;D.doublex=12.3E2.5;
7.若有定义:inta[3][4];则数组a包含的元素个数是()
A.3B.4C.7D.12
8.以下关于指针的说法正确的是()
A.指针变量只能指向同一数据类型的变量
B.指针变量可以不初始化
C.指针变量的值是它所指向变量的值
D.一个指针变量可以同时指向多个变量
9.在C语言中,用于结束本次循环,继续下一次循环的语句是()
A.breakB.continueC.returnD.goto
10.若有定义:structstudent{intnum;charname[20];};则structstudent是()
A.结构体变量B.结构体数组C.结构体类型D.结构体成员
二、多项选择题(每题2分,共20分)
1.以下属于C语言数据类型的有()
A.整型B.浮点型C.字符型D.结构体
2.以下能正确表示逻辑与运算的运算符有()
A.B.C.||D.|
3.以下关于数组的说法正确的有()
A.数组名代表数组的首地址
B.数组元素可以是不同类型的数据
C.数组可以在定义时初始化
D.可以通过数组名直接访问数组元素
4.以下函数中,属于标准输入输出函数的有()
A.printf()B.scanf()C.gets()D.puts()
5.以下关于指针的操作正确的有()
A.指针变量可以进行加减整数运算
B.可以将一个指针变量赋值给另一个指针变量
C.指针变量可以进行比较运算
D.指针变量可以直接进行乘法运算
6.以下关于结构体的说法正确的有()
A.结构体可以嵌套定义
B.结构体变量可以整体赋值
C.结构体成员可以是不同类型的数据
D.可以通过结构体变量名访问结构体成员
7.以下关于文件操作的函数有()
A.fopen()B.fclose()C.fread()D.fwrite()
8.以下属于C语言循环结构的有()
A.for循环B.while循环C.do-while循环D.switch结构
9.以下关于函数参数传递的说法正确的有()
A.实参和形参可以是不同类型的数据
B.函数参数传递有值传递和地址传递两种方式
C.形参在函数定义时分配内存空间
D.实参在函数调用时将值传递给形参
10.以下关于预处理命令的说法正确的有()
A.预处理命令在编译之前执行
B.include是文件包含命令
C.define可以定义常量和宏
D.预处理命令必须以开头
三、判断题(每题2分,共20分)
1.C语言程序必须有一个main函数。()
2.在C语言中,变量必须先定义后使用。()
3.表达式5/2的结果是2.5。()
4.数组名作为函数参数时,传递的是数组的首地址。()
5.指针变量只能指向变量,不能指向数组。()
6.结构体变量不能作为函数参数。()
7.在C语言中,注释可以嵌套。()
8.do-while循环是先执行循环体,再判断条件。()
9.可以用一个数组名给另一个数组名赋值。()
10.文件操作结束后,必须关闭文件。(