搜档网
当前位置:搜档网 › 第六章 循环结构(含答案)

第六章 循环结构(含答案)

第六章 循环结构(含答案)
第六章 循环结构(含答案)

第六章循环控制

一、选择题

1.while (!E);语句中,条件表达式等价于【 A 】。

A. E==0

B. E!=1

C. E!=0

D. E==1

2.下面程序的运行结果是【 C 】。

int n=0;

while(n++<=2);

printf(“%d”,n);

A. 2

B. 3

C. 4

D. 有语法错

3.下面程序段的运行结果是【 A 】。

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

while (a

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

A. 1, 2, 0

B. 2, 1, 0

C. 1, 2, 1

D. 2, 1, 1 4.C语言中,while与do-while循环的主要区别是【 A 】。

A. do-while的循环体至少无条件执行一次

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

C. do-while允许从外部转到循环体内

D. do-while的循环体不能是复合语句

5.对for (表达式1;;表达式3 )可理解为【 B 】。

A. for (表达式1;0;表达式3)

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

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

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

6.以下for循环体执行的次数是 (6) C 。

for (x=0,y=0; (y=123) && (x<4);x++);

A. 为无限次循环

B. 循环次数不定

C. 4次

D. 3次

7.下列不是死循环的是【 D 】。

A. int i=100; while (1) { i=i%100+1;

if (i>100) break; }

B. for ( ;;);

C. int k=0; do {++k;} while (k>=0);

D. int s=36;

while (s);――s;

8.执行语句for (i=1;i++<4;);后i的值为【 C 】。

A. 3

B. 4

C. 5

D. 不定

9.下列程序段的输出结果是【 B 】。

int x=3;

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

A. 1

B. 1 -2

C. 3,0

D. 是死循环

10.以下四个关于C语言的结论中,只有一个是错误的,它是【 D 】。

A. 可以用while语句实现的循环一定可以用for语句实现

B. 可以用for语句实现的循环一定可以用while语句实现

C. 可以用do-while语句实现的循环一定可以用while语句实现

D. do-while语句与while语句的区别仅是关键字“while”出现的地方不同

二、填空题

11.执行下面程序段后,k值是【 36 】。

k=1; n=263;

do

{

k*=n%10;

n/=10 ;

} while(n);

12.鸡兔共有30只,脚共有90个,下面的程序段是计算鸡兔各有多少只

for ( x=1;x<=29;x++ )

{ y=30—x;

if ( x*2+y*4= =90 )

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

}

13.下面程序的运行结果是 x=1,y=20 。

main ( )

{ int i,x,y; i=x=y=0;

do { ++ i;

if(i%2!=0) {x=x+i; i++; }

y=y+i++;

} while(i<=7);

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

}

14.下面程序的运行结果是********# 。

main ( )

{ int i,j=4;

for(i=j;i<=2*j;i++)

switch(i/j)

{ case 0:

case 1: printf (“**”); break;

case 2: printf (“#”);

}

}

15.以下程序段的功能:从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

int n=0,c;c=getchar( );

while ((c!=‘\n’ )

{ if (c>=‘0’&&c<=‘9’ )

n++;

c=getchar( );}

16.下面程序的输出结果是 i=6,k=4 。

main( )

{ int i,j,k=19;

while( i=k-1)

{ k-=3;

if(k%5==0)

{i++;continue;}

else

if(k<5) break;

i ++;

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

}

17.填空完成下面程序,其功能是打印100以内个位数为6且能被3整除的所有数。

main( )

{ int i,j;

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

{ j=i*10+6;

if (j%3= =0 )

continue;

printf(%d”,j);

} }

18.下面程序的运行结果是 2,5,8,11,14

main( )

{ int i=1;

while(i<=15)

if(++i%3!=2)

continue;

else

printf(“%d”,i);

printf(“\n”);

}

19.完善下面程序,其功能是计算100至1000之间有多少个数其各位数字之和是5。

main( )

{ int is,k,count=0;

for(i=100;i<=1000;i++)

{s=0;k=i;

while ( k!=0 )

{

s=s+k%10; k=k/10 。;

}

if (s!=5) continue ;

else count++;

}

printf(%d”,count);

}

20.填空完成下面程序,其功能是从3个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。

void main( )

{ int i,j,k;

printf(“\n hong bai hei \n”);

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

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

{ k=8-i-j;

if ( )

printf (“%3d %3d %3d \n”,i,j,k);

}

}

21.下面程序的运行结果是3,1,-1 。

#include

main ( )

{ int i=5;

do {

switch (i%2)

{ case 4: i――; break;

case 6: i――; continue;

}

i――; i――;

printf (“%d,”, i );

} while (i>0);

}

第6章 循环结构程序设计

第6章循环结构程序设计 【计划课时】授课6课时+上机4课时 6.1 概述 循环是在循环条件为真时计算机反复执行的一组指令(循环体)。 循环控制通常有两种方式: ·计数控制——事先能够准确知道循环次数时用之 用专门的循环变量来计算循环的次数,循环变量的值在每次执行完循环体各语句后递增,达到预定循环次数时则终止循环,继续执行循环结构后的语句。 ·标记控制——事先不知道准确的循环次数时用之 由专门的标记变量控制循环是否继续进行。当标记变量的值达到指定的标记值时,循环终止,继续执行循环结构后的语句。 在C语言中可用以下语句构成循环: if … goto while do … while for 6.2if … goto语句循环结构P106 goto是一种无条件转向语句。 一般形式: goto标号; if … goto 可构成当型/直到型循环结构(尽量少用,以提高程序可读性/结构性)。 【例一】 { int n=0,sum=0; loop: sum+=n; ++n; if (sum<=10000) goto loop; printf(“n = %d\n”,n); }

6.3 while 语句循环结构 P107 一般形式 while (条件表达式) 循环体; 用于构成当型循环:先判断后执行/条件为真继续循环,直到条件为假时结束循环。 【注意】条件表达式或循环体内应有改变条件使循环结束的语句,否则可能陷入“死循环”。 【例一】 main() { int n=0; while (n<=2) { n++; printf(“%d”,n); } } 结果:123 【讨论】若去while 语句中的{},结果:3;若将n++移到printf 语句中,结果:012 【例二】 int n=0; while (n++<=2); printf(“%d”,n); 结果:4 【讨论】n=3时,while 条件为假,结束循环,但比较后n 自加了一,所以n=4。 【例三】 main() { int i=0; while (1) { printf(“*”); i++; 【例二】 main() { int n=0,sum=0; loop: if (sum>=10000) goto end; sum+=n; ++n; goto loop; end: printf(“n = %d \n”,n); }

软件工程第六章答案

精心整理 作业4参考答案 1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎样利用它们完成IF_THEN_ELSE操作?

ENDIF 3.画出下列伪码程序的程序流程图和盒图: START IFpTHEN WHILEqDO f g n (2 4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的? (2)设计一个等价的结构化程序。

(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag 的程序。 答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个 (2 (3)不使用flag把该程序改造为等价的结构化程序 的方法如图4-4所示。 图4-4与该图等价的结构化程序(不用flag)5.研究下面的伪代码程序: LOOP: SetIto(START+FINISH)/2

IfTABLE(I)=ITEMgotoFOUND IfTABLE(I)ITEMSetFINISHto(I-1) If(FINISH-START )>1gotoLOOP IfTABLE(START)=ITEMgotoFOUND 入口和一个出口,而该程序的流程途中有两个出口。(3)等价的结构化程序的流程图如下:

(4)此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺序排好的有序序列。 6.用Ashcroft_Manna技术可以将非结构化的程序转化为结构化程序,图6.19是一个转换的例子。 (2)进一步简化后的结构化程序的流程图如下所示。

第六章循环控制概要

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

6 循环控制

6 循环控制 一、单项选择题 1、for(i=1;i<9;i+=1);该循环共执行了(C)次。 A. 7 B. 8 C. 9 D. 10 分析:第一次i=1,i<9,i+1=2; 第二次i=2,i<9,i+1=3; …… 第八次i=8,i<9,i+1=9 第九次i=9,i<9不满足,跳出循环。 2、int a=2;while(a=0) a--;该循环共执行了(A)次。 A. 0 B. 1 C. 2 D. 3 分析:a=2不满足初始条件a=0,直接跳出循环,不执行a--。 3、执行完循环 for(i=1;i<100;i++);后,i 的值为(B)。 A. 99 B. 100 C. 101 D. 102 分析:第一次 i=1,a<100,i+1=2; 第二次 i=2,a<100,i+1=3; …… 第99次 i=99,i<100,i+1=100; 第100次 i=100,不满足i<100,跳出循环,i=100。 4、以下 for语句中,书写错误的是(C)。 A. for(i=1;i<5;i++) B. i=1;for(;i<5;i++) C. for(i=1;i<5;i++); D. for(i=1;i<5;) i++; 分析:for语句后面的第一个、第三个语句都可以省略,只需要规定循环条件避免循环无休止的进行。但for语句后面不需要加“;”。 5、(C)语句,在循环条件初次判断为假,还会执行一次循环体。 A. for B. while C. do-while D. 以上都不是 分析:do..while无条件执行一次先,而while或for语句都是先判断,满足条件后在执行。用for语句可以完全替代while语句。 6、有以下程序段 int i=5; do{ if(i%3==1) if(i%5==2) {printf("*%d",i); break; } i++; } while(i!=0);

循环结构练习题

循环结构练习题 一.选择题 1.下面程序段 int k=2; while (k=0) {printf(“%d”,k);k--;} 则下面描述中正确的是。 A)while循环执行10次 B)循环是无限循环 C)循环题语句一次也不执行 D)循环体语句执行一次 2.以下for循环的执行次数是。 for (x=0,y=0; (y=123) && (x<4) ; x++) ; A)无限循环 B)循环次数不定 C)4次 D)3次 3.以下程序段的循环次数是。 for (i=2; i==0; ) printf(“%d”,i--) ; A)无限次 B)0次 C)1次 D)2次 4.下面程序段的运行结果是。 x=y=0; while (x<15) y++,x+=++y ; printf(“%d,%d”,y,x); A)20,7 B)6,12 C)20,8 D)8,20 5.下面程序的输出结果是。 main ( ) { int x=9; for (; x>0; x--) { if (x%3==0) { printf(“%d”,--x); continue ; } } } A)741 B)852 C)963 D)875421 6.以下不是死循环的程序段是。 A) int i=100; B)for ( ; ; ) ; while (1) { i=i%100+1 ; if (i>100) break ; } C) int k=0; D)int s=36; do { ++k; } while (k>=0); while (s) ; --s ; 7.下述程序段的运行结果是。 int a=1,b=2,c=3,t; while (a++y;x=i++) i=x ; B)for ( ; ; x++=i ) ; C)while (1) { x++ ; } D)for (i=10 ; ; i--) sum+=i ; 9.下述语句执行后,变量k的值是。

