第5章循环结构程序设计_第1页
第5章循环结构程序设计_第2页
第5章循环结构程序设计_第3页
第5章循环结构程序设计_第4页
第5章循环结构程序设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章循环结构程序设计

1.单项选择题

(1)for(i=1;i<9;i+=1);该循环共执行了B次。A.7B.8C.9D.10

⑵inta=2;whiIe(a=0)a—;该循环共执行了A次。A.OB.1C.2D.3

⑶执行完循环for(i=l;i〈100;i++);B,i的值为

BA.99B.100C.101D.102(4)以下for语句中,书写错误的是Do

A.for(i=l;i<5;i++);B.i=l;for(;i<5;i++);C.for(i=l;i<5;)i++;D.

for(i=l,i<5,i++);

(5)C语句,在循环条件初次判断为假,还会执行一次循环体。

A.forB.whileC.do-whileD.以上都不是(6)循环结构的特点是Co

A.从上至下,逐个执行B.根据判断条件,执行其中一个分支C.满足

条件时反复执行循环体D.以上都对

(7)C语言while语句中,用于条件的表达式是Do

A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式

(8)inta=l,某=1;循环语句while(aGO)某++;a++;的循环执行AoA.

无限次B.不确定次C.10次D.9次⑼下列程序段执行后的值为A

inti=l,=0;whilc(i++)if(!(i%3))break;ele+=i;A.2B.3C.6D.以上均

不是(10).设有程序段intk=10;

while(k==0)k=k-l;

则下面描述中正确的是C

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

C.循环体语句一次也不执行D.循环体语句执行一次(11),设有以下程

序段int某二0,二0;

while(某!=0)+=++某;printf(%d,);

则下面描述中正确的是Ao

A.运行程序段后输出0B.运行程序段后输出1

C.程序段中的控制表达式是非法的D.程序段执行无限次

(12).下面程序的功能是将从键盘输入的一对数,由小到大排序输出,

当输入一对相等数时结束循环,请选择填空。#includeintmain(){

inta,b,t;

canf(%d%d,&a,&b);while(B){

if(a>b)

{t=a;a=b;b=t;}

printf(%d,%d\n,a,b);canf(%d%d,&a,&b);}

rerurnO;}

A.!a=bB.a!=bC.a==bD.a=b

(13),下面程序的功能是将从键盘输入的一组字符中统计出大写字母

的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

#includeintmain(){

intm=0,n=0;chare;

while((A)!='\n'){

if(c>='A'&&c<=2)m++;if(c>='a'&&c<='z')n++;}

printf(%d\n,m

2

A.c二getchar()和n:mB.getchar()和m:n

C.canf(%c,c)和m:nD.以上都正确

(14).下面程序的功能是在输入的一批正整数中求出最大者,输入0结

束循环,请选择填空。#includeintmain(){

inta,ma某=0;

canf(%d,&a);while(B){

if(ma某

printf(%d,ma某);return。;}

A.a==0B.aC.!a==lD.!a

(15).下面程序的运行结果是CttincludeintmainO{

intnum=0;while(num<=2){

num++;

printf(%d\n,num);}

rerurnO;}

A.1B.1C.1D.1222334

3

(16).C语言中while和do-while循环的主要区别是A。A.do-while

的循环体至少无条件执行一次

B.while的循环控制条件比do-while循环控制条件严格C.do-while

允许从外部转到循环体内D.do-while的循环体不能是复合语句(17).以下

程序段C某二-l;do

{某二某某某;}while(!某);

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

下能正确计算1某2某3某…某10的程序段是CA.doB.do{{

日;=1;仁1;二0;二某i;=某i;i++;i++;}}

while(i<=10);while(i<=10);C.i=l;=1;D.i=l;=0;dodo{{

二某i;=某—++;}}

while(i<=10);while(i<=10);

(19).下面程序的功能是计算正整数2345的各位数字平方和,清选择

填空。#includeintmain(){

intn,um=0;n=2345;do

4

{

um=um+B;n=B;}

while(n);

printf(um=%d,um);rerurnO;}

A.n和.n/1000B.(n)某(n)和n/lOC.n/10和n/lOOD.(n/10)某(n/10)

和n(20).以下描述中正确的是Co

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

环体内不能使用复合语句

B.do-while循环由do开始,用while结束,在while(表达式)后

面不能写分号

C.在do-while循环体中,一定要有能使while后面表达式的值变为

零(假)的操作

D.do-while循环中,根据情况可以省略while(21).若i为整型变量,

则以下循环执行次数是Bofor(i=2;i=0;)pFintf(%d,i--);A.无限次B.0

次C.1次D.2次(22).下面有关for循环的正确描述是D。A.for循环只能

用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表

达式C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起

来(23).对for(表达式1;;表达式3)可理解为B。A.for(表达式1;0;表达

式3)B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达

式3)

(24).下面程序的功能是计算1至50中是7的倍数的数值之和,请选

择填空。#include

5

intmainO{

inti,um=O;

for(i=l;i<=50;i++)if(D)um+=i;printf(%d,um);returnO;}

A.(int)(i/7)=i/7B.(int)i/7=i/7Ci%7=0D.i%7=0(25).以下正确

的描述是Bo

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和witch语句体内使用break语句C.在循环体内

使用break语句或者continue语句作用相同D.从多层循环嵌套中退出时,

只能使用goto语句使6).下面程序段Dofor(t=l;t<=100;t++){

canf(%d,&某);if(某<0)continue;printf(=,t);}

A.当某<0时整个循环结束B.某>二0时什么也不输出

C.printf函数永远也不执行D.最多允许输出100个非负整数(27).与

下面程序段等价的是Cofor(n=100;n<=200;n++){

if(n%3=0)continue;printf(M,n);}

A.for(n=100;(n%3)&&n<=200;n++)printf(M,n);

B.for(n=100;(n%3)||n<=200;n++)printf(M,n);

6

C.for(n=100;n<=200;n++)if(n%3!=0)printf(M,n);

D.for(n=100;n<=200;n++){

if(n%3)printf(M,n);elecontinuc;break;}

(28).下面程序的运行结果是AottincludeintmainO(

inti;

for(i=l;i<=5;i++){

if(i%2)printf(某);elecontinue;printf(#);}

printf($\n);returnO;}

A.某#某#某#$8.#某#某#某$仁某#某#$0.#某#某$(29).下面程序的运

行结果是Ao#includeintmain(){

inti,j,a=0;

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

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

if(j%2)break;

7

a++;}a++;}

printf(%d\n,a);rerurnO;}

A.4B.5C.6D.72.填空题

(1)三种循环语句是等价的。

⑵当循环体中的witch语句内有break语句,则只跳出witch语句。

同样,当for语句中有循环语句,内有break语句,则只跳出for语句。

⑶循环体执行遇到continue语句时提前结束本次循环进行下一次循环是

否进行的判断。

(4)下列程序的功能是输入一个正整数,判断是否是素数,若为素数

输出1,否则输出0,请为程序填空。intmainO{

inti,某

for(i=2;i<=X/2;i++)if(^%i—0){

y=0;break;}

printf(eturnO;}

(5)输入N个实数,输出其中的最大值、最小值。

#includeintmain(){

8

floatnol,nma某

nma某二nol;for(i=2;i〈=n;i++){

if(nol>nma某)nma某二nol;}

printf(eturnO;}

(6)输入若干个字符,分别统计数字字符的个数、英文字母的个数,

当输入换行符时输出统计结果,运行结束。ftinc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论