C语言循环习题答案

合集下载

C语言习题 循环1

C语言习题 循环1

循环1一、单项选择题1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A____。

A. if((a>b)&&(b>c)) k=1;B. if((a>b)||(b>c)) k=1else k=0; else k=0;C. if(a<=b) k=0;D. if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;2、C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的___B___不能丢,它表示do_while循环的结束。

A. \nB. “;”C. “%”D. “,”3、执行程序段:x=-1; do { x=x*x;} while(!x); 的结果是__C____。

A. 死循环B. 循环执行2次C. 循环执行一次D. 有语法错误4、下面程序段的输出结果是__D____。

int i,sum;for(i=1;i<=10;i++)sum+=sum;printf("%d\n",i);A. 10B. 9C. 15D.不确定5、以下叙述正确的是___C___。

A. for循环中设置for(条件)break,当条件成立时中止程序执行。

B. for循环中设置for(条件)continue,当条件成立时中止本层循环。

C. for循环中设置for(条件)break,当条件成立时中止本层循环。

D. for循环中设置for(条件)break,当条件成立时暂停本次循环。

6、下面有关for循环的正确描述是__D____。

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

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

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

D. for循环的循环体语句中,可以包含多条语句。

C程序设计(循环)习题与答案

C程序设计(循环)习题与答案

一、单选题1、有以下程序段:int k=2;while (k=0) { printf("%d",k) ; k-- ; }则下面描述中正确的是()。

A.循环体语句一次也不执行B.while循环执行10次C.循环是无限循环D.循环体语句执行一次正确答案:A2、下面程序段执行后的输出结果是()。

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.2,1,0B.2,1,1C.1,2,0D.1,2,1正确答案:D3、下面程序段执行后的输出结果是()。

#include <stdio.h>int main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d",x,y,z);return 0;}A.4,3,-1B.5,-2,-5C.3,2,0D. 3,2,-1正确答案:D4、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择()填入到【】中。

#include <stdio.h>int main(){ int m=0,n=0; char c;while ((【】)!='\n') {if (c>='A' && c<='Z') m++ ;if (c>='a' && c<='z') n++ ;}return 0;}A.scanf("%c",&c)B.c==getchar()C.getchar()D.c=getchar()正确答案:D5、语句while (!E){......}; 中的表达式!E等价于()。

c语言循环章节练习题(部分答案)

c语言循环章节练习题(部分答案)

循环章节练习题一、选择题1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是_______.A. while循环执行10次。

B.循环是无限循环。

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

D.循环体语句执行一次。

2.设有以下程序段:int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);则________。

A. 运行程序段后输出0。

B. 运行程序段后输出1。

C.程序段中的控制表达式是非法的。

D.程序段执行无限次。

3.下面程序段的运行结果是________。

x=y=0;while(x<15) {y++;x+=++y;}printf(“%d,%d”,y,x);A.20,7 B. 6,12C. 20,8D. 8,203.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n 中的较大者,请选择填空。

#incldue <stdio.h>main(){ int m=0,n=0;char c;while( (___1____)!=’\n’){ if(c>=’A’&&’Z’) m++;if(c>=’a’&&’z’) n++;}printf(“%d\n”,m<n?___2____);}1)A.c=getchar() B.getchar()C.c=getcharD.scanf(“%c”,c);2)A. n:m B. m:n C. m:m D. n:n4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。

#include <stdio.h> main(){ int a,max=0;scanf(“%d”,&a);while(_______){ if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max); }A.a==0B.aC.!a=1D. !a5.下面程序的运行结果是______。

C语言循环习题答案

C语言循环习题答案

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。

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

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

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

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。

广技师C语言复习题4. 练习(循环结构)(有答案)

广技师C语言复习题4. 练习(循环结构)(有答案)

一、选择题1. 设有如下程序段,则下面描述正确的是int k=10;while (k=0) k=k-1;A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段的运行结果是a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--;}pirntf(“%d, %d, %d”,a,b,c);A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 3. 下面程序段的运行结果是。