第6章循环结构(二)

第6章 循环结构(二) ◇本章工作任务 实现MyShopping统计顾客的年龄层次 实现MyShopping循环录入会员信息 实现MyShopping登录时用户信息验证 ◇本章技能目标 会使用for循环结构 会在程序中使用break和continue

本章单词 请在预习时学会下列单词的含义和发音,并填写 在横线处。 1.rate: 2.young: 3.schedule: 4.negative: 5.customer: 6.birthday: 7.point: 8.continue: 9.return: _

本章简介 上一章我们学习了while和do-while循环结构。在编程的过程中,把一些重复执行的代码采用循环结构进行描述,大大简化了编码工作,使得代码更加简洁、易读。相信通过使用循环结构编程,你一定体会到了它的魅力。while循环结构是先进行条件判断,然后执行循环操作;do-while循环结构是先执行依次循环操作,然后进行判断。但是Java中的循环结构不只有while和do-while两种,还有for循环结构,它又是什么样子的?有什么功能?这一章就让我们揭晓这一结构:for循环结构。 6.1 for循环 6.1.1 为什么需要for循环 在上一章,通过使用while循环,张浩轻松解决了老师补充的问题,如示例1所示。 示例1 public class WhileDemo { public static void main(String[] args) { int i=0; while(i<100){ ←使用while循环 System.out.println(“好好学习,天天向上!”); i++; } } } 仔细观察你会发现,这里的循环次数“100遍”已经固定,这是我们也可以选用for循环结构来实现,如示例2所示。 示例2 public class ForDemo { public static void main(String[] args) { for(int i=0; i<100; i++;) { ←使用for循环 System.out.println(“好好学习,天天向上!”); } } }

