循环结构练习一
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,
20、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出 最高成绩和最低成绩,当输入负数时结束输入。请填空。 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); } A) x<=0 B) x>0 C) x>0 D) x>=0 x>amin x<=amin x>amin x
A) m=3 B) m=2 C) m=1 D) m=0 24、下面程序的输出结果是( )。 main( ) { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d %d ",x--,y); } A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 25、有如下程序 main( ) { int n=9; while(n>6) {n--;printf("%d",n);} } 该程序段的输出结果是 A) 987 B) 876 C) 8765 D) 9876
26、函数pi 的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求π的功能。 #include
main( )
{ int n1,n2;
scanf("%d",&n2); while (n2!=0) { n1=n2%10; n2=n2/10;
printf("%d",n1); } }
程序运行后,如果从键盘上输入1298,则输出结果为( )。
A) 892 B) 8921 C) 89 D) 921
28、以下函数的功能是:求x 的y 次方,请填空。 main( )
{ int i,x,y; double z;
scanf("%d %d",&x,&y); for(i=1,z=x;i printf("x^y=%e\n",z); } A) i++ B) x++ C) x D) i 29、下面程序的运行结果是( )。 main( ) { int a,b; a=-1; b=0; do { ++a; ++a; b+=a; } while(a<9); printf("%d\n",b); } A) 34 B) 24 C) 26 D) 25 30、执行下面程序段后,k 的值是( )。 int i,j,k; for(i=0,j=10;i A) 9 B) 11 C) 8 D) 10 循环结构练习二 1、下面程序的运行结果是( )。 main( ) { int m=7,n=5,i=1; do { if (i%m==0); if (i%n==0) { printf("%d\n",i); break;} i++; } while(i!=0); } A) 7 B) 6 C) 5 D) 4 2、下面程序的运行结果是( )。 main( ) { int s=0,i=1; while (s<=10) { s=s+i*i; i++; } printf("%d",--i); } A) 4 B) 3 C) 5 D) 6 3、以下程序的输出结果是( )。 #include main( ) { int num=0; while (num<=2) { num++; printf( "%d\n",num); } } A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 4、以下程序运行后的输出结果是( )。 #include main( ) { int s=0,k; for(k=7;k>=0;k--) {switch(k) { case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; } } printf("s=%d\n",s); } A)s=5 B)s=1 C)s=3 D)s=7 5、以下程序运行后的输出结果是( )。 #include main( ) { int i,j; for(i=4;i>=1;i--) { printf("*"); for(j=1;j<=4-i;j++) printf("*"); printf("\n"); } } A)* B)**** C)* D)**** ** *** ** **** *** ** *** **** * 6、有以下程序 #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"); } 从第一列开始输入以下数据, 2473 A) 668977 B) 668966 C) 66778777 D) 6688766 7、当从键盘上输入字符“12134211”下面程序的 输出结果是( )。 main( ) { char s; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;k<=7;k++) { scanf("%c",&s); switch(s) { default: v4++; case '1': v1++; case '3': v3++; case '2': v2++; } } printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); } A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8 8、运行以下程序后,如果从键盘上输入china#<回车>, 则输出结果为 #include 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); } A) 2,0 B) 5,0 C) 5,5 D) 2,5 9、下列程序的输出结果是( )。 main( ) { int i, j, m=0, n=0; for(i=0; i<2; i++) for(j=0; j<2; j++) if (j>=i) m=1; n++; printf("%d \n",n); } A) 4 B) 2 C) 1 D) 0 10、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。 #include main( ) { int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; ______; c+=b; } printf("偶数之和=%d\n",a); printf("奇数之和=%d\n",c-11); } A) i+=2 B) i++ C) b=b+1 D) b=i+1 11、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include main( ) { int i,j; for(i=0;______; i++) { j=i*10+6; if (_______) continue; printf("%d",j); } } A) i<=10 B) i<10 C) i<10 D) i<=9 j%3!=0 j/3 j%3!=0 i%3 12、要输出下面的图形,请完善程序。 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 #include main( ) { int i,j,k; for(i=1;i<=6;i++) { for(j=1;j<=20-2*i;j++) printf(" "); for(k=1;________;k++) printf("%2d",i); ________________ } } A)i<=k B)k D)k<=i printf(" "); printf("\n"); printf("\n"); printf(" "); 13、要输出下面的图形,请完善程序。 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 #include main( ) { int i,j,k; for(i=1;i<=5;i++) { for(j=1;j<=20-3*i;j++) printf(" "); for(k=1;_________;k++) printf("%3d",k); for(__________;k>0;k++) printf("%3d",k); printf("\n"); } } A) k<=i B)k k=i k=i-1 k=i k=i-1 14、运行以下程序后,如果从键盘上输入4 6 8 12 -9 58 2 -1< 回车>, 则输出结果为( )。 main( ) { int x,i,m; do scanf("%d",&x); while (x<0 && x!=-1); m=x; while (x!=-1) { scanf("%d",&x); if (x>0 && x>m) m=x; } if (m!=-1) printf("m=%d\n",m); } A) m=-9 B) m=2 C) m=58 D) m=-1 15、运行以下程序后,如果从键盘上输入12,8<回车>, 则输出结果为( )。 main( ) { int a,b,n1,n2,t; scanf("%d,%d",&n1,&n2); if (n1>n2) { t=n1;n1=n2;n2=t;} a=n1;b=n2; while (b!=0) { t=a%b; a=b; b=t; } printf("%d,%d\n",a,n1*n2/a); } A) 2,6 B) 4,24 C) 4,12 D) 8,96 16、下列程序的输出结果是( )。 main( ) { int i, j, k; for(i=0;i<=2;i++) { for(k=1;k<=i;k++) printf(" "); for(j=0;j<=3;j++) printf("*"); printf("\n"); } } A) **** B) **** **** **** **** **** C) **** D) *** **** *** **** *** 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 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语言循环结构上机习 题 标准化工作室编码[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只,问一百只鸡中公鸡、母鸡、小鸡各多少)。 分析: 精心整理 第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< 第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 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< 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; (1)有以下程序段 int n,t=1,s=0; scanf("%d",&n); do{ s=s+t; t=t-2; }while (t!=n); t==n t=-1,-3,-5 为使此程序段不陷入死循环,从键盘输入的数据应该是 A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数 (2)设变量已正确定义,则以下能正确计算f = n!的程序段是 A) f=0; B) f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i 一、选择题 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 第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< 第 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++; 第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的循环控制条件严格 第5章循环结构程序设计35 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___。 第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___。 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 1以下不是死循环的语句是 C 。 A、for(i=10; ; i++ ) sum+=i; B、while (1){x++;} C、for(; (c=getchar())!=?\n?;) printf(“%c”, c); D、for(;; x+= i); 2以下程序的输出结果是 A 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); } printf(“\n”); } A、28 70 B、39 81 C、42 84 D、26 68 3. 以下程序段的输出结果是 B 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、15 B、10 C、24 D、9 4以下程序的输出结果是 B main() { int i, sum; for(i = 1; i < 6; i++) sum += i; printf(“%d\n” sum); } A、15 B、不确定 C、16 D、0 有以下程序 main() { int i; for(i=0; i<3; i++) switch(i) { case 1: printf("%d", i); case 2: printf("%d", i); default : printf("%d", i); } } 执行后输出结果是 A A、011122 B、120 C、012020 D、012 以下程序段的输出结果是 C 。 int n=10; while(n>7) { n--; Pr intf(“%d”, n ); } A、1098 B、10987 C、987 D、9876 下面程序的运行结果是 A #include 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语言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++) 实验五循环结构实验——for循环 目的和要求: 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++) { if(a%b==0) { c=0; 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 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); A)a=1 b=2 c=1 B)a=1 b=2 c=3 C)a=1 b=3 c=1 D)a=2 b=3 c=2 顺序结构程序设计 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语言练习2(选择和循环结构)
c语言循环结构上机习题
C语言循环结构测习题带答案
C语言循环结构练习题带答案
C语言循环结构练习题带答案
c语言循环结构练习
二级C语言5练习(循环含答案)
广技师C语言复习题4._练习(循环结构)(有答案)
C语言循环结构练习测试题带参考答案
C语言循环结构练习题带答案.doc
C语言循环结构练习题带答案
C语言循环结构练习题带答案
C语言循环结构练习题
C语言循环练习
C语言循环结构练习题
C语言FOR循环练习题配解析
C语言FOR 循环练习题 配解析
C语言练习2(选择和循环结构)
C语言习题:顺序、选择、循环