一、单选题:
1.执行以下程序后,a
b的值分别为 main( ) { int a
b
k=4
m=6
*p1=&k
*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n"
a); printf("b=%d\n"
b); } (满分:4)
A. -1
5
B. 1
6
C. 0
7
D. 4
10
2.设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是 (满分:4)
A. struct结构体类型的关键字
B. example是结构体类型名
C. x
y
z都是结构体成员名
D. struct ex是结构体类型名
3.以下不正确的定义语句是 (满分:4)
A. double x[5]={2.0
4.0
6.0
8.0
10.0};
B. int y[5]={0
1
3
5
7
9};
C. char c1[]={′1′
′2′
′3′
′4′
′5′};
D. char c2[]={′\x10′
′\xa′
′\x8′};
4.在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是 (满分:4)
A. 1
B. 2
C. 7
D. 11
5.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是 (满分:4)
A. a=20000+20000;
B. a=4000*10;
C. a=30000+10000;
D. a=4000L*10L
6.若已定义: int a[]={0
1
2
3
4
5
6
7
8
9}
*p=a
i; 其中 0≤i≤9
则对a数组元素不正确的引用是 (满分:4)
A. a[p-a]
B. *(&a[i])
C. p[i]
D. a[10]
7.有以下程序: #include union pw { int i; char ch[2];}a; main( ) {a.ch[0]=13;a.ch[1]=0;printf("%d\n"
a.i);} 程序的输出结果是 (满分:4)
A. 13
B. 14
C. 208
D. 209
8.C语言中,能识别处理的文件为 (满分:4)
A. 文本文件和数据块文件
B. 文本文件和二进制文件
C. 流文件和文本文件
D. 数据文件和二进制文件
9.有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main( ) { printf("%d\n"
fib(3));} 该程序的输出结果是 (满分:4)
A. 2
B. 4
C. 6
D. 8
10.有如下程序 int a[10]={1
2
3
4
5
6
7
8
9
10}; int *p=&a[3]
b;b=p[5]; 则b的值是 (满分:4)
A. 5
B. 6
C. 9
D. 8
二、多选题:
1.下列描述正确的是 (满分:4)
A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C. 字符数组并不要求它的最后一个字符是‘\0'
D. ‘A'和“A”都是字符串常量
2.若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有 (满分:4)
A. A、*(a+1)为元素6的地址
B. B、*(a[1]+1)的值为2
C. C、**(a+1)+2的值为8
D. D、a[0]与a相同
3.关于文件的打开方式描述正确的是:( )。 (满分:4)
A. r:打开只读文件
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r+:打开用于更新数据的文件
4.以下对一维数组a进行初始化,错误的语句是( )。 (满分:4)
A. int a[10]=(0
0
0
0
0);
B. int a[10]={};
C. int a[10]={0};
D. int a[2]={10
9
8}
5.以下不正确的叙述是( )。 (满分:4)
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
三、判断题:
1.switch语句中,各个case和default的出现次序不影响执行结果。( ) (满分:4)
A. 错误
B. 正确
2.数据结构指的是数据的组织形式,数组就是一种数据结构( ) (满分:4)
A. 错误
B. 正确
3.switch语句中,多个case可以共用一组执行语句。( ) (满分:4)
A. 错误
B. 正确
4.模运算符要求两侧均应为整型数据。( ) (满分:4)
A. 错误
B. 正确
5.共用体所占的内存空间大小取决于占空间最多的那个成员变量。 (满分:4)
A. 错误
B. 正确
6.for(;;)语句相当于while(1)语句 (满分:4)
A. 错误
B. 正确
7.语句int pt中的*pt是指针变量名。 (满分:4)
A. 错误
B. 正确
8.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。 (满分:4)
A. 错误
B. 正确
9.puts和gets函数只能输入或输出一个字符串 (满分:4)
A. 错误
B. 正确
10.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。 (满分:4)
A. 错误
B. 正确