第四次作业

2025-11-19

习题五

一、单选题

5-1. if语句的控制条件 。

A.只能用关系表达式 B.只能用关系表达式或逻辑表达式 C.只能用逻辑表达式 D.可以用任何表达式

5-2. 以下程序的输出结果是 。 main( )

{ float x=2,y; if (x<0) y=0;

else if (x<5&&!x) y=1/(x+2); else if (x<10) y=1/x; else y=10;

printf(\}

A.0.000000 B. 0.250000 C. 0.500000 D. 10.000000

5-3. 执行以下程序段后,a,b,c的值分别是 。 int a,b=100,c,x=10,y=9; a=(--x==y++)?--x:++y; if(x<9)b=x++; c=y;

A.9,9,9 B.8,8,10 C.9,10,9 D.1,11,10

5-4. 执行下列程序段后,x、y和z的值分别是 。 int x=10,y=20,z=30; if(x>y) z=x;x=y;y=z;

A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20

5-4. 以下程序的输出结果是____。 main( )

{ int w=4,x=3,y=2,z=1;

if(x>y&&!(z==w))printf(\else printf(\ }

A.1 B. 2 C. 3 D. 4

5-6. 下面的程序片段所表示的数学函数关系是 。 y=-1;

if (x!=0) { if (x>0) y=1;} else y=0;

-1(x<0) 1(x<0) A. y= 0(x=0) B. y= -1(x=0)

1(x>0) 0(x>0) 0(x<0) -1(x<0)

C. y= -1(x=0) D. y= 1(x=0) 1(x>0) 0(x>0)

5-7. 若执行以下程序时从键盘上输入3□4,则输出结果是 (□表示空格)。 main( ) { int a,b,s;

scanf(\s=a;

if (a

printf(\ }

A. 14 B. 16 C. 18 D. 20

5-9. 若a和b均是整型变量,以下正确的switch语句是 。 A. switch (a/b) B. switch (a*a+b*b); {

case 1:

case 3.2: y=a+b; break ; {

case 3:

case 0: case 5: y=a-b; case 1: y=a+b; break ; }

case 0: y=b-a; break; }

C. switch a D. switch(a+b) {

default : x=a+b; {

case 10: x=a+b; break; case 10 : y=a-b;break; case 11: y=a-b; break; case 11 : y=a*d; break; } }

二、填空题

5-10.if语句控制表达式只有其值为___时表示逻辑\真\,其值为__表示逻辑\假\。

5-11.if (!k) a=3;语句中的!k可以改写为_____,其功能不变。

5-12.表达\若|x|>4,则输出x,否则输出:error!\的if语句是________________。

5-13.能正确表达\当x的值是[1,10]或[200,210]范围内的奇数时,输出x\的if语句是__________________。

5-14.下列程序段的输出是______________。 int i=0,k=100,j=4;

if (i+j) k=(i=j)?(i=1):(i=i+j); printf (\

5-15.下列程序段当a的值为014和0x14时的执行结果分别是_________和__________。 if ( a=0xA || a >12 )

if ( 011&&10==a ) printf (\,a); else printf (\,a); else printf (\,a);

5-16.以下程序的输出是__________。 main( )

{ int a=0, b=0, c=0;

if (a=b+c) printf (\else printf (\}

5-17.下列程序的输出结果是__________。 #include \main ( )

{ int x=1, y=0, a=0, b=0; switch (x)

{ case 1: switch (y) { case 0: a++; break; case 1: b++; break; }

case 2: a++; b++; }

printf (\}

5-18. 若下列程序执行后t的值为4,则执行时输入a,b的值范围是_____________。 #include \main( )

{ int a, b, s=1, t=1;

scanf (\

if (a>0) s+=1; if (a>b) t+=s; else if(a==b) t=5; else t = 2*s;

printf (\}

三、编程题

5-19.以下程序求3个整数中的最小值,程序是否有错?若有错,请改正。 main( ) { int a, b, s, t;

scanf (\if (a>b)&&(a>c)

if b

if(a

5-20.给出一个5位数,按逆序输出它的各位数字。如:输入12345,输出54321。

5-21.有一分段函数:

x (-5

x+1 (0

分别用: (1)简单if 语句 (2)嵌套的if 语句 (3)if-else语句 (4)switch 语句

编写程序,要求输入x 的值,输出y 的值。

5-22. 编写程序,输入一位学生的生日(年:y0、月:m0、日:d0); 并输入当前的日期(年:y1、月:m1、日:d1); 输出该生的实足年龄。

5-23. 编写程序,输入三角形3个边长,判断它们是否能够构成三角形,若能构成三角形,则输出三角形的类型(等边、等腰或一般三角形)。

5-24. 将下列程序用switch语句改写,并使其功能不变。 main( ) {

int x, y;

scanf (\if ( x<20 ) y = 1; if ( x<30 ) y = 2; if ( x<40 ) y = 3; if ( x<50 ) y = 4; if ( x<60 ) y = 5;

else y = 6;

printf(\

}

5-25. 某商店为促销推出如下让利销售方案,其中M为购买金额,N为让利百分比。 M<100, N=0; 100<=M<200, N=1.5%;

200<=M<300, N=2.5%; 300<=M<400, N=3.5%; 400<=M<500, N=4.5%; 500<=M<600, N=5.5% M>600, N=6 %;

编写程序,对输入的购买金额,输出顾客购买金额、实际支付的金额和返还的金额。

5-26.编写程序,计算从1995年元月1日至2000年12月10日共有多少天。闰年的二月有29天。闰年Y满足如下条件:Y能被400整除或Y能被4整除,但不能被100整除。

5-27.编写程序,输入一个不超过5位数的正整数,输出它的个位数,并指出它是几位数。

5-28.编写程序,加密数据。方法:对给定数值,每一位数字均加2,且在[0,9]范围内,若加密后某位数字大于9,则取其被10除的余数。如:6987加密后为8109。

习题六

一、单选题

6-1. 下列程序执行的结果是 。 a=1;b=2;c=3;

while(a

A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,1

6-2. 执行语句 for(i=1;i++<4;); 后,i的值是 。 A. 3 B. 4 C. 5 D. 不定

6-3. 下列程序段 。 x=3;

do{ y = x--;

if ( !y ) { printf(\printf(\

} while(1<=x<=2);

A. 输出 ## B. 输出 ##x C. 是死循环 D. 有语法错

6-4. 若int x;则执行下列程序段后输出是 。 for ( x=10; x>3; x-- ) { if ( x%3 ) x--; --x; --x; printf(\}


第四次作业.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:读书学习活动总结

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219