一、填空
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. B. C. 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%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=;
语句printf(“%f\n ”,(int)(x*1000+/(double)1000);的输出结果是( D )
A .输出格式说明与输出项不匹配,输出无定值
B .
C .!
D .
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<>
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<>
main()
{ int w=4,x=3,y=2,z=1;
printf(“%d\n”,(w<xw:z<yz: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/ {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 : a++; break; case 1: b++; break; case : 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<>
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<>
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。