第六章循环结构练习题

第六章循环控制 【题6.1】设有程序段 int k=10; while(k=10) k=k-1; 则下面描述中正确的是。 A)while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次 【题6.2】设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf(“%d”,s); 则。 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 【题6.3】下面程序段的运行结果是。 int n=0; while(n++<=2); printf(“%d”,n); A)2 B)3 C)4 D)有语法错 【题6.4】下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。请选择填空。 #include main() { char c; while((c=getchar())!=‘\n’) { if(c>=‘a’&&c<=‘z’) { 【1】; if(c>‘Z’) 【2】; } printf(“%c”,c); } } 【1】 A)c+=2 B)c-=32 C)c=c+32+2 D)c-=30 【2】 A)c=‘B’B)c=‘A’C)c-=26 D)c=c+26 【题6.5】下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。 #include main() { int a,max=0; scanf(“%d”,&a); while(【1-B】) { if(max

C语言循环结构测习题带答案

第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ?break和continue语句在循环语句中的应用 ?循环结构的嵌套 ?使用goto语句实现循环结构 ?穷举法程序设计方法 ?迭代程序设计方法 5.2练习题5 1.单项选择题 (1)语句while(!e);中的条件!e等价于A。 A.e==0 B.e!=1 C.e!=0 D.~e (2)下面有关for循环的正确描述是D。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中D。 A.不能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是A。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; } while(!x);

