文档库 最新最全的文档下载
当前位置:文档库 › C语言第四份练习题(循环结构)

C语言第四份练习题(循环结构)

C语言第四份练习题(循环结构)
C语言第四份练习题(循环结构)

一、选择题

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

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

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=b

6. 下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

#include

int main()

{int m=0,n=0;

char c;

while(( )!='\n')

{if(c>='a' && c<='z') n++;

if(c>='A' && c<='Z') m++;

}

printf("%d\n",m

return 0;

}

A.c= =getchar( ) B.getchar( ) C.c=getchar( ) D.scanf(“%c”,c)

A.n:m B.m:n C.m:m D.n:n

7. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。请选择填空。

#include

int main()

{char c;

while((c=getchar())!='\n')

{if(c>='a' && c<='z')

{ ;

if(c>'Z') ;

}

printf("%c",c);

}

return 0;

}

A.c+=2 B.c-=32 C.c=c+32+2 D.c=c-32+2

A.c=‘B’B.c=‘A’C.c-=26 D.c=c+26

8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。#include

int main()

{int a,max=0;

scanf("%d",&a);

while( )

{if(max

scanf("%d",&a);

}

printf("%d\n",max);

return 0;

}

9. 下面程序的运行结果是。

#include

int main()

{int num=0;

while(num<=2)

{num++;

printf("%d",num);

}

return 0;

}

A.1 B.12 C.123 D.1234

10. 若运行以下程序是,从键盘输入2473<回车>,则下面程序的运行结果是。#include

int 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;

}

return 0;

}

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

11. 以下程序的功能是计算一个整数的各位数字之和,请选择填空。

#include

int main()

{int n,m=0;

scanf("%d",&n);

for( ; n!=0; )

{m ;

n/=10;

}

printf("%d\n",m);

return 0;

}

A.+=n%10 B.=n%10 C.+=n D.=n/10 12. 以下能正确计算1×2×3×······×10的程序段是。

A.do

{i=1;s=1;

s=s*i;

i++;

}while(i<=10) B.do

{i=1;s=0;

s=s*i;

i++;

}while(i<=10)

C.i=1;s=1;

do

{s=s*i;

i++;

}while(i<=10) D.i=1;s=0;

do

{s=s*i;

i++;

}while(i<=10)

13. 以下程序段。

x=-1;

do

{ x=x*x;}while(!x);

A.是死循环B.循环执行二次C.循环执行一次D.有语法错误14. 以下描述中正确的是。

A.while、do-while、for循环中的循环体语句都至少被执行一次

B.do-while循环中,while(表达式)后面的分号可以省略

C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作D.do-while循环中,根据情况可以省略while

15.下面程序的功能是计算正整数2345的各位数字的平方和,请填空。

#include

int main( )

{ int n=2345,sum=0;

do

{ sum=sum+ ;

n= ;

}while(n);

printf(“sum=%d”,sum);

return 0;

}

A.n%10 B.(n%10)*(n%10)

C.n/10 D.(n/10)*(n/10)

A.n/1000 B.n/100 C.n/10 D.n%10

16. 假设等比数列的第一项a=1,公比q=2,下面程序的功能是满足前n项和小于100的最大n,请选择填空。

#include

int main()

{int a=1,g=2,n=0,sum=0;

do

{ ;

n++; a*=g;

}while(sum<100);

;

printf("%d\n",n);

return 0;

}

A.sum++ B.sum+=a C.sum=a+a D.a+=sum

A.n=n-2 B.n=n C.n++ D.n-=1

17. 下面程序的运行结果是。

#include

int main()

{ int y=10;

do

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

printf("%d\n",y--);

return 0;

}

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

18.下面有关for循环的正确描述是。

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

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

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

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

19. 对for(表达式1;;表达式3)可理解为。

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

C.for(表达式1;表达式1;表达式3) D.or(表达式1;表达式3;表达式3) 20. 若i为整型变量,则以下循环执行次数是。

for (i=2; i= =0; ) printf(“%d”,i--);

A.无限次B.0次C.1次D.2次

21. 以下不是无限循环的语句为。

A.for(y=0, x=1; x>++y; x=i++) i=x; B.for( ; ; x++=i);

C.while(1) {x++;} D.for(i=10; ; i--) sum+=i;

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

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

A.**3

##4

**5 B.##3

**4

##5

C.##3

**4##5

D.**3##4

**5

23. 下面程序的运行结果是。#include

