作业:第3章 控制流练习题

布置者:
作业描述:

一、           选择题

1、在while(!a)中,其中!a与表达式(            )等价

       Aa==0             Ba==1             Ca!=1              Da!=0

2、设整型变量x的当前值是3,执行以下循环语句后,输出的结果是(          

       do

                     printf(“%d”,x-=2);

       while(!(--x));

       A0            B1     -2           C3     0            D、死循环,输出许多值

3、对下面三条语句,正确的论断是(                 

       1if(a)s1; else s2; (2)if(a==0) s2;  else s1;          (3)if(a!=0) s1;  else  s2;

       A、三者相互等价           B、三者相互不等价              C、只有(2)和(3)等价

       D、以上三个说法都不正确

4、对于for(表达式1;;表达式3)可理解为(                )

       Afor(表达式10;表达式3)                Bfor(表达式11;表达式3)

       Cfor(表达式1;表达式1;表达式3)   Dfor(表达式1;表达式3;表达式3)  

5、执行以下程序段的输出是(            )

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

              {     if(i%3==0)   break;

                     printf(“%d”,i);}

       A1 2 3 4 5 6                  B1 2 4 5        C1 2 3            D1 2

6、执行以下程序段的输出是(        

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

       {     if(i%3==0)   continue;      printf(“%d”,i);}

       A1 2 3 4 5 6                  B1 2 4 5         C1 2 3            D1 2

二、阅读程序题

1、当前整型变量i的值是10,执行下列switch语句后,i的值是____________

       switch(i)

       {     case 9:   i+=1;

              case 10:  i+=1;

              case 11:  i+=1;

              default:  i+=1;}

2、若整型变量w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x的值为__________

****3、若有程序

main()

{     int i=1;

while(i++<5);      printf(“%d”,i);}运行后的输出结果是___________

4main()

{     int a,b,c;       a=2;b=3;c=1;

if(a>b)

if(a>c)   printf(“%d”,a);

else printf(“%d”,b);

printf(“end”);}输出结果为______________

5main()

{     int a,b,c;       a=2;b=3;c=1;

if(a>b)

{if(a>c) printf(“%d”,a);}

else printf(“%d”,b);

printf(“end”);}___________

三、完善程序题

       1、用0~9之间不同的数字构造所有可能的三位数(即个位、十位和百位上的数字各不相同),并统计出共有多少种。

       main()

       {     int i,j,k,count=0;

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

                     for(j=0;j<=__________________;j++)

                            if(___________________)continue;

                            else for(k=0;k<=9;k++)

                                          if_________________________

                                          {     printf(“%d,”,100*i+10*j+k);

                                                 count++;}

              printf(“\nTotal=%d”,count);}

       2、求f(x)=-x2/2!+x4/4!-x6/6!+x8/8!……,要求精度为十万分之一。

       #include<math.h>

       void main()

       {     double x,y,t;

              int n=0;  printf(“Input x:”);

              scanf(“%f”,&x);

              t=1;

              _______________________;

              while(fabs(t)>1e-6)

              {     n++;

                     t=___________________________________;

                     y+=t;}

              printf(“f(%f)=%f”,x,y);}

四、编程

1、利用三种循环计算1+2+3+……+100的值

 

 

2、输出九九乘法表

       1*1=1

       1*2=2    2*2=4

       1*3=3    2*3=6    3*3=9

       ……

 

3、求两个正整数的最大公约数和最小公倍数

 

 

 

 

4、求出所有水仙花数

 

 

 

 

5、找出100以内的所有完数

各个小于它的约数(真约数)的和等于它本身的自然数叫做完全数Perfect number),又称完美数完备数。(列出某数的约数,去掉该数本身,剩下的就是它的真约数)

第一个完全数是6,它有约数1236,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数12471428,除去它本身28外,其余5个数相加,1+2+4+7+14=28

 

 

 

6、从键盘上输入3个整数,输出其中的最大值

 

 

 

 

7200611是星期一,设计程序,输入2007年的月份和日期,计算该天是星期几

 

开始时间:2016-04-13 12:00结束时间:2016-04-22 12:00
满分:100分重复提交: 不允许

作业提交信息

作业提交列表