当前位置:文档之家› 第六章循环结构练习题

第六章循环结构练习题

第六章循环结构练习题
第六章循环结构练习题

第六章循环控制

【题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

scanf(“%d”,&a);

}

printf(“%d”,ma x);

}

【1】 A)a==0 B)a C)!a==1 D)!a

【题6.6】若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行结果是。

#include

main()

{ int c;

while((c=getchar())!=‘\n’)

switch(c-‘2’)

{

case 0:

case 1: putchar(c+4);

case 2: putchar(c+4); break;

case 3: putchar(c+3);

default: putchar(c+2); break;

}

printf(“\n”);

}

A)668977 B)668966 C)66778777 D)6688766

【题6.7】C语言中while和do-while循环的主要区别是。

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

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

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

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

【题6.8】以下程序段。

x=-1;

do

{ x=x*x;

}while(!x);

A)是死循环B)循环执行二次

C)循环执行一次D)有语法错误

【题6.9】以下描述中正确的是。

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

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

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

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

【题6.10】下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空。

#include

main()

{

int i=0,j,k;

do{ i++; k=316-13*i; }while(【1】);

j=k/11;

printf(“316=13*%d+11*%d”,i,j);

}

【1】 A)k/11 B)k%11 C)k/11==0 D)k%11==0

【题6.11】下面程序的运行结果是。

#include

main()

{

int y=10;

do{ y--; }while(--y);

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

}

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

【题6.12】下面有关for循环的正确描述是。

A)for循环只能用于循环次数已经确定的情况

B)for循环是先执行循环体语句,后判断表达式

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

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

【题6.13】以下for循环的执行次数是。

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

A)是无限循环B)循环次数不定C)执行4次D)执行3次

【题6.14】下面程序段的运行结果是。

for(x=3;x<6;x++) printf((x%2)?(“**%d”):(“##%d\n”),x);

A)**3 B)##3 C)##3 D)**3##4

##4 **4 **4##5 **5

**5 ##5

【题6.15】执行语句for(i=1;i++<4;);后变量i的值是。

A)3 B)4 C)5 D)不定

【题6.16】下面程序的运行结果是。

#include

main()

{

int i;

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

switch(i%5)

{

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

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

default: printf(“\n”);

case 2: printf(“&”);

}

}

A)#&&&* B)#& C)# D)#&

& &

&* & *

&

*

【题6.17】下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空。

(提示:只要算出1000!中含有因数5的个数即可)

for(k=0,i=5;i<=1000;i+=5)

{

m=i;

while(【1】) { k++; m=m/5; }

}

【1】 A)m%5=0 B)m=m%5==0 C)m%5==0 D)m%5!=0

【题6.18】下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。

#include

main()

{

int a,d,i,s,f,x;

for(a=1;a<30;a++)/* a是第一项,预估a的可能取值范围 */

for(d=1; 【1】;d++) /* d是公差,预估d的可能取值范围*/

{

s=0; f=1; x=a;

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

{

s=s+x;

f=f*x;

x=x+d;

}

if(s==26 && f==880)

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

printf(“%3d”,【2】);

}

printf(“\n”);

}

【1】A)d<=a B)空C)d<=5 D)d

【2】A)a+i*d B)i*d C)a+(i+1)*d D)a+d

【题6.19】以下正确的描述是。

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

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

【题6.20】下面程序段。

x=3;

do{

y=x--;

if(!y) { printf(“x”); continue; }

printf(“#”);

}while(1<=x<=2);

A)将输出## B)将输出##*

C)是死循环D)含有不合法的控制表达式【题6.21】以下描述正确的是。

A)goto语句只能用于退出多层循环

B)switch语句中不能出现continue语句

C)只能用continue语句来终止本次循环

D)在循环中break语句不能独立出现

【题6.22】下面程序的运行结果是。

#include

main()

{

int k=0; char c=‘A’;

do{

switch(c++)

{

case ‘A’: k++; break;

case ‘B’: k--;

case ‘C’: k+=2; break;

case ‘D’: k=k%2; continue;

case ‘E’: k=k*10; break;

default: k=k/3;

}

k++;

}while(c<‘G’);

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

}

A)k=3 B)k=4 C)k=2 D)k=0

VB循环结构测试题及答案

循环结构测试题(四) 一:选择题 1:以下()是正确的for….next结构。 (A)for x=1 to step 10 (B) for x=3 to –3 step -3….. ….. next x next x (C ) for x=1 to 10 (D) for x=3 to step 3 re: …. …… Next x next y If I=10 then goto re 2:下列循环语句能正常结束循环的是() (A)I=5 (B) I=1 do do I=I+1 I=I+2 Loop until I<0 loop until I=10 (C) I=10 (D) I=6 do do

