当前位置:文档之家› C语言期中测试题(含答案)

C语言期中测试题(含答案)

C语言期中测试题(含答案)
一、填空
1.C语言源程序文件的后缀是.c 。

2.结构化程序由顺序结构、选择结构、循环结构三种基本结构组成。

3.在C语言中,用关键字int 定义基本整型变量,一个基本整型变量系统分配 2 字节,用关键字float定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字double 定义双精度实型变量,一个双精度实型变量系统分配8 字节。

二、选择
1.以下选项中正确的实型常量是( A )
A.12. B.-20 C.1,000 D.4 5 6
2.以下选项中不正确的实型常量是(无正确答案)
A. 2.607E-1 B.0.8103e2 C.-77.77 D.456e-2
3.以下选项中不合法的用户标示符是( C )
A. _123 B.A12_1 C.A
$ D.Dim
4.C语言中运算对象必须是整型的运算符是( A )
A .% B./ C.!
D.*
5. 若变量已正确定义并赋值,符合C语言语法的表达式是( B )
A.a=a+7 ;B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b 6.下面合法的赋值语句是( C )
A.a=b=58 B.k=int(a+b) C.a=58,b=58 D.--i
7.若变量已正确定义为int ,要给a,b,c输入数据,正确的输入语句是( D )
A.read(a,b,c)
B.scanf(“%d%d%d”,a,b,c)
C.scanf(“%D%D%D”,&a,&b,&c)
D.scanf(“%d%d%d”,&a,&b,&c) 8.若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语
句组是( C )
A.a=a+b,b=a-b,a=a-b;
B.t=a,a=b,b=t;
C.a=t;t=b;b=a D.t=b;b=a;a=t;
9.若有正确定义语句:
double x=5.16894;
语句printf(“%f\n”,(int)(x*1000+0.5)/(double)1000);的输出结果是( D )
A.输出格式说明与输出项不匹配,输出无定值B.5.170000
C. 5.168000!
D.5.169000
10.若有以下程序段:
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\\n”,a,b,c);
执行后的输出结果是( B )
A.3,0,-10 B.0,0,5
C.-10,3,-10 D.3,0,3 11.下列运算符中优先级别最高的是( A )
A.!B.% C.-= D.&&
12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A )
A .(x>=y)&&(y>=z)
B .(x>=y)AND(y>=x)
C

(x>=y>=z)
D .(x>=y)&(y>=z)
13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是( D )
A .a&&b
B .a<=b C

a||b+c&&b-c
D .!((a<b)&&!c||1) 14.有以下程序: #include<stdio.h> main()
{ int a=2,b=-1,c=2; if(a<b) if(b<0)
c=0; else c+=1; printf(“%d\n ”,c);
}
程序的运行结果是( C )
A.0 B.1 C.2 D.3 15.有以下程序:
#include<stdio.h>
main()
{ int w=4,x=3,y=2,z=1;
printf(“%d\n”,(w<x?w:z<y?z:x));
}
程序的运行结果( A )
A.1 B. 2 C.3 D.4
16.有以下程序:
main()
{int a,b,s;
scanf(“%d %d”,&a,&b);
s=a;
if(a<b)
s=b;
s*=s;
printf(“%d\n”,s);
}
若执行以上程序时从键盘上输入3和4,则输出结果是( B )
A .14
B .16
C .18
D .20 17.有以下程序段:
y=-1; if(x!=0) if(x>0) y=1;
else y=0;
其能正确表示的数学函数关系是( C )
A .⎪⎩⎪
⎨⎧>=<-=)0(1)
0(0)
0(1x x x y B .⎪⎩⎪
⎨⎧>=-<=)0(0)0(1)0(1x x x y C .
⎪⎩

⎨⎧>=-<=)0(1)0(1)0(0x x x y D .
⎪⎩

⎨⎧>=<-=)0(0)
0(1)0(1x x x y
18.若有定义语句int a, b ;double x ;则下列选项中正确的是( C )
A .switch (x%2)
B .switch ((int )x/2.0)
{case 0: a++; break; {case 0: a++; break;
case 1: b++; break; case 1: b++; break;
default : a++; b++; default :
a++; b++;
} }
C.switch((int)x%2) D.switch((int)(x)%2)
{case 0: a++; break; {case 0.0: a++; break;
case 1: b++; break; case 1.0: b++; break;
default : a++; b++; default : a++; b++;
} }
19.有以下程序段:
int k,j,s;
for(k=2;k<6;k++,k++)
{
s=1;
for(j=k;j<6;j++)
s+=j;
}
printf(“%d\n”,s);
程序段的输出结果是( D )
A.9 B.1 C.11 D.10
20.有以下程序段:
int i,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)
m++;
printf(“%d\n”,m);
程序段的输出结果是( C )
A.12 B.15 C.20 D.25 21.有以下程序段:
int n=10;
while(n>7)
{ n--;
printf(“%d\n”,n);
}
程序段的输出结果是( B )
A.10 B.9 C.10 D.9
9 8 9 8
8 7 8 7
7 6 22.有以下程序段:
int x=3;
do
printf(“%3d”,x-=2);
while(!(--x));
程序段的输出结果是( C )
A.1 B.3 0 C.1 -2 D.死循环
23.有以下程序:
main()
{int i,sum;
for(i=1;i<=6;i++)
sum+=sum;
printf(“%d\n”,sum;);}
程序的输出结果是( C )
A..15 B.14 C.不确定D.0 24.有以下程序:
#include<stdio.h>
main()
{int i;
for(i=1;i<=5;i++)
{
if(i%2)
printf(“*”);
else
continue;
printf(“#”);
}
pintf(“$\n”);}
程序的输出结果是( A )
A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$
25.有以下程序:
#include<stdio.h>
main()
{ int x,i;
for(i=1;i<=100;i++)
{
x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d”,x);
}
printf(“\n”);
}
程序的输出结果是( A )
A.28 70 B.42 84 C.26 68 D.39 81。

相关主题