循环结构(答案)

合集下载

第6章循环结构程序设计习题及答案

第6章循环结构程序设计习题及答案

第6章循环结构程序设计6-1.比较while语句、do–while语句和for语句的异同。

答:(1)while语句、do-while语句用于条件循环,for语句用于计数循环。

(2)while语句、for语句是先判断循环条件,后执行循环体,如果循环条件一开始就不成立,则循环体一次也不被执行;而do-while语句是是先执行循环体,后判断循环条件,所以循环体至少被执行一次。

(3)知道循环的次数可选用for语句实现循环,不知道循环的次数可选用while语句或do-while语句实现循环.(4)一般而言,三种循环语句可等价实现.6-2 仔细阅读下面的程序,指出程序的运行结果.#include<stdio.h>void main(){ int i;for(i=0;++i;i<5){ if(i==3){printf("%d\n",++i);break;}printf("%d\n",++i);}}答:24思考:语句“for(“i=0;++i;i<5”)在编译时为何会给出语法警告错误?当将其改为“for(i=0;i<5;++i)”时,运行结果又将如何?6-3 仔细阅读下面的语的程序,指出程序的运行结果。

#include"stdio.h"void main(){ int i, a=0;for(i=1;i<=5;i++){do{i++;a++;} while(i<3);}i++;printf("a=%d,i=%d",a,i);}答:a=3,i=7思考:在for循环中嵌套着do-while循环,那么do-while循环中对i的修改会对for循环产生影响吗?6-4编写程序,用1000个单词”computer”填充屏幕,每行60个 .解:#include<stdio.h>void main(){ int i;for(i=1;i<=1000;i++){ printf("computer.");if(i%60==0)printf("\n");}}思考:在for循环中,”if(i%60==0)printf(“\n”);”语句的作用是什么?没有此语句将会是什么状况?6-5输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。

广技师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++循环结构23道题(含答案)

C++循环结构23道题(含答案)
int m,n,i; cin>>m>>n; for(i=m;i>=1;i--)
{ if(m%i==0&&n%i==0)
break; }
cout<<i<<endl; return 0; }
循环 15:斐波那契数列 判 断 第 n 个 斐 波 那 契 数 列 能 否 被 3 整 除 给 定 斐 波 那 契 数 列 为 : F(0)=1, F(1)=1,
3%; 4%;
输出:每个收入对应的纳税额 输入 4 900 2000 4000 6000 输出 0 60 160 360 #include<iostream> using namespace std; int main() {
double m,tax;;int i,n; cin>>n; for(i=1;i<=n;i++) {
循环 04:西瓜卖几天
n 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为
5 时,卖一半为卖 2
个。
输入:西瓜个数,输出:天数
输入 10 输出 2
输入 50 输出 4
测试
输入 120 输出 5
#include<iostream>
#include<iostream> using namespace std; int main() {
int n,i=1; double s=0; cin>>n; while(i<=n) {
s+=1.0/i; i++;}

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.设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是(C)A.w hile 循环执行10次B.循环是无限循环C.循环体语句一次也不执行D. 循环体语句执行一次2.设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);则()A运行程序段后输出0 B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次3.语句while(!E);中的表达式!E等价于()A. E= =0B.E!=1C.E!=0D.E= =14.下面程序的运行结果是()a=1;b=2;c=2;while(a<b<c) {t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);A.1,2,0B.2,1,0C.1,2,1D.2,1,15.下面程序的运行结果是()x=y=0;while (x<15) y++,x+=++y;printf(“%d,%d”,y,x);A.20,7B.6,12C.20,8D.8,206.下面程序的运行结果是()int n=0;while(n++<=2) ;printf(“%d”,n);A.2B.3C.4D.有语法错7.设有程序段t=0;while(printf(“*”)){t++;if(t<3) break;}A.其中循环控制表达式与0等价B. 其中循环控制表达式与‘0’等价B.其中循环控制表达式是不合法的D.以上说法都不对8.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空:#include “stdio.h”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);}}A.!a=bB.a!=bC.a= =bD.a=b9.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m,n中较大者,请选择填空:#include “stdio.h”main(){int m=0,n=0;char c;while(( 1 )!= ‘\n’){if(c>= ‘A’&&c<= ‘Z’) m++;if(c>= ‘a’&&c<= ‘z’) n++;}printf(“%d\n”,m<n? 2 );}[1]A.c=getchar() B.getchar() C.c=getchar() D.scanf(“%c”,c)[2]A.n:m B.m:n C.m:m D.n:n10.下面程序的功能是将小写字母变成对应大写字母后的第二个字母,其中y变成A,z变成B。

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

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

第三单元循环结构练习题选择题: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)。

循环结构习题有答案

循环结构习题有答案

第6章循环结构程序设计1.以下叙述正确的是()A、do-while语句构成的循环不能用其它语句构成的循环代替。

B、d o-while语句构成的循环只能用break语句退出。

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

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