I=I-1 I=I-2 Loop until I<0 loop until I=1 3:下面程序段的运行结果为( ) for I=3 to 1 step –1 print spc(5-I); for j=1 to 2*I-1 print “*”; next j print next I 4下列程序在文本框输入“ABCD ”四个字符时,窗体上显示的是( ) private sub text1_change( ) print ; end sub (A) ABCD (B) ( C ) AABABCABCD * * * * (B) * * * * * * * * (C) * * * * * * * * (D) * * * * * * * * A B C (D) A AB ABC

5哪个程序段不能分别正确显示1!,2!,3!,4!的( ) 二:填空题 1:要使下列For 语句循环执行20次,循环变量的初值应当是: for k=( ① ) to –5 step –2 2:下面程序段显示( ② )个“*” 。 For I=1 to 5 For j=2 to I Print “*”; Next j Next I 3: 下列第40句共执行了( ③ )次,第41句共执行(④ )次。 30 for j=1 to 12 step 3 40 for k=6 to 2 step –2 41 print j,k 42 next k (A ) for I=1 to 4 n=1 for j=1 to I (B ) for I=1 to 4 for j=1 to I n=1 (C) N=1 for j=1 to 4 (D) N=1 J=1 Do while j<=4

循环结构程序设计代码

实验五代码: 基础能力落实: 1)编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define 或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句 #include int main(void) { const int minperhour = 60; int minutes, hours, mins; printf("Enter the number of minutes to convert: "); scanf("%d", &minutes); while (minutes > 0 ) { hours = minutes / minperhour; mins = minutes % minperhour; printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins); printf("Enter next minutes value (0 to quit): "); scanf("%d", &minutes); } printf("Bye\n"); return 0; } 2)编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。 #include int main( void ) { int lower, upper, index; int square, cube; printf("Enter starting integer: "); scanf("%d", &lower);

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

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

第三单元循环结构练习题 选择题: 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.7 5 3 B. 3 5 7 C.3 6 9 D.7 5 1 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

第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); }

第五章 循环结构程序设计编程题(参考答案)

第五章循环结构程序设计 1.用for循环语句编程输出1~20之间的所有整数,两数之间以空格分隔。 #include void main() { int i; for(i=1;i<=20;i++) printf("%d ",i); printf("\n"); } 2.用for循环语句编程输出20~1之间的所有整数,两数之间以空格分隔。 #include void main() { int i; for(i=20;i>=1;i--) printf("%d ",i); printf("\n"); } 3.用for循环语句编程输出A~Z之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。 #include void main() { char c; for(c='A';c<='A'+25;c++) { putchar(c);

printf(" "); } } 4.输出100~200之间所有能被3和7整除的数(每行输出4个数)。#include void main() { int i,j=0; for(i=100;i<=200;i++) { if(i%21==0) { j++; printf("%12d",i); if(j%4==0) printf("\n"); } } } 5.输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。 #include void main()

int i,j=0; for(i=1;i<=1000;i++) { if((i%3==2)&&(i%5==3)&&(i%7==2)) { j++; printf("%12d",i); if(j%5==0) printf("\n"); } } } 6.先读入一个正整数n,然后计算并显示前n个偶数的和。例如n为5,则求2+4+6+8+10的值,即sum=30。 #include void main() { int i,n,sum=0; printf("Please enter an integer n:"); scanf("%d",&n); for(i=1;i<=n;i++) sum+=(2*i); printf("sum=%d\n",sum);

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

循环结构典型试题

第3章循环结构程序设计 3.1 典型等考试题剖析 3.1.1 选择题 【例1】若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是_______。(等考2003年9月第22题)A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c; ?考点:本例考查for循环。 ?分析:初始赋值时s=a,那么s的值一定与a有关,C、D答案中不含a 所以排除掉。只用清楚for循环的次数,不管b以前的值为多少,第一 次循环时b=1,当b>c时循环结束,那么显然s要加c次1。所以s的值 为a与c的和。 ?答案:B 【例2】设x和y均为int型变量,则执行下面的循环后,y值为。(等考1998年9月第29题) for(y=1,x=1;y<=50;y++) { if(x>=10) break; if(x%2==1) { x+=5;continue; } x-=3; } A) 2 B) 4 C) 6 D) 8 ?考点:本例考查for循环中break和continue的用法,以及区别。 ?分析:break用在循环中,只能退出一层循环。尤其是在嵌套循环中, 只能退出它所在的那一层循环。不能期望用break从最内层循环一下子 退出最外层循环(可以用goto实现)。continue语句只能用在循环中, 它的作用是跳过其后面的语句,直接将控制转移到下一轮循环条件的测 试。语句“if(x>=10) break;”中的break只有当x>=10时,才会执行, 并且跳出for循环;语句“x+=5;continue;”是每次执行完一次跳过其 后面的语句,直接将控制转移到下一轮循环条件的测试 for(y=1,x=1;y<=50;y++)中。 ?答案:C

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

