第5章循环控制结构作业.docx

上传人:b****6 文档编号:6425378 上传时间:2023-01-06 格式:DOCX 页数:17 大小:24.02KB
下载 相关 举报
第5章循环控制结构作业.docx_第1页
第1页 / 共17页
第5章循环控制结构作业.docx_第2页
第2页 / 共17页
第5章循环控制结构作业.docx_第3页
第3页 / 共17页
第5章循环控制结构作业.docx_第4页
第4页 / 共17页
第5章循环控制结构作业.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

第5章循环控制结构作业.docx

《第5章循环控制结构作业.docx》由会员分享,可在线阅读,更多相关《第5章循环控制结构作业.docx(17页珍藏版)》请在冰豆网上搜索。

第5章循环控制结构作业.docx

第5章循环控制结构作业

第5章循环控制结构

一、单选题

1、下列循环的输出结果是(B)

#include

intmain()

{intn=10

while(n>7)

{n--;

printf("%d\n",n);

}

}

 A.1098  B.987  C.10987  D.9876

2、以下程序的输出结果是(A)

#include

intmain()

{intn=4;

while(n--)printf("%d",--n);

}

  A.20  B.31  C.321  D.210

3、设有以下程序段,则下面描述中正确的是(C)

#include

intmain()

{intk=10;

while(k==0)k=k-1;}

A.while循环执行10次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

4、有以下程序段,while循环执行的次数是(C)

#include

intmain()

{intk=0;

while(k=1)k++;}

  A.无限次  B.有语法错,不能执行  C.一次也不执行  D.执行一次

  

5、设K为整形,则下面的while循环执行(B)次

#include

intmain()

{intk=2;

while(k==0){printf("%d",k);k--;}

printf("\n");

}

A.无限次B.0次C.1次D.2次

6、读程序,输出结果是(C)

#include

intmain()

{intnum=0;

while(num<=2)

{num++;printf("%d",num);}

}

A.1B.22C.123D.1234

7、下面程序段的运行结果是(A)

#include

intmain()

{inta,b,c;

a=1;b=2;c=2;21112

while(a

printf("%d,%d,%d",a,b,c);

}

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

8、假定a和b为int型变量,则执行以下语句后b的值为D

#include

intmain()

{inta=1,b=10;

do

{b=b-a;a++;}

while(b-->0);

}

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

9、以下程序段____C__

#include

intmain()

{intx=-1;

do{x=x*x;}

while(!

x);

}

  A.是死循环  B.循环执行二次  C.循环执行一次  D.有语法错误

 

10、有如下程序,该程序的执行结果是(B)

#include

intmain()

{intx=23;

doprintf("%d",x--);

while(!

x);

}

  A.321  B.23  C.不输出任何内容  D.陷入死循环

11、执行以下程序后,输出的结果是(D)

#include

intmain()

{inty=10;

do{y--;}

while(--y);

printf("%d\n",y--);

}

A.-1B.1C.8D.0

12、若输入字符串:

abcde<回车>,则输出为(D)

#include

intmain()

{charch;

while((ch=getchar())=='e')printf("*");

}

A.*B.***C.****D.空

13、如果输入为:

ABCdef,执行下面一段程序后,则输出为(B)

#include

intmain()

{charch;

while((ch=getchar())!

='\n')

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<'z')ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

A.ABCdefB.abcDEFC.abcD.DEF

14、以下描述中正确的是(C)

A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作

D.do-while循环中,根据情况可以省略while

15、以下叙述正确的是(D)

  A.do-while语句构成的循环不能用其它语句构成的循环来代替。

  B.do-while语句构成的循环只能用break语句退出。

  C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。

  D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

918

16、以下程序的输出结果是(D)

#include

intmain()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x--,y) ;

}

  A.10192  B.9876  C.10990  D.101091

17、若i为整型变量,则以下循环执行次数是(B)

#include

intmain()

{inti;

for(i=2;i==0;)printf("%d",i--);

}

A.无限次B.0次C.1次D.2次

18、以下循环体的执行次数是(C)

#include

intmain()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)0

printf("%d\n",i);

}

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

19、设i,j为int型变量,则下面for循环语句的执行结果是(B)

#include

intmain()

{inti;

for(i=10,j=0;j<2;j++)

{if(i%3)i--;--i;--i;

printf("%d",i)}

}

A.63B.74C.62D.73

20、下面程序的输出是(B)

#include

intmain()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf("%d",--y);continue;}

}

A.741B.852C.963D.875421

21、有以下程序,其输出结果是(C)

#include

intmain()

{intx,i;

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

{x=i;

if(x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d",i);

}

}

A.28B.27C.42D.41

22、执行下面的程序后,a的值为(C)

#include

intmain()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b-=2;continue;}b=4710

b+=5;

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

}

}

A.11B.15C.12D.13

23、执行下面的程序后,a的值为(B)

#include

intmain()

{inta,b;

for(a=1,b=1;a<100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;

}

}

A.7B.8C.9D.10

24、若x是int型变量,以下程序段的输出结果是()。

#include

intmain()

{intx;

for(x=3;x<6;x++)

printf((x%2)?

(”**%d”):

(”##%d\n”),x);

}

A.**3##4**5B.##3**4##5

C.##3**4##5D.**3##4**5

25、以下程序的输出结果是()

#include

intmain()

{inti;

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

{if(i%2){printf("#");continue;}

printf("*");}

printf("\n");

}

  A.#*#*#  B.#####  C.*****  D.*#*#*

 

26、下面程序段的运行结果是()

#include

intmain()

{intx=3;

do{pfintf(“*_*”);x--;}

while(x);

}

  A.*_*  B.***  C.**_**_**  D.*-**_**_*

27、以下程序的输出结果是()

#include

intmain()

{inta=0,i;

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

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;}

}

printf("%d\n",a);

}