int 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("&");

}

return 0;

}

A.#&&&* B.#&

&

&* C.#

&

&

&

*

D.#&

*

24. 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。

#include

int main( )

{ int x,y,z,I,result=532;

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

for(y=1;y<10;y++)

for( ; z<10; z++)

{ i=100*x+10*y+z+100*y+10*z+z;

if ( )

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

}

return 0;

}

A.z=x B.z=1 C.z=0 D.z=y

A.i/result==1 B.i=result C.i!=result D.i==result

25. 以下正确的描述是。

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

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

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

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

26. 在下面的程序中,。

#include

int main()

{int t,x;

for(t=1;t<=100;t++)

{scanf("%d",&x);

if(x<0) continue;

printf("%3d",t);

}

}

A.当x<0时整个循环结束

B.x>=0时什么也不输出

C.printf函数永远也不执行

D.最多允许输出100个非负整数

27. 与下面程序段等价的是。

for(n=100; n<=200; n++)

{ if(n%3==0) continue;

printf(“%4d”,n);

}

A.for(n=100; (n%3) && n<=200; n++) printf(“%4d”,n);

B.for(n=100; (n%3) || n<=200; n++) printf(“%4d”,n);

C.for(n=100; n<=200; n++) if(n%3!=0) printf(“%4d”,n);

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

{if(n%3) printf(“%4d”,n);

else continue;

break;

}

28. 下面程序的运行结果是。

#include

int 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);

return 0;

}

A.7 B.8 C.9 D.10

二、填空题

1. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。int n=0, c;

while( )

{ if( ) n++;

c=getchar( )

}

2. 有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计买完所需的天数,请填空。

#include

int main( )

{ int day=0, x1=1020, x2;

while

{ x2= ;

x1=x2;

day++;

}

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

return 0;

}

3. 当运行以下程序时,从键盘键入right?<回车>,则下面程序的运行结果是。#include

int main()

{char c;

while((c=getchar( ))!='?') putchar(++c);

putchar('\n');

return 0;

}

4. 下面程序的运行结果是。

#include

int main()

{int a=2,s=0,n=1,count=1;

while(count<=7) {n=n*a;s=s+n;++count;}

printf("s=%d\n",s);

return 0;

}

5. 当运行以下程序时,从键盘输入“China#<回车>”,则下面程序的运行结果

是。

#include

int main()

{int v1=0,v2=0; char ch;

while((ch=getchar( ))!='#')

switch(ch)

{case 'a':

case 'h':

default: v1++;

case 'o': v2++;

}

printf("%d,%d\n",v1,v2);

return 0;

}

6. 下面程序段中循环体的执行次数是。

a=10; b=0;

do { b+=2; a-=2+b;}while(a>=0);

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

x=2;

do { printf(“*”); x--; } while(!x= =0);

8. 下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。

#include

int main( )

{ int i=1,j=0;

do

{ if

{ printf(“%4d”,i);

j++;

if printf(“\n”);

}

i=i+1;

} while(i<1000);

return 0;

}

9. 当运行以下程序时,从键盘输入“1 2 3 4 5 -1<回车>”,则下面程序的运行结果是。

#include

int main()

{ int k=0,n;

do

{scanf("%d",&n);k+=n;}while(n!=-1);

printf("k=%d n=%d\n",k,n);

return 0;

}

10. 下面程序的运行结果是。

#include

int main()

{int i=0,x=0,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);

return 0;

}

11. 下面程序段是找出整数的所有因子。请填空。

#include

int main()

{int x,i;

scanf("%d",&x);

i=1;

for( ; ; )

{if(x%i==0) printf("%3d",i);

i++;

}

return 0;

}

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

鸡,y代表有多少只兔子,请填空完成程序。

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

{y=30-x;

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

}

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

for(a=1,i=-1; -1<=i<1; i++)

{ a++; printf(“%2d”,a);}

printf(“%2d”,i);

14. 下面程序的功能是1-3+5-7+……-99+101的值。请填空。

#include

int main()

{int i,t,s=0,q=1;

for(i=1;i<=101;i+=2)

{t= ; s=s+t; q= ;}

printf("%d\n",s);

return 0;

}

15. 以下程序的功能是根据公式e=1+1/1!+1/2!+1/3!+……,求e的近似值,精度要求为10-6。请填空。

#include

int main()

{int i; double e,n;

; n=1.0;

for(i=1; ;i++)

{n/=i;e+=n;}

printf("e=%f\n",e);

return 0;

}

