选择题,将正确答案填在圆括号内:
1.下面合法的字符常量为( )
A.‘\n’ B.A C.1 D.”A”
2.C语言程序执行的开始点是( )
A.程序中main函数 B. 程序中第一个函数
C.程序中第一条语句 D. 包含文件中第一个函数
3.在C语言中,定义数组存放字符串“ASDF”,数组长度为( )个
A.0 B.1 C.4 D.5
4.main函数有两个参数,第一个是整型,第二个是( )类型
A.float B.double C. 数组 D. 指针数组
5.C语言程序由( )组成
A.函数 B.过程 C.子程序 D.主程序和子程序
6.在下列运算符中,要求运算数据必须是整型的运算符是( )
A.% B./ C.< D.!
7.为表示关系x≥y≥z,应用C语言表达式为( )
A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z)
C.z<=y<=x D.(x>=y)||(y>=z)
8.下面程序的输出结果是( )
main( )
{ int x=10, y=3;
printf(“%d\n”enum c++,x/y);
}
A.0 B.1 C.3 D.3.333333
9.可以进行字符串拷贝的函数是( )
A.strupr B.strlen C.strcmp D.strcpy
10.在C中,宏定义的命令为( )
A.&define B.include C.#define D.#include
11.程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为()
A. 10 B. 12 C. 21 D. 28
12.正确的标识符是 ()
A. a B.a=2 C. a.3 D. a_3
13.表达式1&3&5&7的值为()
A. 1 B. 3. C.5 D.7
14.语句printf(″s\\t″)的输出结果为 ()
A. s\\t B. s\t C.s\ D.s
15. 执行下列语句中,sum变量的值是 ()
int sum=0
for(int i=0;i<10;i++,sum+=i);
A. 45 B. 55. C. 0 D.编译错误
16.以下c语言函数声明中,不正确的是()
A.void fun (int x, int y); B.fun (int x, int y);
C.int fun (int x,y); D.char *fun (char *s);
17.下列选项中,不合法的C语言关键字是 ()
A.auto B.default C.static D.var
10.若x=4,则x*=x+2的值为 ()
A.36 B.24 C.18 D.20
18.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个
数为 ()
A.1 B.2 C.4 D.5
19.设a为5,执行下列语句后,b的值不为2的是 ()
A.b=a/2 B.b=6-(-a)
C.b=a%2 D.b=a>32:1
20.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变
量,则下面各项中正确的是 ()
A.p2=**p1 B.p2=*&p1
C.p2=*p1 D.p2=&*p1
21.以下运算符中,运算对象必须是整型的是 ()
A./ B.%= C.!= D.〈=
21.设有定义int x=1; int y=‘a’<‘A’x-:x++;,则变量y的值是 ()
A.0 B.2 C.1 D.3
22. 以下对枚举类型名的定义中正确的是 ()
A.enum s={a,b,c} B.enum s {a=9,b=2,c}
C.enum s={′a′, ′b′, ′c′}
D.enum s{′a′, ′b′, ′c′}
23. 假设指针p已经指向某个整型变量x,则*p相当于 ()
A.&x B.&p C.x D.*x
24.以下各标识符组成中,合法的用户标识符为( )
A.A10 B.1A C.P-1 D.struct
25.在PC机中运行的C程序,unsigned long类型的数据占( )字节。
A.1 B.2 C.3 D.4
26若x为int型变量,以下语句 ()
x=-2L;
printf("%d\n",x);
A.赋值不合法 B.输出值为-2 C.输出值为不确定值 D.输出值为2
27.表达式5&&8!=(5&&8)的值为 ( )
A.0 B.2 C.1 D.-1
28.已知int a,b,c;
float x=1.2,y;
表达式y=a=b=c=x=7.2运行后,变量a,b,c,x,y的值分别为( )
A.y=7.2,a=7,b=7,x=7.2 B.y=7,b=7,c=7,a=7,x=7.2
C.y=7.0,a=7.2,b=7.2,c=7.2,x=7.2 D.y=7.0,a=7,b=7,c=7.2
30.C语句对嵌套if语句的规定是:else总是与( )配对。
A.其之前最近的if B.第一个if
C.缩进位置相同的if D.其之前最近且不带else的if
C.缩进位置相同的if D.其之前最近且不带else的if
31.以下不正确的描述是( )
A.while循环是先判断表达式,后执行循环体语句
B.do-while、for、while循环中的循环体均可以由空语句构成
C.do-while和for循环均是先执行循环体语句,后判断表达式
D.使用while和do-while循环时,循环变量初始化操作应在循环语句之前完成。
32.以下函数fun的返回值类型为( )
fun(x);
float x;
{ printf("%f\n",x) }
A.void B.float C.int型 D.无法确定类型
33.下列函数调用语句中含有( )个实参。
fun(v1,v2,(v3,v4));
A.3 B.4 C.5 D.2
34.若有说明int(*ptr)[5];则下列( )是正确的叙述。
A.ptr是一个指针数组
B.ptr是一个指针,它可以指向一个包含5个int类型元素的数组
C.ptr是一个指针,它可以指向一个int类型的变量
D.(*p)[3]与*p[3]等价
35. 设有 float x=16.8, y=18.6; 则(int) (x+y)的结果为( )
A. 34 B. 35 C. 36 D. 37
36. 以下选项中不是C语句的是( )
A. { i=10; printf(“%d\n”,i); } B. max=m>n?m : n;
C. a=8,c=18 D. ;
37. 设a、b和c都是整型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是( )。
A. a&&b B. a<=b C. a||b+c&&b-c D. !((a<b)&&!c||1)
38. 有下列程序段:
int k=1;
while (k=0) k++;
其中的while循环执行的次数是( )。
A .无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次
39. 设有:int a[10],i=5;以下对数组元素的引用,不正常的是( )。
A. a[9] B. a[0] C.a[i] D. a[i+5]
40. 以下语句的输出结果是( )。
printf("%d\n",strlen("\t\"\065\xff\n"));
A. 5 B. 14 C. 8 D. 输出项不合法,无正常输出
41. C语言中函数返回值的类型是由( )决定的。
A. retutn语句中的表达式类型 B. 调用该函数的主调函数类型
C.调用函数时临时 D. 定义函数时所指定的函数类型
42. 以下对C语言函数的有关描述中,正确的是( )。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. C函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
43. 计算表达式:x=(i=4,j=10,k=30)后,x的值为 ( )
A. 4 B. 10 C. 30 D. 38
44. 下列运算符中运算优先级最高的是: ( )
A.* B. ! C. && D. >=
45. 设float x=11.0,y=12.0; 下列语句中发生错误的是: ( )
A.++x B. y=(x%2)/10 C. y*=x+1;
46.设变量a,b,c,d,m,n均为0, 执行(m=a= =b)|| (n=c= = d)后m,n的值分别是( )
A.0,1 B. 1, 1 C. 1, 0
47. 设int i=0,j=1,k=2,a=3,b=4,c=5; 执行表达式(a=i<j)&&(b=j>k)&&(c=i, j, k)后,a,b,c
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论