int n=0;while(n<=2) n++; printf(“%d”,n);A.2 B.3 C.4 D.有语法错误4. 设有如下程序段,则描述正确的是。

t=0;while (printf(“*”)){t++; if(t<3) break;}A.其中循环控制表达式与0等价B.其中循环控制表达式与‘0’等价C.其中循环控制表达式是不合法的D.以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。

#include<stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}return 0;}A.!a=b B.a!=b C.a==b D.a=b8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。

#include<stdio.h>int main(){int a,max=0;scanf("%d",&a);while( ){if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);return 0;}A.!a=0 B.a!=0 C.a= =0 D.a=09. 下面程序的运行结果是。

循环程序设计习题与答案

循环程序设计习题与答案

循环程序设计习题与答案模块三循环程序设计习题及答案一、填空题1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。

2、循环的 3 要素是、、。

3、在循环语句体中包含另一个循环语句的用法称为。

4、执行循环语句体中的break 语句后将使用包含它的循环语句。

5 、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。

6、在for 语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。

7、在for 语句中,省略表达式 2 时,则循环为循环。

8、执行语句for(i=1;i++<4; );后变量i 的值是。

9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。

10、在每次循环周期均要执行一次的语句,称为。

11、for 语句括号内的3 个表达式的作用分别是、和循环控制变量的更新。

二、选择题1、若k 为整形变量,则while 循环共循环()。

k=5;while(k>=0) k-1;A、无限循环B、6 次C、5 次D、4 次2、与while( ! n) ; 中表达式!dn 等价的是()。

A、dn>=0 B 、dn!=0C、dn == 0D、dn != 13、以下程序段,while 循环执行的次数是()int k=0;while( k == 1) k++;A、无限次B、有语法错,不能执行C、一次也不执行D、执行 1 次4、在C语言中,当do while 语句中的条件为()时,结束该循环。

A、0B、1C、TRUED、非05、下面程序段的输出结果是()do{ b-=a;a++;}while(b--<0);A、10,-1B、2,8C、9,0D、4,-36、以下描述正确的是()A、由于do while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do while 循环由do 开始,用while 结束,在while( 表达式)后面不能写分号C、在do while 循环体中,一定要有能使while 后面匠值变为零的操作D、do while 循环中,根据情况可以省略while7、若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值(c大于0)。

C语言单元复习题 第06部份 循环

C语言单元复习题  第06部份 循环
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;

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

C语言习题 循环2

C语言习题 循环2

循环2一、单项选择题1. 以下程序的输出结果是______。

#include<stdio.h>void main(){ int num=0; while(num<=2) { num++; printf("%d",num); } }A. 2B. 1C. 123D. 12参考标准答案:C2. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。

#include <stdio.h>void main(){ int x; scanf("%d",&x);if(x>5)printf("%d",x);else printf("%d\n",x--);}A. 7和5B. 6和3C. 7和4D. 6和4参考标准答案: D3. 以下描述中正确的是______。

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

B. do-while循环由do开始,用while结束,因此在while(表达式)后无需加分号。

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

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

参考标准答案: C4. 下面程序段的输出结果是______。

int i=10;while(i>7) { i--; printf(" %d",i); }A. 10 9 8B. 9 8 7C. 10 9 8 7D. 8 9 10参考标准答案:B5. 若i为整型变量,则以下循环执行的次数是______。

for(i=2;i==0;) printf("%d",i--);A. 无限次B. 0次C. 1次D. 2次参考标准答案:B6. 执行下面程序段后,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.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)。

练习题--循环(答案)

