一、单选题(共 30 道试题,共 60 分。)V 1. 要打开A盘上user子目录下名为的文本文件进行读、写操作,下面符合此要求的函数调用是()。 A.
fopen(\ B.
fopen(\ C.
fopen(\ D.
fopen(\
满分:2 分
2. 若使用一维数组名作函数实参,则以下正确的说法是()。 A. 必须在主调函数中说明此数组的大小 B. 实参数组类型与形参数组类型可以不匹配 C. 在被调用函数中,不需要考虑形参数组的大小 D. 实参数组名与形参数组名必须一致 满分:2 分
3. fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。 A. 字符串读入后不会自动加入'\\0' B. fp是file类型的指针
C. fgets函数将从文件中最多读入n-1个字符 D. fgets函数将从文件中最多读入n个字符 满分:2 分
4. 设C语言中,int类型数据占2个字节,则short类型数据占()。 A. 1个字节 B. 2个字节 C. 4个字节 D. 8个字节
满分:2 分
5. 若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。 A. printf(\B. printf(\C. printf(\D. printf(\ 满分:2 分
6. 下列标识符中,不合法的C语言用户自定义标识符是()。 A. printf B. enum C. _ D. sin
满分:2 分
7. 以下只有在使用时才为该类型变量分配内存的存储类说明是()。 A. auto和static B. auto和register C. register和static D. extern和register 满分:2 分
8. 若k为int型变量,则以下程序段的执行结果是()。k=-8567;printf(\A. 格式描述符不合法,输出无定值 B. 输出为|D| C. 输出为|0-8567| D. 输出为|-8567| 满分:2 分
9. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 A. 0
B. 语法错 C. 1 D. \假\
满分:2 分
10. C语言中,要求运算数必须是整型的运算符是()。 A. ^ B. % C. ! D. >
满分:2 分
11. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。 A. int B. float C. double D. 不确定
满分:2 分
12. 以下叙述中不正确的是()。 A. 一个好的程序应该有详尽的注释
B. 在C程序中,赋值运算符的优先级最低 C. 在C程序中,j++;是一条赋值语句
D. C程序中的#include和#define均不是C语句 满分:2 分
13. 以下运算符中,优先级最高的运算符是()。 A. = B. !=
C. *(乘号) D. ()
满分:2 分
14. C语言中的文件类型只有()。
A. 索引文件和文本文件两种 B. ASCII文件和二进制文件两种 C. 文本文件一种 D. 二进制文件一种 满分:2 分
15. 下列程序段的输出结果为()。Float k=;printf(\A. %% B. %% C. % D. .857
满分:2 分
16. 以下对C语言函数的描述中,正确的是()。 A. C程序必须由一个或一个以上的函数组成 B. C函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中 满分:2 分
17. 若有下列定义和语句,则对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 分
18. static struct {int a1;float a2;char a3;}a[10]={1,,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。 A. a[1] B. a[-1] C. a[0] D. a[10]
满分:2 分
19. 以下标识符中,不能作为合法的C用户定义标识符的是()。 A. putchar B. _double C. _123 D. INT
满分:2 分
20. 以下选项中,与k=n++完全等价的表达式是()。 A. k=n,n=n+1 B. n=n+1,k=n C. k=++n D. k+=n+1
满分:2 分 21. 下列程序的输出结果是()。main(){int x=1,y=0,a=0,b=0;switch(x){(y){++;break;++;break;}++;b++;break;++;b++;break;}printf(\
b=%d\\n\A. a=1,b=0 B. a=2,b=1 C. a=1,b=1 D. a=2,b=2
满分:2 分
22. 对以下说明语句int a[10]={6,7,8,9,10};的正确理解是()。 A. 将5个初值依次赋给a[1]至a[5] B. 将5个初值依次赋给a[0]至a[4] C. 将5个初值依次赋给a[6]至a[10]
D. 因为数组长度与初值的个数不相同,所以此语句不正确 满分:2 分
23. 函数rewind的作用是()。 A. 使位置指针重新返回文件的开头
B. 将位置指针指向文件中所要求的特定位置 C. 使位置指针指向文件的末尾
D. 使位置指针自动移至下一个字符位置 满分:2 分
24. 若用数组名作为函数的实参,传递给形参的是()。 A. 数组的首地址
B. 数组第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 满分:2 分 25. 下列程序的输出结果m=7,n=4;floata=,b=,x;x=m/2+n*a/b+1/2;printf(\A. B. C. D.
满分:2 分
26. 若二维数组a有m列,则在a[i][j]前的元素个数为()。A. j*m+I B. i*m+j C. i*m+j-1 D. i*m+j+1
满分:2 分
27. 若有说明int a[3][4];则a数组元素的非法引用是()。A. a[0][2*1] B. a[1][3] C. a[4-2][0] D. a[0][4]
满分:2 分
28. 以下叙述中错误的是()。
为()。main(){int
A. 二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B. 在程序结束时,应当用fclose函数关闭已打开的文件
C. 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 D. 不可以用FILE定义指向二进制文件的文件指针 满分:2 分
29. 下列四个选项中,均是C语言关键字的选项是()。 A. auto、enum、include
B. switch、typedef、continue C. signed、union、scanf D. if、struct、type 满分:2 分
30. 以下叙述正确的是()。
A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句
D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 满分:2 分
二、多选题(共 10 道试题,共 20 分。)V 1. 下列为c语言的关键字是() A. if B. struct C. union D. Int
满分:2 分
2. 在定义int a[2][3];之后,对a的引用正确的有()。 A. a[0][2] B. a[1,3] C. a[1>2][!1] D. a[2][0]
满分:2 分
3. 下面那些为合法整型常量() A. 190 B. 0xf C. 0765 D. 0xk
满分:2 分
4. 以下合法的十六进制数是()。 A. oxff B. 0Xabc C. 0x01 D. 0X9X
满分:2 分
5. 以下4个选项中,可以看作是一条语句的有()。 A. {;}
B. a=0,b=0,c=0;