一、单项选择题(本大题共15小题,每小题2分。共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.C语言的保留字(又称关键字)是( )
A.add
B.main
C.real
D.typedef
2.正确的C语言整型常数是( )
A.3
B.3.0
C.1E0
D.false
3.设int a, b;,表达式a=2, b=5, --a+b的值是( )
A.5
B.6
C.7
D.8
4.设int a=0;,循环次数为无限的语句是( )
A.while(a);
B.for(a; a; a);
C.for(a; a==0;);
D.do{a++;} while(-a);
5.do{…)while(表达式)中“表达式”的类型是( )
A.任意的
B.关系的
C.算术的
D.逻辑的
6.设int a=1, b=2;,能将a的值赋给b的表达式是( )
A.a=b
B.b+=a
C.a||(b=a)
D.a&&(b=a)
7.函数中定义的变量类型可以是( )
A.auto型
B.static型
C.register型
D.以上三种类型
8.关于函数正确的说法是( )
A.函数必须有返回值
B.函数可以嵌套定义
C.返回值可以是指针类型
D.函数必须有形式参数
9.设int s[3] [4]={1,2,3,4,5,6};,值为2的数组元素是( )
A.s[0] [0]
B.s[0] [1]
C.s[1] [0]
D.s[1] [1]
10.下列不是递归函数的是( )
A.int t(int n)
{ if(n==0) return 0;
else return (n-1);
}
B.int t(int n)
{ if(n==0) return 0;
else return t(n-1);
}
C.int t(int n)
{ if(n==0) return 0;
else return n+t(n-1);
}
D.int t(int n)
{ if(n==0) return 1;
else return n*t(n-1);
}
11.设float w=0; int x=1, y=2; char z='3';,下列语句错误的是( )
A.switch(x)
{ case 0:
case 1:
case 2:
default: ;
}
B.switch(y)
{ case 0:
case 1:
case 2:
default: ;
}
C.switch(z)
{ case 0:
case 1:
case 2:
default: ;
}
D.switch(w)
{ case 0:
case 1:
case 2:
default: ;
}
12.设char ch=65;,下列语句错误的是( )
A.printf("%f\n", ch);
B.printf("%c\n", ch);
C.printf("%d\n", ch);
D.printf("%x\n", ch);
13.正确定义一维数组的是( )
A.char s(20);
B.int n=20; char s[n];
C.#define N 20
char s[N];
D.int n;
scanf("%d", &n);
int s[n];
14.设int u=1, *p;,下列语句正确的是( )
A.p=&u;
B.p=u;
C.&p=u;
D.u=&p;
15.当打开文件出现错误时,系统函数fopen( )的返回值是( )
A.1
B.-1
C.非0
D.NULL