c语言习题册及答案 下载本文

.

b= 【6】 ; x/10 c= 【7】 ; x/100 y=a*100+b*10+c;

printf(“y=%d\\n”,y);}

3.输入百分制成绩,要求输出成绩的等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。 #include “stdio.h” void main( ) { float score;

【11】 ; char grade

printf(“请输入学生成绩:”); scanf(“%f”,&score);

switch( 【12】 ) (int)(score/10) { case 10:

case 9 : grade=’A’;break; case 8 : grade=’B’;break; case 7 : grade=’C’;break; case 6 : grade=’D’;break; case 5 : case 4 : case 3 : case 2 : case 1 :

case 0 : grade=’E’;}

printf(“成绩是%5.1f,相应的等级是%c。\\n”,score,grade); } 五、编程题

1.从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其它字符,则原样输出。 .(x?1)?x..........2 .有一函数 ?y??2x?1....(1?x?10) ?3x?11...(x?10)?

写一程序,输入x,输出y值。

3.征税的办法如下:收入在800元以下(含800元)的不征税;收入在800元以上,1200元以下者,超过800元的部分按5%的税率征税;收入在1200元以上,2000元以下者,超过1200元的部分按8%的税率征税;收入在2000元以上,2000元以上部分按20%的税率征税,试编写按收入计算税费的程序。

.

.

作业05 循环结构

一、选择题

1.下列程序执行后的输出结果是( )。 void main() { int k=5;

while(--k) printf(“%d”,k-=3); printf(“\\n”); }

A)1 B)2 C)4 D)死循环 2.有下列程序段: int n,t=1,s=0;

scanf(“%d”,&n) ;

do{s=s+t ;t=t-2 ;}while(t !=n) ;

为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 3.若变量已经正确定义,有下列程序段输出结果是( )。 i=0;

do printf(“%d,”,i); while(i++); printf(“%d\\n”,i);

A)0,0 B)0,1 C)1,1 D)程序进入无限循环 4.若如下不构成无限循环的语句或语句组是( )。 A)n=0; B)n=0;

do{++n;}while(n<=0); while(1) {n++;}

C)n=10; D)for(n=0,i=1; ;i++) while(n);{n--;} n+=i;

5.设变量已经正确定义,则以下能正确计算f=n!的程序段是( )。 A)f=0; B)f=1;

for(i=1;i<=n;i++)f*=i ; for(i=1;i

for(i=n;i>1;i++)f*=i; for(i=n;i>=2;i--)f*=i; 6.下列程序的运行结果是( )。 #include void main()

{ int i,j,m=55;

for(i=1;i<=3;i++)

for(j=3;j<=i;j++) m=m%j; printf(“%d\\n”,m); }

A)0 B)1 C)2 D)3

.

.

7.下列程序的运行结果是( )。 #include void main() { int x=8;

for(;x>0;x--)

{ if(x%3) {printf(“%d,”,x--);continue;} printf(“%d,”,--x); }

}

A)7,4,2 B)8,7,5,2 C)9,7,6,4 D)8,5,4,2, 8.下列程序执行后的输出结果是( )。 void main()

{ int i,j,x=0;

for(i=0;i<2;i++) { x++;

for(j=0;j<=3;j++) {if(j%2) continue; x++;} x++;}

printf(“x=%d\\n”,x); }

A)x=4 B)x=8 C)x=6 D)x=12 9.下列程序的输出结果是( )。 void main() { int a=1,b;

for(b=1;b<=10;b++) { if(a>=8) break; if(a%2= =1)

{a+=5;continue;} a=3; }

printf(“%d\\n”,b); }

A)3 B)4 C)5 D)6 10.若有如下语句,则程序段( )。 int x=6;

do{printf(“%d\\n”,x-=2);} while(--x);

A)输出的是1 B)输出的是4和1 C)输出的是3和0 D)是死循环 11.下面程序段的输出结果是( )。 a=1;b=2;c=2;

while(a

.

.

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

A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 12.下面程序的输出结果是( )。 #include void main()

{ int x=10,y=10,i; for(i=0;x>8;y=++i)

printf(“%d %d”,x--,y); }

A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1 13.在while(x)语句中的x与下面条件表达式等价的是( )。 A)x= =0 B)x= =1 C)x!=1 D)x!=0 14.下面的for语句的循环次数为( )。 for(x=1,y=0;(y!=123)&&(x<4);x++);

A)是无限循环 B)循环次数不定 C)循环执行4次 D)循环执行3次 15.执行下面程序片段的结果是( )。 int x=23;

do{ printf(“%d”,x--); }while(!x);

A)打印出321 B)打印出23 C)不打印任何内容 D)陷入死循环 16.以下程序执行结果是( )。 #include int a=3; void main() {int s=0; {int a=5; s+=a++;}

s+=a++;printf(“%d\\n”,s);}

A)8 B)10 C)7 D)11 17.以下循环体的执行次数是( )。 #include void main() { int i,j;

for(i=0,j=1;i<=j+1;i+=2,j--) printf(“%d\\n”,i); }

A)3 B)2 C)1 D)0 18.如下程序段的输出结果是( )。 #include void main() { int n=9;

.