(6)下列语句段中不是死循环的是__C__。 A.i=100; while(1) { i=i%100+1; if(i==20)break; } B.for(i=1;;i++) sum=sum+1; C.k=0; do { ++k; }while(k<=0); D.s=3379; while(s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while(a) { if(b)continue; c; } A.while(a) B.while(c) {if(!b)c;} {if(!b)break;c;} C.while(c) D.while(a) {if(b)c;} {if(b)break;c;} (8)以下程序的输出结果是_B___。 #include main() { inti; for(i=4;i<=10;i++) { if(i%3==0)continue; COUT< main() { intnum=0; while(num<=2) { num++; cout<

最新C语言第六章循环结构复习题

循环结构程序设计复习题 一.选择题 1.以下while循环中,循环体执行的次数是:() k=1; while (--k) k=10; a) 10次b) 无限次c) 一次也不执行d) 1次 2.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:() x=0; while (!x!=0) x++; a) 退出while循环后,x的值为0 b) 退出while循环后,x的值为1 c) while的控制表达式是非法的 d) while循环执行无限次 3. 有以下程序段,其中n为整型变量,执行后输出结果是:() n=20 ; while(n--) ; printf(“%d”,n) ; a) 2 b) 10 c) -1 d) 0 4. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:() t=1; while (-1)