答案:D2.以下程序的输出结果是( )A、10,1 9,2B、9,8 7,6C、10,9 9,0D、10,10 9,1main( ){int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d,%d",x--,y);}答案:D注解:循环执行2次,由x控制循环的执行次数;输出值为两次循环过程中x每次的自减值和y在for语句的第三个表达式中得到的i自增变化后的值。

3.以下程序的输出结果是( )A、2 0B、3 1C、3 2 1D、2 1 0main( ){ int n=4;while(n--) printf("%d ",--n);}答案:A4.以下程序的输出结果是( )A、#*#*#B、#####C、*****D、*#*#*main( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf("#");continue;}printf("*");}printf("\n");}答案:A注解:循环控制变量i的值从1变化到5,i为1、3、5时,i%2为1,if语句的条件为真,则执行if后的子句,输出#,然后执行continue语句,终止本次循环的执行,进入下一轮循环,i为2、4时,i%2为0,if语句的条件为假,则if后的子句并不执行,直接输出*,所以最后的输出为#*#*#。

5.以下程序的输出结果是( )A、编译不通过,无输出B、acegC、acegiD、abcdefghimain( ){ int i;for(i='A';i<'I';i++,i++) printf("%c",i+32);printf(" \n");}答案:B注解:循环控制变量i的取值为A、C、E、G,将它们转化为小写字母的格式输出。

广技师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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C)n=10; D)for(n=0,i=1; ;i++) n+=i;
while(n); {n--;}
7.有以下程序
main( )
{
int i,n=0;
for(i=2;i<5;i++)
{
do
{
if(i%3) continue;
n++;
} while(!i);
n++;
}
printf("n=%d\n",n);
11.以下程序的功能是:将输入的正整数按逆序输出。例如,若输入135,则输出531,请填空。
#include <stdio.h>
main()
{
int n,s;
printf("Enter a number:"); scanf("%d",&n);
printf("Output: ");
do
{
s=n%10; printf("%d",s);
C.循环次数可能为0D.先执行后判断
16.下面有关for循环的正确描述是_____。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
scanf("%d",&n);
do{ s=s+t; t=t-2; }while (t!=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数
5.有以下程序
#include <stdio.h>
main()
{
int x=8;
for( ; x>0; x--)
B、在switch语句中,break语句的作用也可用continue语句来替代
C、在循环语句中,使用continue语句是为了结束本次循环,而不是终止循环的执行
D、在循环语句中,使用break语句是为了使流程跳出循环体,提前结束循环
15.对do-whie语言错误的说法是()
A.可构成多重循环结构B.循环次数不可能为0
}
程序执行后的输出结果是D
A)n=5B)n=2C)n=3D)n=4
8.有以下程序
main()
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2) continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
程序执行后的输出结果是B
{
if(x%3)
{
printf("%d, ",x--);
continue;
}
printf("%d, ",--x);
}
}
程序的运行结果是D
A)7,4,2B)8,7,5,2C)9,7,6,4D)8,5,4,2
6.以下不构成无限循环的语句或者语句组是A
A)n=0; B)n=0;
do{++n;}while(n<=0); while(1){n++;}
printf("\n");
}
执行后的输出结果是A
A)1B)2C)4D)死循环
3.若变量已正确定义,有以下程序段
i=0;
do
printf("%d,",i);
while(i++);
printf("%d\n",i)
其输出结果是B
A)0,0B)0,1C)1,1D)程序进入无限循环
4.有以下程序段D
int n,t=1,s=0;
作业3循环结构学号姓名
1.有以下程序
main()
{int y=10;
while(y--); printf("y=%d\n",y);
}
程序执行后的输出结果是B
A)y=0B)y=-1C)y=1D)while构成无限循环2.有以下程序mai源自(){int k=5;
while(--k) printf("%d",k-=3);
printf("\n");
}
}
在下划线处应填入的是B
A)iB)2*i-1C)2*i+1D)i+2
10.以下程序段中的变量已正确定义
for(i=0;j<4;i++,i++)
for(k=1;k<3;k++); printf("*");
程序段的输出结果是()D
A)********B)****C)**D)*
A)x=4B)x=8C)x=6D)x=12
9.下面程序的功能是输出以下形式的金字塔图案
*
***
*****
*******
main( )
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++) printf(" ");
for(j=1;j<=_______;j++) printf("*");
printf(“\n”);}}
A、2 5 7 9 13 17 19B、3 5 7 11 13 17 19
C、2 3 5 7 11 13 17 19 D、3 5 7 11 13 17 20
13.intI=5; while ( i>=1)I--;执行后,I的值为
14.以下不正确的描述是()
A、break语句只能用于循环语句和switch语句
__n/=10___;
} while(n!=0);
printf("\n");
}
12.下面程序运行后,其输出是()
main()
{int i;int n=2;
while(++n<20)
{i=1;
while(++i){if(n%i==0)
break;
if(i==n-1)
printf(“%d\t”,n);}
相关文档
最新文档