练习题--循环(答案)
(C) n/10
(D) n%10
20、下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空。①( B )②( C )
#include&lt;stdio.h&gt;
void main()
{
long int num;
scanf(&quot;%ld&quot;,&amp;num);
(D) do-while的循环体不能是复合语句
15、以下能正确计算1×2×3×...×10的程序段是( C )
(A) do{i=1; s=1;
s=s*i;
i++;
}while(i&lt;=10);
(B) do{i=1;s=0;
s=s*i;
i++;
}while(i&lt;=10);
a);
while( ① )
{
if(max&lt;a) max=a;
scanf(&quot;%d&quot;,&amp;a);
}
printf(&quot;%d&quot;,max);
}
#include&lt;stdio.h&gt;
void main()
{
int a,q,n,sum;
a=1; q=2; n=sum=0;
do{ ① ;
++n; a*=q;
}while(sum&lt;100);
② ;
printf(&quot;%d\n&quot;,n);

(完整版)C语言循环习题答案

(完整版)C语言循环习题答案

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。

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

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

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

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。

广技师C语言复习题4.练习(循环结构)(有答案)

广技师C语言复习题4.练习(循环结构)(有答案)

一、选择题1. 设有如下程序段,则下面描述正确的是int k=10;while (k=0) k=k-1;A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段的运行结果是a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--;}pirntf(“%d, %d, %d”,a,b,c);A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 3. 下面程序段的运行结果是。

int n=0;while(n<=2) n++; printf(“%d”,n);A.2 B.3 C.4 D.有语法错误4. 设有如下程序段,则描述正确的是。

t=0;while (printf(“*”)){t++; if(t<3) break;}A.其中循环控制表达式与0等价B.其中循环控制表达式与‘0’等价C.其中循环控制表达式是不合法的D.以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。

#include<stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}return 0;}A.!a=b B.a!=b C.a==b D.a=b8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。

#include<stdio.h>int main(){int a,max=0;scanf("%d",&a);while( ){if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);return 0;}A.!a=0 B.a!=0 C.a= =0 D.a=09. 下面程序的运行结果是。

(完整版)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__。

C语言程序设计(循环)习题与答案

C语言程序设计(循环)习题与答案

一、单选题1、关于下面程序段,正确的是()。

int k=10;while(!k)k--;A.循环体一次也不执行B.死循环C.循环体执行1次D.循环体执行10次正确答案:A2、下面程序的运行结果是( )。

#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1B.死循环C.1 -2D.10正确答案:C3、已定义int j; 下面程序段的输出结果是()。

for(j=7;j<10;j++)printf("%d",j);A.无结果B.8910C.789D.91011正确答案:C4、下面程序的输出结果是()。

#include <stdio.h>int main( ){int i,j,s=0;for(j=1,i=7;j<=i;j++,i--)s=s+i+j;printf("%d",s);return 0;}A.0B.死循环C.32D.28正确答案:C5、下面程序的输出结果是()。

#include <stdio.h>int main( ){int j,s;for(j=1;j<=7;j++)s=s+j;printf("%d",s);}A.死循环B.0C.不确定D.28正确答案:C6、已定义int j,s; 则下面程序段的输出结果是()。

int j,s;for(j=1,s=0;j<=5;j++)s*=j;printf("%d",s);A.0B.无结果C.120D.死循环正确答案:A7、从循环体内某一层跳出,继续执行循环外的语句是( )。

A.if语句B.break语句C.空语句D.continue语句正确答案:B8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。

C语言程序设计习题集第4章 循环结构(答案)

C语言程序设计习题集第4章 循环结构(答案)

第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次2、t为int类型,进入下面的循环之前,t的值为0while( t=1){ …… }则以下叙述中正确的是( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D) m!=14、有以下程序,程序运行后的输出结果是(C )。

main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D )。

main(){ int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A) 987 B) 876 C) 8765 D) 98767、以下程序的输出结果是( B )main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1 B) 1 C)1 D) l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。

main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序{ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。

C语言习题五循环结构程序设1

C语言习题五循环结构程序设1

习题五循环结构程序设计1. 有以下程序main(){ int i, j;for(i=1;i<4;i++){ for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);printf("\n");} }程序运行后的输出结果是。

A、1*1=1 1*2=2 1*3=3B、1*1=1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C、1*1=1D、1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9解析:本题考查的是循环嵌套。

在一个循环体内又完整地包含了另一个循环,称为循环嵌套。