{ t--; if(t) break;} a) 循环一次也不执行 b) 循环执行一次 c) 循环控制表达式(-1)不合法 d) 循环执行2次 5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:() x=-1; do {;} while (x++); printf(“x=%d”,x); a) 该循环没有循环体,程序错误 b) 输出x=1 c) 输出x=0 d) 输出x=-1 6. 有以下程序段,其中x,y为整型变量,程序输出结果是:() for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ; printf(“x=%d,y=%d”,x,y); a) x=2,y=0 b) x=1,y=0 c) x=1,y=1 d) x=0,y=0

软件工程第六章答案

作业4参考答案 1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎样利用它们完成IF_THEN_ELSE操作?

3.画出下列伪码程序的程序流程图和盒图: START IFpTHEN WHILEqDO f g n 答: (2 4 (1)为什么说它是非结构化的? (2)设计一个等价的结构化程序。 (3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。 (2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图4-3描绘了等价的结构化程序的盒图。 IfTABLE(I)=ITEMgotoFOUND IfTABLE(I)ITEMSetFINISHto(I-1) If(FINISH-START )>1gotoLOOP IfTABLE(START)=ITEMgotoFOUND

IfTABLE(FINISH)=ITEMgotoFOUND SetFLAGto0 GotoDONE FOUND: SetFLAGto1 DONE:Exit 程序,图6.19是一个转换的例子。 (1)能否从这个例子总结出Ashcroft_Manna技术的一些基本方法? (2)进一步简化6.19(b)给出的结构化设计。

答:(1)从这个例子中看出,Ashcroft_Manna技术的基本方法是,当待改造的序含有嵌套的非结构化的IF语句时,改造后的程序中增加DO-CASE语句和DO-UNTIL语句,并增加一个辅助变量I,I的初始值为1。最外层的IF语句在I=1时执行,执行完这个IF 语句后把I赋值为随后应该执行的内层IF语句所对应的CASE标号

循环结构练习题

第4章循环结构 (一)、是非题 1. C语言中,do-while语句构成的循环只能用break语句退出。 A.对 B.错 2.在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。 A.对 B.错 3.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。 A.对 B.错 4.for、while和do while循环结构的循环体均为紧接其后的第一个语句(含复合语句)。 A.对 B.错 5.由i=-1;while(i<10) i+=2;i++;可知,此while循环的循环体执行次数为6次。 A.对 B.错 6.循环for( ; ; )的循环条件始终为真。 A.对 B.错 7.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也不执行。 A.对 B.错 8.break;语句执行时退出本层循环,continue;语句结束本次循环。 A.对 B.错 9.for循环、while循环和do while循环结构之间可以相互转化。 A.对 B.错 10.break;语句执行时退出到包含该break;语句的所有循环外。。 A.对 B.错 11.二重循环for(i=0;i<5;i+=2) for(j=0;j<5;j++)的循环体的执行次数为15。 A.对 B.错 12.执行i=-1; while(i<10) i+=2;i++; 后,i的值为11。 A.对 B.错 13.int i=1;while(1) i++; 则在任何条件下,该循环语句都会执行无穷多次 A.对 B.错 14.while和do…while的功能完全相同。 A.对 B.错 15.while后的表达式只能是逻辑或关系表达式。 A.对 B.错 16.语句while(E);中的表达式E等价于E!=0。 A.对 B.错 17.只能在循环体内和switch语句体内使用break语句。 A.对 B.错 18.程序段 int k=10; while(k=0)k=k-1; 中,while循环执行10次。 A.对 B.错 19.若i为整型变量,则 for(i=2;i= =0;)printf("%d",i--);循环执行次数是0次。 A.对 B.错 20.执行语句for(i=1;i++<4; );后,变量i的值是4。

循环结构程序设计练习题内含答案

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是( D )。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数 1~9的累加和B.自然数 1~10 的累加和 C.自然数 1~9中的奇数之和D.自然数 1~10 中的偶数之和 2、以下关于 for 语句的说法不正确的是( A )。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用 break 跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若 i和 k 都是 int 类型变量,有以下 for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是(d)。 A. 循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D. 构成无限循环 4、以下程序程序的执行后的输出结果是(c)。 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%d”,t[2 -i][i]);} A.753 B.357 C.369 D.751 5、以下程序运行后的输出结果是( A )。 void fun(char*s) { while(*s) { if(*s%2==0)printf(“%c”,*s);s++;} } main() { char a[]={“good”};fun( a) ;printf(“ n”);} 注意:字母 a 的 ASCⅡ码值为 97 A.d B.go C.god D.good 6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。 A)循环控制表达式的值为 0 B)循环控制表达式的值为 1 C)循环控制表达式不合法 D)以上说法都不对 7、设有以下程序段 B int x=0,s=0; while (!x!=0 ) s+=++x; printf ( "%d",s );则 A)运行程序段后输出0

