循环结构习题

合集下载

(完整版)C语言循环结构练习题集带答案解析

(完整版)C语言循环结构练习题集带答案解析

第5章循环结构程序设计5.1 基本知识点while语句的使用格式和注意事项do-while语句的使用格式和注意事项for语句的使用格式和注意事项break和continue语句在循环语句中的应用循环结构的嵌套使用goto语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2 练习题51. 单项选择题(1)语句while (!e);中的条件!e等价于 A 。

A. e==0B. e!=1C. e!=0D. ~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++;(7)与以下程序段等价的是__A__。

循环结构练习题

循环结构练习题

循环结构练习题1、Visual Basic 程序段如下:该程序段运行后,变量s的值是()s=0For k=1 To 5s=s+5Next k(A) 0 (B) 5 (C) 10 (D) 252、应用计算机程序解决数学问题“求一元二次方程实数解”的步骤,通常是()。

A. 设计算法→编写程序B. 编写程序→调试程序→检测结果C. 分析问题→设计算法→编写程序→调试运行→检测结果D. 编写程序→调试运行3、“=”在Visual Basic程序中既可以表示赋值操作,也可以表示关系运算。

右图程序段中“=”作用和⑤相同的是A.①B.②C.③D.④4、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?()A.分析问题B.设计算法 C.编写程序D、调试程序5、流程图中表示判断的是()。

A.矩形框B.菱形框C.圆形框D.椭圆形框6、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是()A.顺序结构B.选择结构C.层次结构D.循环结构7、执行完循环语句For x=1 to 100 step 2Next x 后,x的值是()A.101 B.100 C.99 D.988、下列给出的赋值语句中正确的是()。

A.4 = M B.-M =M C.B=A-3 D.x + y = 0 9、以下程序中的循环体执行的次数是( )。

For A=1 To 100 Step 2S=S+ANext APrint SA.48 B.49 C.50 D.5110、下列程序代码中,循环体执行的次数是( )。

y = 1Do While y <= 6y = y+yLoopA、2B、3C、4D、511、有如下VB程序,其结构为( )。

Dim i As Integer, sum As Doublesum=0For i = 1 To 100sum =sum+1/iNext iPrint "sum= " & sumA、顺序结构B、分支结构C、循环结构D、选择结构12、阅读如下VB程序段,运行程序后,当n的值为5时,a的值为______。

第6章 循环结构练习题

第6章 循环结构练习题

循环结构练习题一、选择题。

2、对于DO UNTIL ……LOOP循环,正确的是()。

A 如果循环条上为常数0,则一次循环也不执行B 如果循环条件为常数0,则至少执行一次循环C 如果循环条件是不为0的常数,则至少执行一次循环D 无论循环条件是否为TRUE,都至少执行一次循环3、要在DO ……LOOP循环中退出循环,应使用()语句。

A EXITB EXIT DOC CONTINUED STOP LOOP4、以下循环结构中,VB不支持的是()。

A FOR……NEXTB FOR EACH……NEXTC DO…..LOOPD DO……ENDDO5、要在FOR……NEXT循环中退出循环,应使用()语句。

A EXITB EXIT FORC CONTINUED STOP LOOP6、下列关于FOR循环的说法中,正确的是()。

A 循环变量、初值、终值和步长都必须是数值型B STEP后面的值必须为正数C 初值必须小于终值D 初值必须大于终值7、下列关于DO……LOOP语句的叙述中,不正确的是()。

A DO……LOOP语句采用逻辑表达式来控制循环体执行的次数。

B DO WHILE……LOOP语句与DO UNTIL……LOOP语句中WHILE与UNTIL后面的表达式值为TRUE或非0时,循环继续。

C DO……LOOP WHILE与DO……LOOP UNTIL 语句都至少执行一次循环D DO WHILE…..LOOOP语句与DO UNTIL……LOOP语句可能不执行循环8、下面的循环程序在执行时将()。

FOR I=1 TO 10 STEP 0K=K+2NEXT IA 形成无限循环B 仅循环一次C 语法错误D 一次也不循环9、对于EXIT FOR,叙述正确的是()。

A EXIT FOR语句可以退出任何类型的循环B 一个循环只能有一条EXIT FOR语句C EXIT FOR表示返回到FOR语句执行D 一个FOR循环可以有多条EXIT FOR语句10、对于FOR循环中的初值、终值、步长,下列说法中,正确的是()。

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

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

第 5 章循环结构程序设计练习题1.单项选择题( 1)语句 while (!e);中的条件!e等价于A。