x=0,y=0 d) x=1,y=1 c) 解析:在开始时 x=0,y=0; 进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1; 然后执行 x++,y--,执行之后x=1,y=0; 再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1; 然后执行 x++,y--,执行之后x=2,y=0; 再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环 输出x=2,y=0 。 7. 有以下程序: main() { int x=0,y=0; while(x<5&&++y) y--,x++; printf(“%d,%d”,y,x); } 程序的输出结果是:() a) 0,5 b) 1,5 c) 0,4 d) 1,4 8. 有以下程序:main() int num=0; { do ,num); } { num++ ;printf(“%d\n” while(num<=2); } 程序的输出结果是:() 1 1c) 1 d)

第5章 循环结构程序设计作业参考答案

第5章循环结构程序设计作业参考答案 班级学号姓名 【第140页】 5-1、请画出课本里5.6中给出的3个程序段的传统流程图。 (1)程序1: #include int main() { int i,j,n=0; for (i=1;i<=4;i++) for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 printf("%d\t",i*j); } printf("\n"); return 0; } (2)程序2: #include int main() { int i,j,n=0; for (i=1;i<=4;i++) for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 if (i==3 && j==1) break; //遇到第3行第1列,终止内循环 printf("%d\t",i*j); } printf("\n"); return 0; } (3)程序3: #include int main() { int i,j,n=0; for (i=1;i<=4;i++)

for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 if (i==3 && j==1) continue; //遇到第3行第1列,提前结束执行本次内循环体 printf("%d\t",i*j); } printf("\n"); return 0; } (1)程序1流程图(2)程序2流程图(3)程序3流程图 5-3、输入两个正整数m和n,求其最大公约数和最小公倍数。 #include int main()

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include<> main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include<> main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

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

第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 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是__C__。

第5章循环结构程序设计35 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() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; COUT<

第六章循环控制概要

第六章循环控制 通过本章实验作业应达目标 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);

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

精心整理 第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ?break和continue语句在循环语句中的应用 ? ? ? ? 1. C. A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; } while(!x);

A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 (6)下列语句段中不是死循环的是__C__。 A.i=100; while(1) { i=i%100+1; if(i==20)break; } B.for(i=1;;i++) sum=sum+1; C. C. COUT< main() { intnum=0; while(num<=2) {

num++; cout< else ++i; }while(s<15); Cout< main() { inti,j; for(i=4;i>=1;i--) {

循环结构程序设计:三种循环语句

一、循环结构(Iteration Structure)的概述 1.目的 为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。 2.类型 (1)当型循环结构 (2)直到型循环结构 二、循环语句 1.while语句 ①功能:实现当型循环结构。 ②形式 while(表达式){ 循环体 } ③特点:先判断后执行。 ④举例:(累加和问题)编程计算整数1~100的和。 int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 while( i <= 100){ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 } 2.do-while语句 ①功能:实现直到型循环结构。 ②形式 do{ 循环体

}while(表达式); //注意最后的分号 ③特点:先执行后判断。 ④举例:修改上例。 /*利用do-while语句编程实现整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 do{ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 }while(i<=100);//注意最后的分号 3.for语句 ①功能:实现当型循环结构。 ②形式 for(表达式1;表达式2;表达式3){ 循环体 } ③特点:先判断后执行;使用频率最高。 ④举例:修改上例。 /*使用for语句编程计算整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 for( i = 1 ; i <=100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值 sum = sum + i ; //循环变量累加到sum中 } 4.几种循环语句的比较 ①由于while语句和for语句均实现当型循环结构,两者是完全等价的。 for(表达式1;表达式2;表达式3){

c语言第5章练习题--循环结构程序设计

难度(*)--考点:基本概念、判断循环次数 1、C语言中下列叙述正确的是(D) A)不能使用do…while语句构成的循环 B)do…while语句构成的循环,必须用break语句才能退出 C)do…while语句构成的循环,当while语句中的表达式值为非零时结束循环 D)do…while语句构成的循环,当while语句中的表达式值为零时结束循环 2、对于下列程序片断,(A) int k=0; while(k=1) k++; 则while循环的执行次数是 A. 无限次 B. 有语法错误,不能执行 C. 一次也不执行 D. 执行一次 3、下面程序段(C) int k=2; while (k=0) {printf(“%d”,k);k--;}

