if(len>1| |wid>1| |hei>1| |wei>30)
; else if(wei<10) r=0.8; else if(wei<=20) r=0.75; else if(wei<=30)
;
if(r= =-1)printf(“error\\n”): else
{ ;printf(“%f”,mon);} }
34. 以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确的内容.
main( ) {int y,f;
scanf(“%d”,&y); if(y@0= =0) f=1;
else if( ) f=1; else ; if(f)printf(“%d is”,y); else printf(“%d is not”,y); printf(“a leap year\\n”);}
35. 有四个数a, b, c, d,要求按从大到小的顺序输出.请在[ ]内填入正确内容
main( ) {int a,b,c,d,t;
scanf(“%d %d %d %d”,&a,&b,&c,&d); if(a
if ( ){t=c;c=d;d=t;} if(a printf(“%d %d %d %d\\n”,a,b,c,d);} 36. 以下程序的运行结果是__ main( ) {int a=2,b=3,c; c=a; if(a>b)c=1; else if(a= =b)c=0; else c=-1; printf(“%d\\n”,c);} 37. 在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______。 A.a<>0 B.!a C.a=0 D.a 38. 有以下程序 main() { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf(“%d\\n”,m);} 程序运行后的输出结果是______。 A.1 B. 2 C. 3 D.4 39. 以下程序的输出结果是_____。 main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf(\} A.1 B. 0 C. 非0的数 D.-1 40. 表达式“0?(0?3:2):(10?1:0)”的值为 。 A.3 B.2 C.1 D.0 41. 若变量已正确定义,那么以下语句段的输出结果是_______。 x=0;y=2;z=3; switch(x) { case 0: switch(y==2) { casa 1: printf(“*”);break; case 2: printf(“%”);break; } case 1: switch(z) { case 1: printf(“$”);case 2: printf(“*”); break; default: printf(“#”); } } A.%$ B.#* C.*# D.**$ 42. 编制程序要求输入整数a和b,若a+b大于100,则输出a+b百位以上数字,否则输出两数之和. 43. 试编程判断输入的正整数是否既是5又是7的整倍数.若是,则输出yes,否则输出no 44. 编程序:根据以下函数关系,对输入的每个x值,计算出相应的y值 x x<=0 0 2 2 2 10 (2)能被其中两个数整除(要指出那两个数) (3)能被其中一个数整除(指出那一个) (4)不能被3,5,7任一个整除 顺序结构程序设计练习题 1. putchar函数可以向终端输出一个( ) A.整型变量表达式值 B.实型变量值 C.字符串 D.字符或字符变量值 2. 以下程序的输出结果是( ) (注:□代表空格) main( ) {printf(“\\n*s1=s*',“chinabeijing\\\n*s2=%-5s*\ 3. x和y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( ) A.scanf(“%d%s,%le\ B.scanf(“-*%d%f\ C.scanf(“%x%*d%o\ D.scanf(“%x%o%6.2f\ 4. 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确 的数据输入方式是( )(注:□表示空格, 5. 已有定义int x;float y;且执行scanf(“=%f\语句时,从第一列开始输入数据12345□678<回车>, 则x的值为( ) y的值为( ) (1)A.12345 B.123 C.45 D.345 (2)A.无定值 B.45.000000 C.678.000000 D.123.000000 6. 阅读以下程序段,当输入数据形式为:25,13,10 {int x,y,z; scanf(“%d%d%d\=%d\\n\A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值 7. 根据题目中已给出的数据的输入和输出形式,程序中输入输出的语句的正确内容是( ) main( ) {int x;float y;printf(“enter x,y:\输入语句 输出语句 }输入为:2□3.4 输出为:x+y=5.40 A.scanf(“%d,%f\\\nx+y=4.21\B.scanf(“%d%f\\\nx+y=4.2f\C.scanf(“%d%f\\\nx+y=6.1f\Dscanf(“%d%3.1f\\\nx+y=%4.2f\8. 以下说法正确的是( ) A.输入项可以为一个实型常量,如scanf(“%f”,3.5); B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f\ D.当输入数据时,必须指明变量的地址,如scanf(“%f\ 9. 有输入语句:scanf(“a=%d,b=%d,c=%d\为使变量a的值为1,b为3,c为2,从键盘输入数据的正 确形式应是( ) A.132 main( ) {short a; a=-4;

