一、单选题(共 30 道试题,共 60 分。)V
1. C语言中,要求运算数必须是整型的运算符是()。
A. ^
B. %
C. !
D. >
满分:2 分
2. 以下叙述不正确的是()。
A. 一个C源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
满分:2 分
3. 下列程序的输出结果为()。main(){int m=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}
A. 27.000000
B. 27.500000
C. 28.000000
D. 28.500000
满分:2 分
4. 以下的选择中,正确的赋值语句是()。
A. a=1,b=2
B. j++
C. a=b=5;
D. y=int(x)
满分:2 分
5. 可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A. 内存
B. 缓冲区
C. 文件
D. 寄存器
满分:2 分
6. 在C语言中,能代表逻辑值“真”的是()。
A. True
B. 大于0的数
C. 非0整数
D. 非0的数
满分:2 分
7. int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
A. 2
B. 3
C. 4
D. 不一定
满分:2 分
8. C语言中,定义结构体的保留字是()。
A. union
B. struct
C. enum
D. typedef
满分:2 分
9. 若有下列定义和语句,则对a数组元素的非法引用是()。Int a[2][3],(*pt)[3];pt=a;
A. pt[0][0]
B. *(pt+1)[2]
C. *(pt[1]+2)
D. *(a[0]+2
满分:2 分
10. C语言中的文件类型只有()。
A. 索引文件和文本文件两种
B. ASCII文件和二进制文件两种
C. 文本文件一种
D. 二进制文件一种
满分:2 分
11. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。
A. 0
B. 语法错
C. 1
D. "假"
满分:2 分
12. 下面有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环循环体语句,后判断表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
满分:2 分
13. 设有说明.char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()。
A. float
B. char
C. int
D. double
满分:2 分
14. 若执行fopen函数时发生错误,则函数的返回值是()。
A. 地址值
B. 0
C. 1
D. EOF
满分:2 分
15. 函数rewind的作用是()。
A. 使位置指针重新返回文件的开头
B. 将位置指针指向文件中所要求的特定位置
C. 使位置指针指向文件的末尾
D. 使位置指针自动移至下一个字符位置
满分:2 分
16. 以下标识符中,不能作为合法的C用户定义标识符的是()。
A. putchar
B. _double
C. _123
D. INT
满分:2 分
17. 执行以下程序段后,输出结果和a的值是()。Int a=10;printf("%d",a++);
A. 10和10
B. 10和11
C. 11和10
D. 11和11
满分:2 分
18. 在C语言中,char型数据在内存中的存储形式是()。
A. 补码
B. 反码
C. 原码
D. ASCII码
满分:2 分
19. 函数的形式参数隐含的存储类型说明是()。
A. extern
B. static
C. register
D. auto
满分:2 分
20. 以下数值中,不正确的八进制数或十六进制数是()。
A. 0x16
B. 016
C. -1
D. 0xaaaa
满分:2 分
21. 设C语言中,int类型数据占2个字节,则short类型数据占()。
A. 1个字节
B. 2个字节
C. 4个字节
D. 8个字节
满分:2 分
22. 若使用一维数组名作函数实参,则以下正确的说法是()。
A. 必须在主调函数中说明此数组的大小
B. 实参数组类型与形参数组类型可以不匹配
C. 在被调用函数中,不需要考虑形参数组的大小
D. 实参数组名与形参数组名必须一致
满分:2 分
23. 下列程序的输出结果是()。main(){char c1=97,c2=98;printf("%d%c",c1,c2);}
A. 9798
B. 97b
C. a98
D. ab
满分:2 分
24. 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。
A. p=p+2;
B. p=a[5];
C. p=a[2]+2;
D. p=&(j+2);
满分:2 分
25. 以下程序的输出结果是()。main(){char s[]="123",*p;p=s;printf("%c%c%c\n",*p++,*p++,*p++);}
A. 123
B. 321
C. 213
D. 312
满分:2 分
26. C语言中要求对变量作强制定义的主要理由是()。
A. 便于移植
B. 便于写文件
C. 便于编辑预处理程序的处理
D. 便于确定类型和分配空间
满分:2 分
27. 设int x=1,y=1;表达式(!x||y--)的值是()。
A. 0
B. 1
C. 2
D. -1
满分:2 分
28. 以下错误的描述是:函数调用可以()。
A. 出现在执行语句中
B. 出现在一个表达式中
C. 做为一个函数的实参
D. 做为一个函数的形参
满分:2 分
29. 结构体类型的定义允许嵌套是指()。
A. 成员是已经或正在定义的结构体型
B. 成员可以重名
C. 结构体型可以派生
D. 定义多个结构体型
满分:2 分
30. char a[]="Thisisaprogram.";输出前5个字符的语句是()。
A. printf("%.5s",a);
B. puts(a);
C. printf("%s",a);
D. a[5*2]=0;puts(a);
满分:2 分