则下面描述中正确的是。 A )while 循环执行10 次 B )循环是无限循环 C )循环题语句一次也不执行 D )循环体语句执行一次 4、当执行以下程序段时(A) x=-1; do { x=x*x;} while(!x); A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 5、若i为整型变量,则以下循环执行次数是(B): for( i = 2; i ==0;) printf(“%d”, i); A) 无限次B) 0次c) 1次D) 2次 6、对for(表达式1; ; 表达式3)可理解为(B)

A) for(表达式1; 0 ; 表达式3) B) for(表达式1; 1 ; 表达式3) C) for(表达式1;表达式1; 表达式3) D) for(表达式1;表达式3; 表达式3) 7、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。(A) main ( ) { int m=0,n=0; char c; while (( ) ! '\n') { if (c>='A' && c<='Z') m++; if (c>='a' && c<='z') n++; } } A)c=getchar( ) B)getchar( ) C)c==getchar( ) D)scanf(“%c”,&c) 8、下面for 循环语句。(B)

循环结构测试题

《循环结构》测试题 班别:姓名:学号:填空题: (1)在VB中,几种不同性质的运算符的优先级别如下:() A.算术运算符>字符运算符>关系运算符>逻辑运算符 B.算术运算符>关系运算符>字符运算符>逻辑运算符 C.关系运算符>算术运算符>字符运算符>逻辑运算符 D.字符运算符>算术运算符>关系运算符>逻辑运算符 (2)(06真题)下面程序段的运行结果是: FOR I=5 To 1 Step -2 Print i Next A. 5 B. 5 3 C. 5 3 1 D. 5 3 1 -1 (3)(05真题)下面程序段的运行结果是: FOR I=1 To 9 Step 3 Print I Next I A. 1 4 B. 1 4 7 C 1 4 7 10 D. 1 4 7

(4)下面哪一个不是程序设计的基本结构()。 (1)分析下列程序段,写出程序运行结果 x = 0 For k = 1 To 2 Step 0.3 x = x + k Next Print x, k (2)分析下列程序段,写出程序运行结果 For k = 15 To 1 Step -5 Print k Next (3)分析下列程序段,写出程序运行结果 For k = 1 To 3 Circle (2000, 2000), k * 300 Next (4)分析下列程序段,写出程序运行结果 Dim m, n, k As Integer m = 6 n = 1 For k = 1 To m Step 2 n = n * k Next Print "n="; n (5)分析下列程序段,写出程序运行结果 k = 1 For m = 1 To 5 Print k, k = k + 3 Next (6)在横线上填上适合的语句,使程序完成:计算s=1+2+3+4+5+…+150的和S=0 For k=_______ to ________ step ________ S=________________________________ Next Print “1+2+3+…+150=”;s (7)在横线上填上适合的语句,使程序完成:计算5-10的乘积 T=1 For k=5 to _________ T=_________________________ Next Print t

第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(“好好学习,天天向上!”); } } }

第五章循环结构

第五章循环结构 一、选择题 1.C语言中while和do_while循环的主要区别是( )。 A.do_while的循环体至少无条件执行一次 B.while的循环控制条件比do_while的循环控制条件严格 C.do_while允许从外部转到循环体内 D.do_while的循环体不能是复合语句 2.以下描述中正确的是( )。 A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C.在do-while循环体中,是先执行一次循环,再进行判断 D.do-while循环中,根据情况可以省略while 3.语句while (!E); 括号中的表达式!E等价于( ) 。 A.E==0 B.E!=1 C.E!=0 D.E==1 4.以下程序的功能是计算:s= 1+1/2+1/3+……+1/10 main() { int n; float s s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n",s); } 程序运行后输出结果错误,导致错误结果的程序行是( )。 A.s=1.0; B.for(n=10;n>1;n--) C.s=s+1/n; D.printf("%6.4f\n",s); 5.下面程序段的运行结果是( )。 a=1;b=2;c=2; while(a

C语言循环结构练习题带答案.doc

第 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。

int x=-1; do { x=x*x; } while (!x); A.是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误( 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++;

相关主题
文本预览
相关文档 最新文档