A. e==0B. e!=1C. e!=0D. ~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++;( 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___。

循环练习题及答案

循环练习题及答案

循环练习题及答案练习题一:基础循环1. 编写一个程序,使用循环结构打印出1到10的数字。

2. 编写一个程序,使用循环结构打印出1到100之间所有3的倍数。

3. 编写一个程序,使用循环结构找出1到100之间所有偶数的和。

答案一:1. 程序代码:```pythonfor i in range(1, 11):print(i)```2. 程序代码:```pythonfor i in range(1, 101):if i % 3 == 0:print(i)```3. 程序代码:```pythonsum_even = 0for i in range(1, 101):if i % 2 == 0:sum_even += iprint("偶数之和:", sum_even)```练习题二:条件循环1. 编写一个程序,使用循环结构打印出1到50之间所有5的倍数,直到遇到第一个偶数为止。

2. 编写一个程序,使用循环结构计算并打印出1到100之间所有7的倍数的乘积。

答案二:1. 程序代码:```pythonfor i in range(1, 51):if i % 5 == 0:if i % 2 == 0:print(i)breakprint(i)```2. 程序代码:```pythonproduct = 1for i in range(1, 101):if i % 7 == 0:product *= iprint("7的倍数的乘积:", product)练习题三:嵌套循环1. 编写一个程序,使用嵌套循环打印出如下的三角形图案: ```11 21 2 3...1 2 3 (10)```2. 编写一个程序,使用嵌套循环打印出以下图案:```AB BC C C...Z Z Z ...```答案三:1. 程序代码:```pythonfor i in range(1, 11):for j in range(1, i + 1):print(j, end=' ')print()2. 程序代码:```pythonfor i in range(65, 91): # ASCII值 65 到 90 对应 A 到 Z for j in range(1, i - 64 + 1): # 减去64是因为ASCII 值A是65print(chr(i), end='')print()```结束语:通过上述练习题及答案,我们不仅复习了循环结构的基本概念,还学习了如何使用条件循环和嵌套循环来解决实际问题。

循环结构习题

循环结构习题

循环结构习题循环结构一.选择题1.下面程序段int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是。

A)while循环执行10次B)循环是无限循环C)循环题语句一次也不执行D)循环体语句执行一次2.以下程序段的循环次数是。

for (i=2; i==0; ) printf(“%d” , i--) ;A)无限次B)0次C)1次D)2次4.下面程序的输出结果是。

main ( ){ char c=’A’;int k=0;do {switch (c++) {case ‘A’ : k++ ; break ;case ‘B’ : k-- ;case ‘C’ : k+=2 ; break ;case ‘D’ : k%=2 ; continue ;case ‘E’ : k*=10 ; break ;default : k/=3 ;}k++;} while (c<’G’) ;printf (“k=%d”,k) ;}A)k=3 B)k=4 C)k=2 D)k=05.下面程序的输出结果是。

main ( ){ int x=9;for (; x>0; x--) {if (x%3==0) {prin tf(“%d”,--x);continue ;}}}A)741 B)852 C)963 D)8754216.以下不是死循环的程序段是。

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<b<="" p="" {t="a;">printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。

循环结构练习题

循环结构练习题

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

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

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

第三单元循环结构练习题选择题: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.753B.357C.369D.7515、以下程序运行后的输出结果是( 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Ⅱ码值为 97A.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。

A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

循环结构一.选择题1.下面程序段int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是。

A)while循环执行10次B)循环是无限循环C)循环题语句一次也不执行D)循环体语句执行一次2.以下程序段的循环次数是。

for (i=2; i==0; ) printf(“%d” , i--) ;A)无限次B)0次C)1次D)2次4.下面程序的输出结果是。

main ( ){ char c=’A’;int k=0;do {switch (c++) {case ‘A’ : k++ ; break ;case ‘B’ : k-- ;case ‘C’ : k+=2 ; break ;case ‘D’ : k%=2 ; continue ;case ‘E’ : k*=10 ; break ;default : k/=3 ;}k++;} while (c<’G’) ;printf (“k=%d”,k) ;}A)k=3 B)k=4 C)k=2 D)k=05.下面程序的输出结果是。

main ( ){ int x=9;for (; x>0; x--) {if (x%3==0) {prin tf(“%d”,--x);continue ;}}}A)741 B)852 C)963 D)8754216.以下不是死循环的程序段是。

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<b<c) {t=a; a=b; b=t; c--;}printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。

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)sca nf(“%c”,&c)9.下述语句执行后,变量k的值是。

int k=1;while (k++<10);A)10 B)11 C)9 D)无限循环,值不定10.下面程序的输出结果是。

main ( ){ int k=0,m=0,i,j;for (i=0; i<2; i++) {for (j=0; j<3; j++)k++ ;k-=j ;}m = i+j ;printf(“k=%d,m=%d”,k,m) ;A)k=0,m=3 B)k=0,m=5 C)k=1,m=3 D)k=1,m=511.下面for循环语句。

int i,k;for (i=0, k=-1; k=1; i++, k++)printf(“***”);A)判断循环结束的条件非法B)是无限循环C)只循环一次D)一次也不循环12.语句while (!E); 括号中的表达式!E等价于。

