printf(“%d”,i++) case 4:
printf(“%d”,i++) break; default:
printf(“END”)} }
输入数据1,执行以上程序,则输出结果是____ 2.执行下面程序后输出的结果为____。 main()
{ int i=0,j; for(j=0;j<4;j++)
switch(j)
{ case 1: i=i+1; case 2: i=i+2; case 3: i=i+3; } printf(“%d\\n”,i);} 3.设有以下程序: #include
{ char ch1, ch2;
scanf(\%c%c\,&ch1,&ch2); if(ch1!='B')
{ switch(ch2) { case 'B': switch(ch1)
{ case'A':printf(\; case'B':printf(\;} break; case'A':
switch(ch1)
{case'A':printf(\; case'B':printf(\; } } } else printf(\; }
若执行此程序段时输入的数据是AB,则程序的输出是____。4.有以下程序:
#include
{ int c;
while((c=getchar())!='\\n') { switch(c-'2') { case 0:
case l:putchar(c+4);
case 2:putchar(c+4);break; case 3:putchar(c+3);
default:putchar(c+2);break;
9
} }}
若执行时从键盘上输入2473
5.若x是int型变量,请写出\是偶数则为真\的表达式____。 6.x,y,z均为整型变量,请写出描述\或y等于z\的表达式____。
7.已知a=3,b=03,c='0',则表达式a>b&&a>c||b>c&&a>c的值为____。
8.以下程序的功能是:输入圆的半径,和运算标志,按照运算标志进行运算,输出运算后的结果。请在下划线处填入合适内容。
标志 指定运算 'a'或'A' 求面积 'b'或'B' 求周长
其他值 求周长,面积 #include
{ char c;
float r,area,length;
seanf(\%c,%f\,&c,&r); switch(____) {case 'a':
case 'A':area=P*r*r;printf(\%f\,area);break; case 'b':
case 'B':length=2*P*r;
printf(\%f\,length); 10
——;
default:area=P*r*r; length=2*P*r;
printf(\%d,length=%f\,area,length);
9.以下程序的功能是:从键盘上接受三个十进制整型数据,对这三个数据进行从小到大的排序,输出排序后的数据。请完成该程序。
#include
{int x,y,z,i;
scanf(\%d,%d,%d\,&x,&y,&z); if(____){i=x;x=y;y=i;} if(____){i=y;y=z;z=i;} if(____){i=x;x=z;z=i;}
printf(\%d,%d,%d\\n\,x,y,z);}
10.以下程序的功能是:从键盘输入一年份数据,判断此年份是否为闰年。其中判断闰年的条件是:能被4整除但不能被100整除,或能被400整除。请填空完成该程序。
#include
{int x,i;
seanf(\%d\,&x); if(x%400= =0) i=1; else if(____) i=1; else____;
if(i= =1) printf(\;
if(i= =0) printf(\;}
11.现要根据学生的成绩,将学生划分为A,B,C,D,E五个等级,其对应的关系已用if语句写出如下(其中整型变量result存放学生成绩,字符型变量grade存放学生等级):
if(result<60) grade='E';
else if(result<70) grade='D'; else if(result<80) grade='C'; else if(result<90) grade='B';
else if(result<=100) grade='A';
现要将上述关系写成switch语句如下,请在下划线处填入正确内容.
switch( )
{case 6:grade='D’;break; case 7:grade='C';break; case 8:grade='B';break; case 9:
case 10:grade='A';break; ____:grade='E';}
12.假设公民交纳个人所得税的税率如下(a代表个人收入,r代表税率):
r= 0 (a<1000) r=5% (1000<=a<2000) r=10% ( 2000<=a<3000) r=15% (3000<=a<4000) r=20% (a>=4000)
以下程序要求从键盘上输入个人收入,根据以上的税率计算出应付的税金并输出。请 完成该程序。
#include
{float a,b; . int i;
scanf(\%f\,a); if(a>=4000)i=4; else i=____; switch(i)
{case 0:b=a*0.0;break; case 1:b=a*0.05;break; case 2:b=a*0.10;break; case 3:b=a*0.15;break; case 4:b=a*0.20;break;} printf(\%f\,b);} 第六章 循环控制 单项选择题
1.有以下程序片段,请问执行后的输出结果是 int i;
for (i=1;;i++);
printf(“%d”,i++);
A)1 B)2 C)3 D)陷入死循环,无输出结果
11 2.下面有关for语句的说法中,正确的是
A)任何情况下,for语句的三个表达式一个都不能少 B)for语句中的循环体至少会被执行一次
C)for语句只能用于循环次数已经确定的情况下 D)for语句中的循环体可以是复合语句 3.下面程序的输出是 main()
{int y=9;
for(;y>0;y--) if(y%3= =0)
{printf(“%d”,--y);continue;}} A)741 B)852 C)963 D)875421 4.请读程序:
#include
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20) break;
if(b%3= =1){b+=3;continue;} b=-5;}
printf(“%d\\n”,a);} 上面程序的输出结果是
A)7 B)8 C)9 D)10 12
5.请读程序
#include
{int num=0;
while(num++<=2)
{printf(“%d\\n”,num);}} 上面程序的输出结果是
A) 1 B) 1 C) 1 D)1 2 2 2 3 3 4
6.执行下面程序片段的结果是 int x=0; do
{printf(“-”,x--);} while(x);
A)打印出321 B)打印出23 C)打印不确定结果 D)陷入死循环 7.下面的程序,描述正确的是 main()
{int x=3; do
{printf(“%d\\n”,x-=2);} while(!(--x));}
A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环
相关推荐: