C语言自测练习
一.单项选择题
1.为了避免嵌套的条件语句if-else的二义性,C语言规定:else与( B )配对。
A.缩进位置相同的if B.其之前最近的if C.其之后最近的if D.同一行上的if
2.已知:int y;执行语句y=5%3;则变量y的结果是( A )。
A.2 B.-2 C.1 D.-1
3.具有相同类型的指针变量与数组a,不能进行的操作是( D )。
A.p=a; B.*p=a[0]; C.p=&a[0]; D.p=&a;
4.用于函数返回值的语句是( A )。
A.return B.continue C.break D.printf
5.设int m=1,n=2;则m++==n的结果是( A )。
A.0 B.1 C.2 D.3
6.设int a=2,b=2;则++a+b的结果是( D )。
A.2 B.3 C.4 D.5
7.已知:int a,b;用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是( A )。
A., B.空格 C.回车 D.Tab
8.凡在函数中未指定存储类别的变量,其隐含的存储类别为( A )。
A.auto B.static C.extern D.register
9.若对函数类型未加显示说明,则函数的隐含类型是( C )。
A.void B.double C.int D.char
10.在int a[5]={1,3,5};语句中,数组元素a[1]的值是( C )。
A.1 B.0 C.3 D.5
11.已知int a=3,*p=&a;则*p的值是( D )。
A.变量a的地址值 B.无意义 C.变量p的地址值 D.3
12.已知struct { int i; char c; float a; }test;则sizeof(test)的值是( D )。
A.4 B.5 C.6 D.7
注:在vc++6.0中,test的存储宽度为12字节。
C语言中合法的变量名是( B )。
A.2x B.x_1 C.double D.x*2
14.数学表达式x≤y≤z,C语言中的正确表达式是( D )。
A.x<=y<=z B.x<=y,y<=z C.x<=y||y<=z D.!(x>y)&&y<=z
15.下面实型常量的错误形式是( D )。
A.-253.000 B.-253. C.0.253e3 D.2.53e+3.5
16.已知int i=3,j;j=++i;则i和j的值分别为( B )。
A.i=3,j=4 B.i=4,j=4 C.i=4,j=3 D.i=3,j=3
17.下列表达式的值为0的是( C )。
A.3%5 B.3/5.0 C.3/5 D.3<5
18.执行scanf(“%c%c”,&a,&b);语句使变量a、b分别为'A'和'B',正确输入是( A )。
A.AB B.A B D.AB
19.C语言程序由函数组成,它的( B )。
A.主函数必须在其它函数之前,函数内可以嵌套定义函数
B.主函数可以在其它函数之后,函数内不可以嵌套定义函数
C.主函数必须在其它函数之前,函数内不可以嵌套定义函数
D.主函数必须在其它函数之后,函数内可以嵌套定义函数
20.为程序输入数据,而打开文本文件file1,正确的函数调用是( B )。
A.fopen(“file1”,“r”) B.fopen(“file1”,“w”)
C.fopen(“file1”,“rb”) D.fopen(“file1”,“wb”)
21.已知int x=1;表达式!(x>0) ? x+1 : x-1的结果为( B )。
A.1 B.0 C.2 D.x<0
22.ax2+bx+c的C语言表达式是( C )。
A.ax*x+bx+c