外循环i 的值分别为1、2、3,当i=1,内循环j=1时,输出1*1=1;当内循环j=2时,输出1*2=2;当内循环j=3时,输出1*3=3;当i=2,内循环j=2时,输出2*2=4;当内循环j=3时,输出2*3=6;当i=3,内循环j=3时,输出3*3=9。

故本题答案选B。

2. 有以下程序main(){ int k=5, n=0;do{switch(k){case 1: case 3: n+=1; k--; break;default: n=0; k--;case 2: case 4: n+=2; k--; break;}printf("% d",n);}while(k>0 && n<5);}程序运行后的输出结果是______。

A、235B、0235C、02356D、2356解析:本题考查的是循环嵌套。

do-while语句的特点是先执行循环体,然后判断循环条件是否成立,当循环条件的值为0时循环结束。

执行switch语句,寻找与5吻合的case 5分支,没有寻找到,于是执行default后的语句,n=0,k的值变为4,继续执行switch语句,寻找与4吻合的case 4分支,开始执行其后的各语句:n+=2=0+2=2,k的值变为3,遇到break语句跳出该switch语句体。

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

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

循环结构程序设计习题及答案1、循环语句的三要素分别是、、;2、for语句括号内的3个表达式的作用分别是、、;3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环;4、在循环结构中,break语句的作用是;continue语句的作用是;5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次;6、下面程序段的执行次数:int a=0;whilea=0{ printf"good\n";a--;}7、下面程序段的执行次数:int a=0;whilea==0{ printf"good\n";a--;}8、下面程序段的执行次数:int a=1;whilea=1{ printf"good\n";a++;}9、下面程序段的执行次数:int a=1;whilea==1{ printf"good\n";a++;}10、下列程序段的运行结果是;fori=5;i>=0;i--printf“%d “,i;11、下列程序段的运行结果是;forn=1;n<20;n=n+3printf“%d “,n;12、下列程序段的运行结果是;for ch='a' ;ch<='e' ;ch++printf“%d“,ch-97;13、下列程序段的运行结果是;fori=1,j=5 ; i<j ; i++,j--printf“i=%d j=%d\n“,i,j;14、下列程序段的运行结果是;forn=1 ; nn<20 ; n++printf“%d \n“,n+n;二、选择题1、下列程序段中,死循环的是A、for i=1; ;B、i=32767;{ if++i%2==0 continue; doif++i%3==0 break; { ifi<0 break;} }while++i;C、i=1;D、fori=1; ;whilei--; if++i<10 break;2、下列程序段中,不是死循环的是A、int i=10;B、for ; 1;while1{ i=i%100+1;ifi>100 break;}C、int a=0;D、int x=21;do whilex{ ++a; --x;}whilea>=0;三、阅读程序,写出程序运行结果;1、include"stdio.h"main{int i=0,sum=1;do{sum+=i;i++;}whilei<5;printf"%d\n",sum;}程序运行结果:2、include"stdio.h"main{int a,b;b=10;a=1;whilea<=ba=2;printf"%d\n",a;}程序运行结果:3、include"stdio.h"main{int x=2;whilex--;printf"%d\n",x;}程序运行结果:4、include"stdio.h"main{int x=3;do{printf"%d\n",x-=2;}whilex;}程序运行结果:5、include"stdio.h"main{int i;fori=1;i<=5;i++switchi%5{case 0:printf"";break;case 1:printf"";break;case 2:printf"&";break;default:printf"\n";}}程序运行结果:6、include"stdio.h"main{char ch;whilech=getchar=''putchar++ch;}程序运行结果:7、include"stdio.h"main{int i,j;fori=0;i<=5;i++{forj=1;j<10;j++ifj==5 break;ifi<2 continue;ifi>2 break;printf"j=%d\n",j;}printf"i=%d\n",i;}程序运行结果:8、include"stdio.h"main{int x ,y;x=37,y=13;whilex=y{ifx>yx=x-y;ify>xy=y-x;}printf"x=%d\n",x;}程序运行结果:四、编程题1、输出下列图案12 43 6 94 8 12 165 10 15 20 252、输出下列图案3、编程求2-4+6-8+…-100+102的值;4、输出公元1500年至2500年所有的闰年的年号;5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入;循环结构程序设计参考答案一、填空题、1.循环条件循环体循环控制变量2.循环变量赋初值循环测试条件循环变量更新3.执行整个周期外层循环条件为假4.提前结束包含它的循环语句的执行提前结束本次循环周期开始执行下一次循环周期5.0 1 06.07. 18.无数9. 110.5432111.147****161912.0123413.I=1,j=5I=2,j=414.14916二、选择题1. B2. D三、程序运行结果1.112.163.-14.15.&6.bgufsoppo7.i=5J=38.x=1四、编程题1.include"stdio.h"main{int i,j;fori=1;i<=5;i++{forj=1;j<=i;j++printf"%d ",ij;printf"\n";}}2.include"stdio.h"main{int i,j;fori=5;i>=1;i-=2{forj=1;j<=i;j++printf"";printf"\n";}}3.include"stdio.h"main{int i,y=1,s=0;fori=2;i<=102;i+=2{ s=s+yi;y=-1; y=-y; }printf"2-4+6+...-100+102=%d",y;}4.include"stdio.h"main{int i;fori=1500;i<=2500;i++ifi%4==0&&i%100=0||i%400==0printf"%d ",i;}5.include"stdio.h"main{float cj,min,max=0;printf"请输入学生成绩,输入负数时结束:\n";scanf"%f",&cj;min=cj;whilecj>=0{ifcj>maxmax=cj;ifcj<minmin=cj;scanf"%f",&cj;}printf"max=%f\nmin=%f",max,min; }。