第六章 循环结构

第六章循环结构 一、选择题: 1. 执行语句:for(i=1;i<9; i++)后; 变量i的值是()。 (A)10 (B)9 (C)不定(D)11 2.若t为int类型,进人下面的循环之前,t的值为0 , while( t=l ) { ……} 则以下叙述中正确的是()。 (A) 循环控制表达式的值为0 (B) 循环控制表达式的值为1 (C) 循环控制表达式不合法 (D) 以上说法都不对 3. 对do...while语句错误的描述是:() A.可构成多重循环结构 B. 循环次数不可能为0 C.循环次数可能为0 D. 先执行后判断。 4.下面程序段的运行结果是()。 int n=0; while(n++<=2) ; printf(“%d” ,n ) ; (A)4 (B)3 (C)2 (D)有语法错误 5. 以下描述正确的是()。 A. 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。 C. 在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。 D. do-while循环中,根据情况可以省略while。 6.关于do-while 语句的正确叙述是() A. do-while 语句构成的循环不能用其它语句构成的循环来代替 B. d o-while 语句构成的循环只能用continue语句退出 C. 用do-while 语句构成的循环, 在while后的表达式为非零时结束循环 D. 用do-while 语句构成的循环, 在while后的表达式为零时结束循环 6.C 语言中,while 和 do…while 循环的主要区别是()。 A. while 的循环控制条件比do…while 的循环控制条件严格 B. do…while 的循环体至少无条件执行一次 C. do…while 允许从外部转到循环体内 D. do…while 的循环体不能是复合语句 7.以下程序的输出结果是()。 main( ) { int x=10,y=10,i;

第六章 循环系统_1

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 第六章循环系统 第六章循环系统第六章循环系统名词解释: 血液循环: 是指血液在心血管系统中周而复始地、不间断地沿一个方向流动。 心脏是血液循环的动力器官,血管使血液循环的管道,瓣膜是保证血液按一个方向流动的特有结构。 窦性心率: 指在窦房结以外的心肌潜在起搏点所引起的心脏节律性活动。 自动节律性: 心肌细胞在没有受到外来刺激的条件下,自动产生节律性兴奋的特性。 心动周期: 心脏每收缩和舒张一次,构成一个心脏机械活动周期称为一个心动周期。 心输出量: 每分钟一侧心室排出的血液总量,称为每搏排出量,简称排出量。 心率: 心脏每分钟搏动的次数。 动脉: 1 / 10

是血管由心脏射出后流往全身各个器官所经过的血管,可分为大、中、小、微动脉 4 种。 静脉: 是血液由全身各器官流回心脏时所经过的血管。 血压: 指血管内的血液对于血管壁的侧压力,也即压强,通常以毫米汞柱为单位。 动脉脉搏: 在每个心动周期中,动脉内周期性的压力波动引起动脉血管所发生的搏动,称为动脉脉搏。 微循环: 心肌细胞兴奋过程中,由 0 期开始到 3 期膜内电位恢复到60mV 这一段不能再产生动作电位的时期,称为有效不应期。 问答题: 1. 简述体循环和肺循环的途径和意义。 体循环: 左心室搏出的血液经主动脉及其分支流到全身毛细血管(肺泡毛细血管除外),进行物质交换后,再经各级静脉汇入上、下腔静脉及冠状窦流回右心房。 血液沿上述路径循环称体循环。 由于左心室的血液来自于肺部,经气体交换,是含氧较多的、鲜红的动脉血,在全身毛细血管除进行气体交换后,变为静脉血。

(完整版)c语言第六章循环结构程序设计(习题册答案)

第六章循环结构程序设计 基础练习(A) 一、选择题 1、C语言中while和do-while循环的主要区别是(A)。 A) do-while的循环体至少无条件执行一次 B) while的循环控制条件比do-while的循环控制条件严格 C) C)do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句 2、以下描述中正确的是(C)。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用 复合语句 B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操 作 D)do-while循环中,根据情况可以省略while 3、设有程序段 int k=10; while(k) k=k-1; 则下面描述中正确的是(A)。 A)while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次 4、下列循环语句中有语法错误的是( D )。 A) while(x=y) 5;B) while(0) ; C) do 2;while(x==b);D) do x++ while(x==10); 5、已知int i=1;执行语句while (i++<4) ;后,变量i的值为(C)。 A) 3 B) 4 C) 5 D) 6 6、语句while(!E);中的表达式!E等价于(A)。 A)E==0 B)E!=1 C)E!=0 D)E==1 7、下面程序段的运行结果是(A)。 a=1; b=2; c=2; while(a main() { int num=0; while(num<=2) { num++; printf(“%d\n”,nu m); } } A)1 B)1 C)1 D)1 2 2 2 3 3 9、以下能正确计算1×2×3×…×10的程序段是(C)。