16. 下面程序的运行结果是。

#include

int main()

{int i;

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

switch(i%2)

{case 0: i++; printf("#");break;

case 1: i+=2; printf("*");

default: printf("\n");

}

return 0;

}

17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数。请填空。#include

int main()

{int n=0,i,j,k;

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

for(k=0;k<=8; )

if(k!=i)

for(j=0;j<=9;j++)

if( )

{printf("%d\n",i*100+j*10+k);

n++;

}

printf("n=%d\n",n);

return 0;

}

18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数。请填空。#include

int main()

{ int n,k=1,s=0,m;

for(n=1;n<=100;n++)

{k=1;s=0;

;

while( )

{k*=m%10;

s+=m%10;

;

}

if(k>s) printf("%5d",n);

}

printf("\n");

return 0;

}

19. 下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案。请填空。

#include

int main()

{int i,j,k;

printf("\n hong bai hei\n");

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

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

{k=8-i-j;

if( ) {printf("%3d%3d%3d",i,j,k);printf("\n");}

}

return 0;

}

20. 若从键盘输入65 14<回车>,则下面程序的运行结果是。

#include

int main()

{int m,n;

printf("Enter m,n:");

scanf("%d%d",&m,&n);

while(m!=n)

{while(m>n) m-=n;

while(n>m) n-=m;

}

printf("m=%d\n",m);

return 0;

}

21. 下面程序的功能是计算100-1000之间有多少个数其各位数字之和是5。请填空。

#include

int main()

{ int i,s,k,count=0;

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

{ s=0;k=i;

while( ) {s+=k%10; k= ;}

if(s!=5) ;

else

{count++; printf("%6d",i);}

if(count%5==0) putchar('\n');

}

putchar('\n');

return 0;

}

22. 下面的程序是从键盘输入的10个整数中,找出一个能被7整除的数,若找到,打印次数;若未找到,打印not exist。请填空。

#include

int main( )

{ int k,a;

for(k=1;k<=10;k++)

{ scanf(“%d”,&a);

if(a%7= =0)

}

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

else printf(“not exist\n”);

return 0;

}

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

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--) {

c语言循环结构上机习题

c语言循环结构上机习 题 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

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,amin);} 7、使用循环语句输出以下图形 8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。 8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。 分析:

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

C语言循环结构练习题 带答案 Company Document number:WTUT-WT88Y-W8BBGB-

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