C语言循环习题集答案解析

C语言循环习题集答案解析

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。

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

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

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

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。

(完整版)C语言循环习题答案

(完整版)C语言循环习题答案

(完整版)C语言循环习题答案循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;k--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。

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

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

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

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。

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

循环习题集锦
一.选择题
1.for(i=0;i<10;i++);结束后,i得值就是;(10)
A 9
B 10
C 11
D 12
2.下面程序得循环次数就是:(D)
int k=0;
while(k<10)
{if(k<1) continue;
if(k==5) break;
k++;
}
A、 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序得输出结果就是(10)
main()
{
int s,k;
for(s=1,k=2;k<5;k++)
s+=k;
printf(“%d\n”,s);
}
A 1
B 9
C 10
D 15
4、要使下面程序输出10个整数,则在下画线处填入正确得数就是:(c)
for(i=0;i<= ;)
printf(“%d\n”,i+=2);
A 9
B 10
C 18
D 20
5、运行下面程序:(B)
main()
{ int i=10,j=0;
do
{ j=j+i;
i--;
}while(i>5);
printf(“%d\n”,j);
}
输出结果就是:
A 45
B 40
C 34
D 55
6.运行下面程序
#include “stdio、h”
main()
{ int k=0,a=1;
while(k<10)
{
for( ; ;)
{ if((k%10)==0)
break;
else
k--;
}
k+=11;
a+=k;
}
printf(“%d %d\n”,k,a);
}
则输出得结果就是(C)
A 21 32
B 21 33
C 11 12
D 10 11
7.以下叙述正确得就是:(D)
A.do---while语句构成得循环不能用其她语句构成得循环来代替。

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

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

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

8.有如下程序:
main()
{ int x=3;
do{
printf(“%d”,x--);
}while(!x);
}
该程序得执行结果就是:(C)
A 3 2 1
B 2 1 0
C 3
D 2
9.若k为整型变量,则下面while循环执行得次数为:(A)
k=10;
while(k==0) k=k-1;
A 0
B 1
C 10 D无限次
10.下面有关for循环得正确描述就是(D)
A.for循环只能用于循环次数已经确定得情况
B.for循环就是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体。

D.for循环得循环体语句汇总,可以包含多条语句,但必须用花括号括起来。