循环结构练习题

1、编写一个程序计算1到正整数n之间的奇数之和以及偶数之和。 2、一百万富翁遇到一陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,……,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给陌生人多少钱。 3、从键盘输入一位整数,当输入是1~7时,显示对应的英文星期名称的简写: 1:MON 2:TUE 3:WED 4:THU 5:FRI 6:SA T 7:SUN 直到输入数0为止。编写一个程序实现上述功能。 4、编写一个程序求出200~300之间的数,且满足条件:他们三个数字之积为42,三个数字之和为12。 5、编写一个程序求出满足下列条件的四位数:该数是一个完全平方数;第 一、三位数字之和为10,第二、四位数字之积为12。 6、已知n/2是完全平方数,n/3是立方数,编写一个程序求最小的正数n。 7、编写一个程序求1-1/2+1/3-1/4+……+1/99-1/100的值。 8、学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数。 9、小明今年12岁。她母亲比他大20岁。编写一个程序计算出她母亲在几年后比他的年龄大一倍,那时他们俩人的年龄各多少。 10、编写一个程序计算用一角、二角和五角凑成一元有多少种组合,并打印出每种组合。 11、一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。 12、已知四位数a2b3能被23整除,编写一个程序求此四位数。 13、编写一个程序对于用户输入的正偶数n,将其分解成两个素数之和。 14、鸡兔共有30只,脚共有90只,编写一个程序计算鸡兔各有多少只。 15、已知xyz+yzz=532,其中x、y、z都是数字,编写一个程序求出x、y、

第六章 循环结构程序设计

6-1.比较while语句、do–while语句和for语句的异同。 答:(1)while语句、do-while语句用于条件循环,for语句用于计数循环。 (2)while语句、for语句是先判断循环条件,后执行循环体,如果循环条件一开始就不成立,则循环体一次也不被执行;而do-while语句是是先执行循环体,后判断循环条件,所以循环体至少被执行一次。 (3)知道循环的次数可选用for语句实现循环,不知道循环的次数可选用while语句或do-while语句实现循环. (4)一般而言,三种循环语句可等价实现. 6-2 仔细阅读下面的程序,指出程序的运行结果. #include void main() { int i; for(i=0;++i;i<5) { if(i==3) {printf("%d\n",++i); break; } printf("%d\n",++i); } } 答:2 4 思考:语句“for(“i=0;++i;i<5”)在编译时为何会给出语法警告错误?当将其改为“for(i=0;i<5;++i)”时,运行结果又将如何? 6-3 仔细阅读下面的语的程序,指出程序的运行结果。 #include"stdio.h" void main() { int i, a=0; for(i=1;i<=5;i++)