while(!x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误(6)下列语句段中不是死循环的是__C__。 =100; while(1) { i=i%100+1; if(i==20)break; } (i=1;;i++) sum=sum+1; =0; do { ++k; }while(k<=0); =3379; while(s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while(a) { if(b)continue; c; } (a) (c) {if(!b)c;} {if(!b)break;c;} (c) (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<

c语言循环结构练习

2015-2016(2)循环结构练习题 一、单选题(共40题,共100分) 1. 以下正确的描述是()(2分) 语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 标准答案:B \ 考生答案: 2. 下面的关键字中,不能够从循环体中跳出循环体外的是()(2分) 标准答案:D 考生答案: 3. 以下叙述中错误的是()(2分) A.语句标号是由合法的标识符后面加一个冒号构成 语句的作用是把程序的执行转向语句标号所在的位置 语句必须与语句标号在同一个函数内 D.结构化程序设计主张使用goto语句,使用goto语句的程序可读性强# 标准答案:D 考生答案: 4. 有以下程序段,while 循环执行的次数是() int k=0; while(k=1)k++; (2分) A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次 标准答案:A 考生答案: 5. 运行以下程序的结果为() · main() { int num=0; while (num<=2) {num++; printf("%d",num); } } (2分) 标准答案:B > 考生答案: 6. 下述程序的输出结果是()。

main() { int Y=100; while(Y--); printf("y=%d",Y); (2分) =0 =1 =随机值 =-1 标准答案:D ; 考生答案: 7. 执行下面的程序后的输出结果为() int x,y,z; x=20,y=40,z=15; while(y>x) x+=4,y-=4; z/=2; printf("%d,%d,%d",x,y,z); (2分) ,36,30 ,8,7 ,28,7 ,28, 标准答案:C ? 考生答案: 8. 以下程序段的输出结果是() int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); (2分) ,2,0 ,2,-1 ,3,-1 ,-2,-5 标准答案:B 考生答案: 9. 下述语句执行后,变量k的值是() int k=1; ~ while(k++<10); (2分) D.此为无限循环,值不定 标准答案:B 考生答案: 10. 下面程序的运行结果是()。 main() { int c1=2, c2=0; while(!c2--) printf("%d,%d", c1--, c2); , } (2分) ,-1 B.不输出任何内容 ,-1 ,0 标准答案:C 考生答案: 11. 运行以下程序后,如果从键盘上输入china#main( ) { int v1=0,v2=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<

广技师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

D.以上说法都不对 5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。 #include 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=b 8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。 #include int main() {int a,max=0; scanf("%d",&a); while( )

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++;

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

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

do { x=x*x; } while(!x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误(6)下列语句段中不是死循环的是__C__。=100; while(1) { i=i%100+1; if(i==20)break; } (i=1;;i++) sum=sum+1; =0; do { ++k; }while(k<=0); =3379; while(s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while(a) { if(b)continue; c; } (a) (c) {if(!b)c;} {if(!b)break;c;} (c) (a) {if(b)c;} {if(b)break;c;} (8)以下程序的输出结果是_B___。

C语言循环结构练习题

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

C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是____。 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)与以下程序段等价的是____。 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)以下程序的输出结果是____。

C语言循环结构练习测试题带参考答案

第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ? ? ? ? ? 1. ( ( C. ( A. (A。 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. { D. ( { } A. C. ( { { COUT< main() { intnum=0; while(num<=2) { num++;

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

C语言循环结构练习题

C语言循环结构练习题 Company Document number:WTUT-WT88Y-W8BBGB-

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

A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是____。 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)与以下程序段等价的是____。 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)

C语言FOR循环练习题配解析

C语言F O R循环练习 题配解析 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

实验五循环结构实验——f o r循环目的和要求: 1、掌握循环结构程序设计的方法 2、掌握简单循环程序设计方法 3、掌握for循环程序设计 实验题目: 1、求1+2+3+……+100的和,并输出。 #include <> main () { int a,b=0; a=1; for(;a<=100;a++) b=b+a; printf ("1+2+3+···+100=%d\n",b); } 2、利用for循环编程,输出如下图形: * * ** ** *** *** **** **** ***** *****

****** ****** ******* ******* ******** ******** (a)图 (b)图 A #include <> main() { int a,b; for (a=1;a<=8;a++) { for(b=1;b<=a;b++) printf ("\*"); printf ("\n"); } } B #include <> main() { int a,b; for (a=1;a<=8;a++) {

for (b=1;b<=8-a;b++) printf (" "); for(b=1;b<=a;b++) printf ("\*"); printf ("\n"); } } 3、判断输入的某个数是否为素数,若是,输出YES,否则输出NO. #include <> main () { int a,b,c=1; printf ("请输入一个数(正整数)\n"); scanf ("%d",&a); if (a==1) printf ("NO\n"); else { if (a==2) printf ("YES\n"); else { for(b=2;b<=(a-1);b++)

C语言循环结构练习题

5.2 练习题5 1. 单项选择题 (1)语句while (!e);中的条件!e等价于。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是____。 A. i=100; while (1) { i=i%100+1; if (i==20) break;

第5章循环结构程序设计35 } 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)与以下程序段等价的是____。 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)以下程序的输出结果是____。 #include main() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; printf("%d",i); } } A. 45 B. 457810 C. 69 D. 678910 (9)以下程序的输出结果是____。 #include main() { int num=0; while (num<=2) {

C语言习题:顺序、选择、循环

顺序结构程序设计 2.3.1 要点导读 () 与scanf()语句。 printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。它们位于库文件中。 2.字符数据的输入输出。 最简单的字符输入输出函数是getchar()和putchar()。两者分别从键盘读一个字符或向显示屏写一个字符。 2.3.2 经典例题分析 1.下列程序运行后输出的结果是。 #include <> void main() { int a=0,b=0; a=10;

b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息: (1) 格式说明。由”%”和格式字符组成,如:%d、%f、%c 等。它的作用是将输出的数据转换成指定的格式输出。 (2) 普通字符。需要原样输出的字符。 2)”输出表列”是需要输出的一些数据,可以是表达式。 题目中a的值是10,b的值是20,在 printf(“a+b=%d”,a+b); 格式说明 中,”a+b= “是普通字符,需原样输出。输出表列是一个表达式,它的结果以整型输出。 答案:a+b=30。 2.下列程序运行后输出的结果是。

#include <> void main() { int a=732; printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 printf(“%d\n”,a);把a的值按原样输出:732。printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732。printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格。printf(“%-10d\n”,a); 结果占10列,“-”表示把数值放到左端,732占3列小于10列,所以右端补7个空格。

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

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

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

7、以下程序的输出结果是( B ) main() { int num= 0; while(num<=2) { num++; printf(“%d\n”,num);} } A) 1 B) 1 C)1 D) l 2 2 2 3 3 4 8、有以下程序,若运行时输入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;} else break;} printf(“%f\n”,y);} A)1.500000 B)1.600000 C)2.000000 D)2.400000 9、执行以下程序段时 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 {

C语言循环结构选择题(新)2

循环结构练习一 1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for (j=0;j<4;j++){...} A) 20 B) 25 C) 24 D) 30 2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 for(i=0,j=10;i<=j;i++,j--) k=i+j; A) 12 B) 10 C) 11 D) 9 3、当执行以下程序段时 x=-1; do { x=x*x;} while( !x); A) 循环体将执行一次 B) 循环体将执行两次 C) 循环体将执行无限次 D) 系统将提示有语法错误 4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。 while((ch=getchar())=='e') printf("*"); A) 5 B) 4 C) 6 D) 1 5、有以下程序段 int k=0; while (k=1) k++; while循环执行的次数是 A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行一次 6、语句while(!e);中的条件 !e 等价于( )。 A) e==0 B) e!=1 C) e!=0 D) ~e 7、以下for循环是( )。 for(x=0,y=0;(y!=123) && (x<4);x++) A) 无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次 8、C语言中while 和do-while 循环的主要区别是( )。 A) do-while的循环体至少无条件执行一次 B) while 的循环控制条件比do-while 的循环控制条件严格 C) do-while 允许从外部转到循环体内 D) do-while 的循环体不能是复合语句 9、以下叙述正确的是( )。 A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和switch语句体内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 10、对下面程序段,描述正确的是( )。 for(t=1;t<=100;t++) { scanf("%d",&x); if (x<0) continue; printf("%d\n",t); } A) 当x<0时,整个循环结束 B) 当x>=0时,什么也不输出 C) printf函数永远也不执行 D) 最多允许输出100个非负整数 11、在下列选项中,没有构成死循环的程序段是 A) int i=100; while (1) { i=i%100+1; if (i>100) break; } B) for( ; ; ); C) int k=1000; do {++k;} while (k>=1000); D) int s=36; while (s) --s; 12、以下程序的输出结果是 main( ) { int a,b; for(a=1,b=1;a<=100;a++) { if (b>=10) break; if (b%5==1) { b+=5; continue; } } printf("%d\n",a); } A) 101 B) 6 C) 4 D) 3 13、以下程序的输出结果是( )。 #include main() { int i; for(i=1;i<=5;i++) if(i%2) printf("*"); else continue; printf("#"); printf("$\n"); } A) ***#$ B) #*#*#*$ C) *#*#*#$ D) **#*$ 14、以下程序段的输出结果是( )。 int k,j,s; for(k=2;k<6;k++,k++) { s=1; for(j=k;j<6;j++) s+=j;} printf("%d\n",s); A) 1 B) 9 C) 11 D) 10 15、以下程序段的输出结果是( )。 int k,n,m; n=10;m=1;k=1; while (k<=n) {m*=2;k+=4;} printf("%d\n",m); A) 4 B) 16 C) 8 D) 32 16、设有如下程序段: int i=0, sum=1; do { sum+=i++;} while(i<6); printf("%d\n", sum); 上述程序段的输出结果是( )。 A) 11 B) 16 C) 22 D) 15 17、以下程序的输出结果是( )。 #include main( ) { int count,i=0; for(count=1; count<=4; count++) {i+=2; printf("%d",i);} } A) 20 B) 246 C) 2468 D) 2222 18、下面程序的输出结果是( )。 main( ) { unsigned int num,k; num=26;k=1; do { k*=num%10; num/=10; } while(num); printf("%d\n", k); } A) 2 B) 12 C) 60 D) 18 19、阅读以下程序: main( ) { int x; for(x=5;x>0;x--) if (x--<5) printf("%d,",x); else printf("%d,",x++); } 程序运行后的输出结果是( )。 A) 4,3,1 B) 4,3,1, C) 5,4,2 D) 5,3,1,

相关文档
相关文档 最新文档