资源描述
.
顺序结构程序设计复习题
一.选择题
1. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( )
a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;
2. 有以下程序:
main()
{ int y=1111;
printf(“y=%6d\n”,y);
printf(“y=%+06d\n”,y);
}
程序运行的结果是:( )
a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111
y=001111 y=+01111 y=+01111 y=1111
3. 有以下程序:
main()
{ int y=456;
printf(“*y=%7o*\n”,y);
printf(“*y=%-7o*\n”,y);
printf(“*y=%07o*\n”,y);
}
程序运行的结果是:( )
a) *y= 710* b) *y= 456*
*y=710 * *y=456 *
*y=0000710* *y=0000456*
c) *y=710* d) *y=456*
*y=-710* *y=-456*
*y=0710* *y=0456*
4. 有以下程序:
main()
{ float y=3.667;
printf(“*%f*\n”,y);
printf(“*%7.2f*\n”,y);
printf(“*%8.0f*\n”,y);
}
程序运行的结果是:( )
a) *3.667000* b) *3.667000*
* 3.67* *3.667 *
* 4* *4.000000*
c) *3.667* d) *3.667000*
*3.667000* *3.67*
*3.667000* *4.000000*
5. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格) **1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是( )
a) scanf(“%f%f”,&a,&b);
b) scanf(“%5.1lf%5.1lf”,&a,&b);
c) scanf(“%lf%lf”,&a,&b);
d) scanf(“%5e%5e”,&a,&b);
6. 以下合法的定义语句是( )
a) short _auto_=100-1;
b) double b=1+5e2.5;
c) long do=1l;
d) float 2_and=1e-3;
7. 以下选项中不是C语句的是( )
a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}
8. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是( )
a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;
9. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是( )
a) 把x和y从小到大排列 b) 把x和y从大到小排列
c) 无确定结果 d) 交换x和y中的值
10. 有定义语句:long int a; int k;,能给a赋40000的正确语句是( )
a) a=20000+20000; b) a=4000*10;
c) k=400;a=k*100; d) a=4000;a=a*10;
11. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是( )
a) 1.4 b) 1 c) 2.0 d) 2
12. 有以下程序:
main()
{ int k=2,i=2,m;
m=(k+=i*=k++);
printf(“y=%d,%d\n”,m,i);
}
程序运行的结果是:( )
a) 8,6 b) 8,3 c) 6,4 d) 7,4
13. 有以下程序:
main()
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
程序运行的结果是:( )
a) 3 4 b) 4 2
c) 4 3 d) 3 3
14. 有以下程序:
main()
{ int i; long l ; float f ; double d ;
i=f=l=d=20/3;
printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);
}
程序运行的结果是:( )
a) 6 6 6.0 6.0 b) 6 6 6.7 6.7
c) 6 6 6.0 6.7 d) 6 6 6.7 6.0
15. 有以下程序:
main()
{ unsigned a=32768; int b ;
b=a ;
printf(“b=%d\n”,b);
}
程序运行的结果是:( )
a) b=32768 b) b=32767 c) b=-32768 d) b=-1
16. 有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是( )
a) 16,16,65520 b) 14,16,65520
c) 16,16,-16 d) 14,16,-16
17. 若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是( )
a) 23 b) 24 c) 25 d) 22
18.有以下程序:
main()
{ int x=0xffff;
printf(“%d\n”,x--);
}
程序运行的结果是:( )
a) 32767 b) FFFE
c) -1 d) -32768
二.填空题
1.已有定义:int x,y;,执行以下语句后的输出结果是______.
x=11/3; y=5; printf(“%%d,%%%d\n”,x,y);
2. 已有定义:int y;,执行以下语句后的输出结果是______.
y=26; printf(“%d,%#o,%#x”,y,y,y);
3. 执行以下语句后的输出结果是_____.
printf(“7/8=%d”,7/8); printf(“%%%d”,7%2);
4. 以下程序的运行结果是_______.
main()
{ float a;int b;
b=a=24.5/5;
printf(“%f,%d”,a,b);
}
5. 以下程序的运行结果是_______.
main()
{ float a;int b;
a=b=24.5/5;
printf(“%f,%d”,a,b);
}
6. 以下程序的运行结果是_______.
#include <stdio.h>
main()
{ int a=252;
printf(“a=%-5o**a=%x\n”,a,a);
printf(“a=%#o**a=%#x\n”,a,a);
}
7. 若有定义:int t1; double t2;,执行下列语句后,t1的值是_______。
t1=(t2=1.9,t2+5,t2++);
8. 若有下列定义和语句,输出结果是______.
float x=34213.6894; printf(“%012.2f”,x);
9. int类型变量占两个字节,以下语句的输出结果是______.
int a=-1; printf(“%d,%o,%x,%u”,a,a,a,a);
三.操作题
1.写出以下程序运行的结果:
main()
{
int a,b,c;
long int u,n;
float x,y,z;
char c1,c2;
a=3;b=4;c=5;
x=1.2;y=2.4;z=-3.6;
u=51274;n=128765;
c1='a';c2='b';
printf("\n");
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);
printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6ld n=%9ld\n",u,n);
printf("c1='%c' or %d(ASCII)\n",c1,c1);
printf("c2='%c' or %d(ASCII)\n",c2,c2);
}
2.写出以下程序运行的结果:
main()
{
int a=5,b=7;
float x=67.8564,y=-789.124;
char c='A';
long n=1234567;
unsigned u=65535;
printf("%d%d\n",a,b);
printf("%3d%3d\n",a,b);
printf("%f,%f\n",x,y);
printf("%-10f,%-10f\n",x,y);
printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);
printf("%e,%10.2e\n",x,y);
printf("%c,%d,%o,%x\n",c,c,c,c);
printf("%ld,%lo,%x\n",n,n,n);
printf("%u,%o,%x,%d\n",u,u,u,u);
printf("%s,%5.3s\n","COMPUTER","COMPUTER");
}
3.用下面的scanf函数输入数据,问在键盘上应如何输入才能使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’
main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d",&a,&b);
scanf("%f %e",&x,&y);
scanf(" %c %c",&c1,&c2);
printf("a=%d,b=%d\n",a,b);
printf("x=%f,y=%f\n",x,y);
printf("c1=%c,c2=%c\n",c1,c2);
}
4.用下面的scanf函数输入数据,问在键盘上应如何输入才能使a=10,b=20,c1=’A’,c2=’a’ ,x=1.5,y=-3.75,z=67.8
main()
{
int a,b;
char c1,c2;
float x,y,z;
scanf("%5d%5d%c%c%f%f%*f,%f",
&a,&b,&c1,&c2,&x,&y,&z);
printf("a=%d,b=%d\n",a,b);
printf("c1=%c,c2=%c\n",c1,c2);
printf("x=%6.2f,y=%6.2f,z=%6.2f\n",x,y,z);
}
精选文档
展开阅读全文