A)E==0 B)E!=1 C)E!=0 D)E==113.以下是死循环的程序段是。

A)for (i=1; ; ) {if (i++%2==0) continue ;if (i++%3==0) break ;}B)i=32767;do { if (i<0) break ; } while (++i) ;C)for (i=1 ; ;) if (++I<10) continue ;D) i=1 ; while (i--);14.执行语句for (i=1;i++<4;) ; 后变量i的值是。

A)3 B)4 C)5 D)不定15.以下程序段。

x=-1;do{ x=x*x; }while (!x);A)是死循环B)循环执行2次C)循环执行1次D)有语法错误16.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。

main ( ){ int a,max=0;scanf(“%d”,&a);while (【】) {if (max<a) max=a ;scanf (“%d”,&a);}printf(“%d”,max);}A)a==0 B)a C)!a==1 D)!a17.以下不是死循环的语句是。

A)for (y=9,x=1;x>++y;x=i++) i=x ;B)for ( ; ; x++=i ) ;C)while (1) { x++ ; }D)for (i=10 ; ; i--) sum+=i ;18.下面程序段的运行结果是。

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,2019.以下for循环的执行次数是。

for (x=0,y=0; (y=123) && (x<4) ; x++) ;A)无限循环B)循环次数不定C)4次D)3次20.若运行以下程序时,输入2473↙,则程序的运行结果是。

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)D)6688766二.填空题语言三个循环语句分别是语句,语句和语句。

2.至少执行一次循环体的循环语句是。

3.循环功能最强的循环语句是。

5.程序段for (a=1,i=-1; -1<i<1; i++){ a++ ; printf(“%2d”,a); } ;printf(“%2d”,i) ;的运行结果是。

三.判断题1.在while循环中允许使用嵌套循环,但只能是嵌套while循环。

【】2.在实际编程中,do-while循环完全可以用for循环替换。

【】语句只能用于三个循环语句中。

【】4.在不得已的情况下(例如提高程序运行效率),才使用goto语句。

【】5.语句标号与C语言标识符的语法规定是完全一样的。

【】循环的三个表达式可以任意省略,while,do-while也是如此。

【】允许从外部转到循环体内。

【】的循环控制条件比do-while的循环控制条件严格。

【】循环中,根据情况可以省略while。

【】循环的while后的分号可以省略。

【】四.程序阅读题1.写出下面程序运行的结果。

main ( ){ int x,i ;for (i=1 ; i<=100 ; i++) {x=i;if (++x%2==0)if (++x%3==0)if(++x%7==0)printf(“%d ”,x) ;}}2.写出下面程序运行的结果。

main ( ){ int i,b,k=0 ;for (i=1; i<=5 ; i++) {b=i%2;while (b--=0) k++ ;}printf(“%d,%d”,k,b);}3.写出下面程序运行的结果。

main ( ){ int a,b;for (a=1,b=1 ; a<=100 ; a++) {if (b>=20) break;if (b%3==1) { b+=3 ; continue ; } b-=5;}printf(“%d\n”,a);}4.写出下面程序运行的结果。

main ( ){ int k=1,n=263 ;do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k);}5.写出下面程序运行的结果。

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.写出下面程序运行的结果。

main ( ){ int i,j;for (i=0;i<3;i++,i++) {for (j=4 ; j>=0; j--) {if ((j+i)%2) {j-- ;printf(“%d,”,j);continue ;}--i ;j-- ;printf(“%d,”,j) ;}}}7.写出下面程序运行的结果。

main ( ){ int a=10,y=0 ;do {a+=2 ; y+=a ;if (y>50) break ;} while (a=14) ;printf(“a=%d y=%d\n”,a,y) ;}8.写出下面程序运行的结果。

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);}9.写出下面程序运行的结果。

main ( ){ int y=2,a=1;while (y--!=-1)do {a++ ;} while (y--) ;printf(“%d,%d\n”,a,y);}10.写出下面程序运行的结果。

main ( ){ int i,k=0;for (i=1; ; i++) {k++ ;while (k<i*i) {k++ ;if (k%3==0) goto loop ;}}loop:printf(“%d,%d\n”,i,k);}六.程序填空题1.下述程序用“碾转相除法”计算两个整数m和n的最大公约数。

该方法的基本思想是计算m 和n相除的余数,如果余数为0则结束,此时的被除数就是最大公约数。

否则,将除数作为新的被除数,余数作为新的除数,继续计算m和n相除的余数,判断是否为0,等等,请填(3)空使程序完整。

main ( ){ int m,n,w;scanf(“%d,%d”,&m,&n);while (n) {w=【1 】;m=【2 】;n=【3 】;}printf(“%d”,m);}2.下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填(3)空使程序完整。

相关文档
最新文档