A.31B.13C.10D.20

28、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为()

#include

intmain()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'0':

v2++

}

}

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

29、若i,j已经定义为int类型,则以下程序段中内循环总的执行次数是()

#include

intmain()

{inti,j;

for(i=5;i>0;i--)

for(j=0;j<4;j++){...}

}

A.20B.24C.25D.30

30、有以下程序,输出结果是()

#include

intmain()

{inti,j;

for(j=10;j<11;j++)

{for(i=9;i

if(!

(j%i))break;

if(i=j-1)printf("%d",j);

}

}

  A.11  B.10  C.9  D.1011

二、分析程序

1、输入1,输出()

#include

intmain()

{intsum=0,i;

scanf("%d",&i);

while(i<=10)

{sum=sum+i;

i++;}

printf("%d",sum);

}

2、以下程序的输出结果是()

#include

intmain()

{intX=15;

while(X>10&&x<50)

{X++;

if(x/3){X++;break;}

elsecontinue;

}

printf(”%d\n”,X);

}

3、以下程序的输出结果是()

#include

intmain()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i)

printf("%d\n",s);

}

4、以下程序的输出结果是()

#include

intmain()

{intx=2;

while(x--);

printf("%d\n",x);

}

 

5、下述程序的运行结果是()

#include

intmain()

{ints=0,k;

for(k=7;k>4;k--)

{switch(k)

{case1:

case4:

case7:

S++;break;

case2:

case3:

case6:

break;

case0:

case5:

s+=2;break;

}

}

}

6、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()

#include

intmain()

{inti,j;

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

}

7、程序运行后,如果从键盘上输入1298;则输出结果为()

#include

intmain()

{intn1,n2;

scanf("%d",&n2);

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

三、程序填空

1、求输入100个数中正数的个数及其平均值

#include

intmain()

{inti,n;

floatsum,f;

n=0;

1;

for(i=0;i<=100,i++)

{printf("enterarealnumber:

";

scanf("%f",&f));

if2

continue;

3;

n++;}

printf("sum=%f",sum);

printf("arerage=%f",sum/n);}

}

2、下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空。

#include

#include

intmain()

{inta,b,c,i;

a=c=0;

for(i=0;i<10;i+=2)

{a+=i;

1;

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11);

}

3、读入一个1到9的数a,求s=a+aa+aaa+…+aa…a(共20项)。

请对下述程序填空,其中temp保存当前处理项aa…a。

(每个空分别以序号标注,如:

(1)____)

#include

#include

intmain()

{inti;

longa,s,temp;

s=temp=0;

printf("Pleaseenteranumber(1-9)");

scanf

(1);

s=a;

for(i=1;2;3)

4、读以下程序说明和c程序填空

程序说明:

本程序判断m是否为素数。

程序:

#include

intmain()

{intm,i,k;

scanf("%d",1);

k=____2______;

for(i=2;i<=k;i++)

if(____3_______)break;

if(____4______)printf("%d是素数\n",m);

elseprintf("%d不是素数\n",m);

}

5、下列程序的功能是:

求100-200之间的不能被3整除的数输出,请填空:

#include

intmain()

{intn;

_____1_____;

{if(n%3==0)

continue;

printf("%d",n);

}}

四、程序设计(挑简单的做,不会做得可以不做)

1、输出99乘法表。

2、输入一个正整数,各输出n行的正(倒)三角形宝塔图案。

3、打印出如下图案(菱形)。

提示:

先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

4、输入n个整数,求这n个数中偶数的平均值并输出。

5、编程序求1~55的平方根的和并输出结果。

(保留小数点两位)

6、编程序求1~50所有整数的平方和并输出结果。

7、编程序求2+4+8+16+32+…这样的数之和。

如果累加数大于5000时,则程序终止并输出结果。

8、求1到20的阶乘的和。

9、编程序求出1-4000以内能被3或者11整除数的个数。

10、输出1~999中能被3整除,而且至少有一位数字是5的所有数字。

11、一个整数等于该数所有因子之和,则称该数是一个完数。

例如,6和28都是完数,因为6=1+2+3,28=1+2+4+7+14。

输出1000以内所有的完数。

12、本程序演示打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1^3+5^3+3^3。

试求有多少个水仙花数?

   利用for循环控制100-999个数,每个数分解出个位,十位,百位。

13、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。

14、编写程序,将一个不大于256的十进制正整数转化为8位的二进制数,若不足8位,则在前面补0,例如十进制数2转化位8位二进制数后是00000010,37转化后是00100101。

试求出十进制数5、23、189转化位8位二进制分别是多少?

(要求必须使用循环语句实现)

15、设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?

16、有36个学生一起买小吃,共花钱120元,其中每个大学生花4元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)?

17、把18元钱分成一元、二元和五元的纸币且纸币数共为10张的分法有多少种?

(注:

在兑换中一元、二元、五元的纸币数可以为0)。

18、爱因斯坦数学题。

有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,则正好1阶不剩。

求台阶共有多少阶。

19、猴子吃桃问题。

猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,有多吃了一个;第2天早上又将剩下的桃子吃掉一半,又多吃一个。

以后每天早上都吃了前一天的一半零一个。

到第10天早上再想吃时,就只剩下一个桃子了。

求第一天共摘了多少个桃子。

20、

用二分法求下面方程在(-10,10)之间的根:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1