11.对for(表达式1;;表达式3)可理解为(B)
A for(表达式1;0;表达式3)
B for(表达式1;1;表达式3)
C for(表达式1;表达式1;表达式3)
D for(表达式1表达式2;表达式3)
12.若i为整型变量,则以下循环执行得次数就是(B)for(i=2;i==0;)printf(“%d”,i--);
A.无限次 B 0次 C 1次 D 2次
13.以下循环体得执行次数就是;(B)
main()
{
int I,j;
for(i=0,j=3;i<=j;i+=2,j--)
printf(“%d\n”,i);
}
A 3
B 2
C 1
D 0
14、执行以下程序后,输出结果就是:(D)
main()
{ int y=10;
do { y--;}while(--y);
printf(“%d”,y--);
}
A -1
B 1
C 8
D 0
15 以下程序得输出结果就是:(C)
mian()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10) break;
if(b%3==1) {b+=3; continue;}
}
printf(“%d”,a);
}
A 101
B 3
C 4
D 5
二、填空题
1.循环得3个常见语句分别就是?(for,while,do,break,continue)2.下面程序得运行结果为:(14,26)
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);
}
3、从键盘输入1 2 3 4 5 -1 回车,则下面程序运行得结果就是:(14,-1)
main()
{ int n,k=0;
{ scanf(“%d”,&n);
k+=n;
}while(n!=-1);
printf(“k=%d,n=%d”,k,n);
}
4、下面程序得运行结果为:39 (--i= 1,i=2两次循环)
main()
{int i,j,s=0;
for(i=1,j=5;i<j;i++,j--)
s+=i*10+j;
printf(“\n%d”,s);
}
5.下面程序得运行结果就是19 (i=9,s=9;i=6,s=15;i=3,s=18) main()
{
int i=10,s=0;
for(;--i;)
if(i%3==0)
s+=i;
s++;
printf(“\ns=%d”,s);
6、下面程序得运行结果就是–22222(n=4,s=22; n=4,s=222;n=2,s=2222;n=1,s=22222)
main()
{int a=2,n=5,s;
s=a;
for(;--n;)
s=s*10+a;
printf(“%d”,s);
}
7、下面得程序运行时,循环体语句“a++”运行得次数为:10 main()
{int i,j,a=0;
for(i=0;i<2;i++)
for(j=4;j>=0;j--)
a++;
}
8、下面得程序运行后,a得值为:7
main()
{ int i,j,a=0;
for(i=0;i<2;i++) a++;
for(j=4;j>=0;j--) a++;
9、下面程序得运行结果为:(8) --(s=4,i=3;s=7,i=4;s=11,i=6;s=17,i=8) int i=1,s=3;
do{
s+=i++;
if(s%7==0) continue;
else ++i;
}while(s<15);
printf(“%d”,i);
10、当运行以下程序时,从键盘输入China# 回车,则下面程序得运行结果就是:5,5
#include “stdio、h”
main()
{ int v1=0,v2=0;
char c;
while((c=getchar())!=’#’)
{ switch(c)
{ case ‘a’:
case ‘h’:
default:v1++;
case ‘o’:v2++;
}
}
printf(“%d,%d\n”,v1,v2);
}
三、改错题
1.for(i-0,i<5,i++) j++;
2.while(j<10); {j++;i=j;}
3.do {j++;a=j;}while(j<10)
4.用下面程序来实现5!
int s=1,i=1;
while(i<=5)
s*=i;
i++;
5、下面程序段实现求半径r=1到r=10得圆面积,直到面积大于100为止。

For(r=1;r<=10;r++)
{s=3、14*r*r;
if(s>100) continue;
printf(“%f”,s);
}
四、编程题
1.求1-2+3-4+…+99-100。

2.任意输入10个数,分别计算输出其中得正数与负数之与。

3.计算1---100以内得所有含6得数得与。

4.输出所有得3位水仙花数。

所谓水仙花数就是指所有位得数字得立方之与等于该数,例如:153=13+33+53
5.编写程序输出下面图形。

1
23
456
7890
6.编写程序输出下面图形
*
***
*****
*******
*****
***
*。

相关文档
最新文档