第一部分 选择题(20分)
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.组成C语言程序的是( )
A.过程
B.函数
C.子程序
D.主程序和子程序
2. 下列表达式的值为0的是 ( )
A. 3﹪5
B. 3/5.0
C. 3/5
D. 3 5
3.C语言中定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是( )
A.自动型
B.寄存器型
C.静态型
D.外部参照型
4. 设int a = 3;则表达式a 1 - - a 1的运算结果和a的值分别是 ( )
A. 0和2
B. 0和3
C. 1和2
D. 1和3
5.自动型变量分配在( )
A.内存的数据区中
B.CPU的通用寄存器中
C.内存的程序区中
D.内存的堆栈区中
6. 下列保留字中用于构成循环结构的是 ( )
A. if
B. while
C. switch
D. default
7.对do-whie语言错误的说法是( )
A.可构成多重循环结构
B.循环次数不可能为0
C.循环次数可能为0
D.先执行后判断
8. 设 char x =‘a’;则printf(“x = ﹪c, y = ﹪c \ n”,x,97);的输出是( )
A. x = a,y = 97
B. x = 97,y = a
C. x = 97,y = 97
D. x = a,y = a
9.设char str1[10]=“ABCDE”,str2[10]=“XYZ”;则执行语句:printf(“%d”,strlen(strcpy(str1,str2)));后的输出是( )
A.3
B.5
C.8
D.9
10. 执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main()
{printf(“﹪d \ n”,a[1][0] + b[0][0]);}后输出的结果是 ( )
A. 0
B. 1
C. 2
D. 3
11.语句int (*p)( );的含义是( )
A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据
B.p是指针变量,指向一个整型数据
C.p是一个指向一维数据的指针变量
D.p是指针函数
12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是 ( )
A. p + = 2, * + + p
B. p + = 2, * p + +
C. p + = 3, * p
D. p + = 2, + + * p
13.对于程序段float f1(int a)
{int b;…} main( )
{int m,n;m=f1(n);…} char f2(int x,int y)
{int a;…}变量m,n的作用范围是( )
A.整个程序段
B.main函数
C.main函数和f2函数
D.Dmian函数和f1函数
14. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2)
{printf(“﹪d, ﹪d \ n”, x1 + x2, b);} main()
{int a = 5, b = 6;fun(a, b);}后输出的结果是 ( )
A. 3,4
B. 11,1
C. 11,4
D. 11,6
15.在下列运算符中,优先级最低的是( )
A.!
B.。
C.( )
D.[ ]
16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;则枚举常量a2和a3的值分别为 ( )
A. 1和2
B. 2和3
C. 7和2
D. 7和8
17.对于文件操作方式“rb+”,准确的说法是( )
A.可读写文本文件
B.只读二进制文件
C.只读文本文件
D.可读写二进制文件
18. 在文件使用方式中,字符串“rb”表示 ( )
A. 打开一个已存在的二进制文件,只能读取数据
B. 打开一个文本文件,只能写入数据
C. 打开一个已存在的文本文件,只能读取数据
D. 打开一个二进制文件,只能写入数据
19.设int a=1,b=2,c=4;经过表达式(c=a!=b) (a= =b) (c=b)运算后,a、b和c的值分别是( )
A.1,2,0
B.1,2,1
C.1,2,2
D.1,2,3
20. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为( )
A. int argv;
B. char * argv[];
C. char argv[];
D. char ** argv[];