{do {i++; a++; } while(i<3); } i++; printf("a=%d,i=%d",a,i); } 答:a=3,i=7 思考:在for循环中嵌套着do-while循环,那么do-while循环中对i的修改会对for循环产生影响吗? 6-4编写程序,用1000个单词”computer”填充屏幕,每行60个 . 解:#include void main() { int i; for(i=1;i<=1000;i++) { printf("computer."); if(i%60==0)printf("\n"); } } 思考:在for循环中,”if(i%60==0)printf(“\n”);”语句的作用是什么?没有此语句将会是什么状况? 6-5输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。 解: #include void main() { char c; int d=0,s=0; printf("请输入字符(当输入时结束):"); while ((c=getchar())!='$')

第六章 循环结构(含答案)

第六章循环控制 一、选择题 1.while (!E);语句中,条件表达式等价于【 A 】。 A. E==0 B. E!=1 C. E!=0 D. E==1 2.下面程序的运行结果是【 C 】。 int n=0; while(n++<=2); printf(“%d”,n); A. 2 B. 3 C. 4 D. 有语法错 3.下面程序段的运行结果是【 A 】。 a=1; b=2; c=2; while (a100) break; } B. for ( ;;); C. int k=0; do {++k;} while (k>=0); D. int s=36; while (s);――s; 8.执行语句for (i=1;i++<4;);后i的值为【 C 】。 A. 3 B. 4 C. 5 D. 不定 9.下列程序段的输出结果是【 B 】。 int x=3; do {printf (“%2d\n”,x-=2);} while (!(――x)); A. 1 B. 1 -2 C. 3,0 D. 是死循环 10.以下四个关于C语言的结论中,只有一个是错误的,它是【 D 】。 A. 可以用while语句实现的循环一定可以用for语句实现 B. 可以用for语句实现的循环一定可以用while语句实现 C. 可以用do-while语句实现的循环一定可以用while语句实现

c语言循环结构上机习题教学教材

c语言循环结构上机 习题

1、计算n的阶乘(n!),n的取值在1~10之间。分别使用while、do…while和for 语句实现。(三个程序) 给循环变量赋初值 循环条件 循环体 循环变量的增值 2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。 3、假设函数f(x)=3x2+2x+1,试利用for 循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。

4、有分数序列2/1,3/2,5/3,8/5, 13/8,21/13…求这个数列的前20项和。(分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子) 5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。要求每一行显示5个数,并且统计一共有多少个整数能被n整除。

6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,a min); }

7、使用循环语句输出以下图形 8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。

8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。 分析: 这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组: 100=x*5+y*3+z/3 100=x+y+z 这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z 的取值范围: 1) x的取值范围为1~20 2) y的取值范围为1~33

C+循环结构道题含答案

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出 循环01:最大数 写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。 输入39 28 5 63 18 27 0 输出63 测试: 输入153 26 963 28 75 90 156 0 输出963 #include using namespace std; int main() { int i,max=0; cin>>i; while(i!=0) { if(i>max) max=i; cin>>i; } cout< using namespace std; int main() { int n,i,d; cin>>n; for(i=2;i

return 0; } 循环03:数列求和 输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。 输入5输出 输入4输出 #include using namespace std; int main() { int i,n; double s=0; cin>>n; for(i=1;i<=n;i++) s+=(3*i-2); cout< using namespace std; int main() { int n,d=0; cin>>n; while(n>0) { d++; n=n/2-2; } cout<

相关主题