c程序设计基础考试试题及答案.doc
c程序设计基础考试试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()。
A.\084
B.\x43
C.ab
D.\0
答案:B
2.若有定义:inta=5;则表达式a++的值是()。
A.5
B.6
C.4
D.7
答案:A
3.C语言中函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时所指定的函数类型
D.以上说法都不正确
答案:C
4.以下对二维数组a的正确说明是()。
A.inta[3][];
B.floata(3,4);
C.doublea[1][4];
D.floata(3)(4);
答案:C
5.在C语言中,逻辑“真”等价于()。
A.non-zero
B.zero
C.less
D.more
答案:A
6.若有以下定义:structstudent{intnum;charname[20];}stu;则结构体变量stu占用内存的字节数是()。
A.20
B.22
C.24
D.26
答案:C
7.以下关于指针变量的叙述正确的是()。
A.可以把一个整数赋给指针变量
B.任何指针变量都可以与空指针NULL进行比较
C.两个指针变量在任何情况下都可以进行相等或不等的比较
D.指针变量的类型与它所指向的数据类型可以不同
答案:B
8.C语言中,函数调用时()。
A.实参和形参各占独立的存储单元
B.实参和形参共用存储单元
C.由用户指定实参和形参是否共用存储单元
D.由系统自动确定实参和形参是否共用存储单元
答案:A
9.以下程序段的输出结果是()。
inti=0,sum=0;
while(i10){
sum+=i;
i++;
}
printf(%d,sum);
A.45
B.55
C.36
D.28
答案:A
10.若有定义:inta[10]={1,2,3,4,5,6,7,8,9,10};则a[5]的值是()。
A.5
B.6
C.7
D.8
答案:B
二、多项选择题(每题2分,共10题)
1.以下哪些是C语言中的基本数据类型()。
A.int
B.float
C.char
D.struct
答案:ABC
2.关于C语言中的数组,以下说法正确的是()。
A.数组元素可以是基本数据类型,也可以是构造类型
B.数组的大小在定义时必须确定
C.数组名代表数组的首地址
D.可以动态定义数组的大小
答案:ABC
3.下列哪些是C语言中的关系运算符()。
A.
B.=
C.==
D.!=
答案:ABCD
4.在C语言中,函数的参数传递方式有()。
A.值传递
B.地址传递
C.引用传递
D.无传递
答案:AB
5.以下关于结构体的说法正确的是()。
A.结构体成员可以是不同的数据类型
B.结构体可以嵌套定义
C.结构体变量在定义时可以初始化
D.结构体占用的内存大小等于其成员占用内存大小之和
答案:ABC
6.以下关于指针的说法正确的是()。
A.指针是一种变量,用于存储地址
B.可以通过指针访问它所指向的数据
C.指针可以进行算术运算
D.指针可以指向函数
答案:ABCD
7.在C语言中,以下哪些循环结构()。
A.while循环
B.do-while循环
C.for循环
D.switch-case循环
答案:ABC
8.C语言中,文件的打开方式有()。
A.r
B.w
C.a
D.x
答案:ABC
9.以下关于C语言中的预处理命令的说法正确的是()。
A.预处理命令以开头
B.宏定义是一种预处理命令
C.文件包含也是一种预处理命令
D.预处理命令在程序编译时执行
答案:ABC
10.以下哪些是C语言中的逻辑运算符()。
A.
B.||
C.!
D.
答案:ABC
三、判断题(每题2分,共10题)
1.在C语言中,变量必须先定义后使用。()
答案:正确
2.一个C程序可以有多个main函数。()
答案:错误
3.数组名作为函数参数传递时,传递的是数组的所有元素。()
答案:错误
4.在C语言中,结构体和联合体的区别是联合体成员共用内存空间。()
答案:正确
5.指针变量本身也有地址。()
答案:正确
6.C语言中的for循环只能用于已知循环次数的情况。()
答案:错误
7.宏定义在预处理阶段会进行简单的文本