您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页C语言第四章顺序结构复习题

C语言第四章顺序结构复习题

来源:华佗小知识


顺序结构程序设计复习题

一.选择题

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* * 3.67* * 4* c) *3.667* b) *3.667000*

*3.667 *

*4.000000*

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;,执行以下语句后的输出结果是__%d,%3__.

x=11/3; y=5; printf(“%%d,%%%d\\n”,x,y);

2. 已有定义:int y;,执行以下语句后的输出结果是_26,032,0x1a_____.

y=26; printf(“%d,%#o,%#x”,y,y,y);

3. 执行以下语句后的输出结果是__7/8=0%1___.

printf(“7/8=%d”,7/8); printf(“%%%d”,7%2);

4. 以下程序的运行结果是___4.900000,4____.

main()

{ float a;int b;

b=a=24.5/5;

printf(“%f,%d”,a,b);

}

5. 以下程序的运行结果是___4.000000,4____.

main()

{ float a;int b;

a=b=24.5/5;

printf(“%f,%d”,a,b);

}

6. 以下程序的运行结果是 a=374ㄩㄩ**a=fc

a=0374**a=0xfc

#include

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的值是__1__。

t1=(t2=1.9,t2+5,t2++);

8. 若有下列定义和语句,输出结果是 000034213.69 。

float x=34213.; printf(“%012.2f”,x);

9. int类型变量占两个字节,以下语句的输出结果是-1,177777,ffff,65535 。 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\

printf(\"x=%8.6f,y=%8.6f,z=%9.6f\\n\

printf(\"x+y=%5.2f y+z=%5.2f z+x=%5.2f\\n\

printf(\"u=%6ld n=%9ld\\n\

printf(\"c1='%c' or %d(ASCII)\\n\

printf(\"c2='%c' or %d(ASCII)\\n\

}

2.写出以下程序运行的结果:

main()

{

int a=5,b=7;

float x=67.85,y=-7.124;

char c='A';

long n=1234567;

unsigned u=65535;

printf(\"%d%d\\n\

printf(\"%3d%3d\\n\

printf(\"%f,%f\\n\

printf(\"%-10f,%-10f\\n\

printf(\"%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\\n\

printf(\"%e,%10.2e\\n\

printf(\"%c,%d,%o,%x\\n\

printf(\"%ld,%lo,%x\\n\

printf(\"%u,%o,%x,%d\\n\

printf(\"%s,%5.3s\\n\

}

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\ scanf(\"%f %e\ scanf(\" %c %c\printf(\"a=%d,b=%d\\n\

printf(\"x=%f,y=%f\\n\

printf(\"c1=%c,c2=%c\\n\

}

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\

printf(\"c1=%c,c2=%c\\n\

printf(\"x=%6.2f,y=%6.2f,z=%6.2f\\n\

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务