C语言期中测试题(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空
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
14.有以下程序:
#include<>
main()
{ int a=2,b=-1,c=2;
if(a
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 } 程序的运行结果( A ) A.1 B. 2 C.3 D. 4 16.有以下程序: main() {int a,b,s; scanf(“%d %d”,&a,&b); s=a; if(a 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++)