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

合集下载

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

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

循环结构程序设计习题与答案1、循环语句的三要素分别是、、.2、for语句括号内的3个表达式的作用分别是、、.3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环.4、在循环结构中,break语句的作用是;continue语句的作用是.5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次.6、下面程序段的执行次数:int a=0;while<a=0>{ printf<"good\n">;a--;}7、下面程序段的执行次数:int a=0;while<a==0>{ printf<"good\n">;a--;}8、下面程序段的执行次数:int a=1;while<a=1>{ printf<"good\n">;a++;}9、下面程序段的执行次数:int a=1;while<a==1>{ printf<"good\n">;a++;}10、下列程序段的运行结果是.for<i=5;i>=0;i-->printf<"%d ",i>;11、下列程序段的运行结果是.for<n=1;n<20;n=n+3>printf<"%d ",n>;12、下列程序段的运行结果是.for<ch='a' ;ch<='e' ;ch++>printf<"%d",ch-97>;13、下列程序段的运行结果是.for<i=1,j=5 ; i<j ; i++,j-->printf<"i=%d j=%d\n",i,j>;14、下列程序段的运行结果是.for<n=1 ; n*n<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; { if<i<0> break;} }while<++i>;C、i=1;D、for<i=1; ; >while<i-->; if<++i<10> break;2、下列程序段中,不是死循环的是〔〕A、inti=10;B、for< ; 1;>while<1>{ i=i%100+1;if<i>100> break;}C、int a=0;D、int x=21;do while<x>{ ++a; --x;}while<a>=0>;三、阅读程序,写出程序运行结果.1、#include"stdio.h"main<>{inti=0,sum=1;do{sum+=i;i++;}while<i<5>;printf<"%d\n",sum>;}程序运行结果:2、#include"stdio.h"main<>{inta,b;b=10;a=1;while<a<=b>a*=2;printf<"%d\n",a>;}程序运行结果:3、#include"stdio.h"main<>{int x=2;while<x-->;printf<"%d\n",x>;}程序运行结果:4、#include"stdio.h"main<>{int x=3;do{printf<"%d\n",x-=2>;}while<!x>;}程序运行结果:5、#include"stdio.h"main<>{inti;for<i=1;i<=5;i++>switch<i%5>{case 0:printf<"*">;break; case 1:printf<"#">;break; case 2:printf<"&">;break; default:printf<"\n">;}}程序运行结果:6、#include"stdio.h"main<>{charch;while<<ch=getchar<>>!='!'>putchar<++ch>;}程序运行结果:7、#include"stdio.h"main<>{inti,j;for<i=0;i<=5;i++>{for<j=1;j<10;j++>if<j==5> break;if<i<2> continue;if<i>2> break;printf<"j=%d\n",j>;}printf<"i=%d\n",i>;}程序运行结果:8、#include"stdio.h"main<>{int x ,y;x=37,y=13;while<x!=y>{if<x>y>x=x-y;if<y>x>y=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.1 4 7 10 13 16 1912.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<>{inti,j;for<i=1;i<=5;i++>{for<j=1;j<=i;j++>printf<"%d ",i*j>;printf<"\n">;}}2.#include"stdio.h"main<>{inti,j;for<i=5;i>=1;i-=2>{for<j=1;j<=i;j++>printf<"*">;printf<"\n">;}}3.#include"stdio.h"main<>{inti,y=1,s=0;for<i=2;i<=102;i+=2>{ s=s+y*i;y*=-1; 〔y=-y>; } printf<"2-4+6+...-100+102=%d",y>;}4.#include"stdio.h"main<>{inti;for<i=1500;i<=2500;i++>if<i%4==0&&i%100!=0||i%400==0> printf<"%d ",i>;}5.#include"stdio.h"main<>{floatcj,min,max=0;printf<"请输入学生成绩,输入负数时结束:\n">; scanf<"%f",&cj>;min=cj;while<cj>=0>{if<cj>max>max=cj;if<cj<min>min=cj;scanf<"%f",&cj>;}printf<"max=%f\nmin=%f",max,min>;}。

循环结构习题有答案

循环结构习题有答案

第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,将它们转化为小写字母的格式输出。

第五章循环结构程序设计习题解答

第五章循环结构程序设计习题解答

5、设某县2000年工业产值为200亿元,如果该县预计平均 每年工业总产值增长率为4.5%,那么多少年后该县工业总 产值将超过500亿? 算法步骤: 第一步,输入2000年的年生产总值. 第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于 500.若是,则输出该年的年份;否则,返 回第二步. (1)确定循环体:设a为某年的年生产 总值,t为年生产总值的年增长量,n为 年份,则循环体为t=0.045a,a=a+t,n=n+1. (2)初始化变量: n=2000, a=200. (3)循环控制条件: a>500
3、从键盘输入一个正整数n,计算该数的各位数字之和并输出。 #include <stdio.h> void main() { long n; int s, i=1,j=10; scanf("%ld",&n); s=n%10; while(n/j!=0) { s=s+n/j%10; j=j*10; i++; } printf("i=%d, s=%d ",i,s); }
11、 九· 九表----1
1 1 2 3 4 5 6 7 8 9 2 2 4 6 8 10 12 14 16 18 3 3 6 9 12 15 18 21 24 27 4 4 8 12 16 20 24 28 32 36 5 5 10 15 20 25 30 35 40 45 6 6 12 18 24 30 36 42 48 54 7 7 14 21 28 35 42 49 56 63 8 8 16 24 32 40 48 56 64 72 9 9 18 27 36 45 54 63 72 81
2、输入一串字符,直到输入一个星号为止, 统计(输出)其中的字de <stdio.h> void main() { char ch; int char_num=0,int_num=0; ch=getchar(); while(ch!='*') { if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) char_num++; else if(ch>='1'&&ch<='9') int_num++; ch=getchar(); } printf("char_num = %d, int_num = %d\n",char_num,int_num); }

循环程序设计课后编程题参考答案

循环程序设计课后编程题参考答案

第四章循环程序设计课后编程题参考答案编程语言基础-C语言(主编陈琳)1、输入10个整数,输出其中正数的个数2、已知华氏温度F与摄氏温度C的关系是:C=5/9*(F-32).编写程序,计算华氏温度F为-10,0,10,20,…,290度时摄氏温度的值。

3.4、输入一行字符,输出其中字母的个数?5、输入一行字符,输出其中字母,数字和其他字符的个数?6、输入一个正整数,将其逆序输出。

7、从3个红球,5个白球,6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案8、一个人很倒霉,不小心打碎了一个妇女的一篮子鸡蛋。

妇女记得鸡蛋的数量是每次拿出2个则剩余1个,每次拿出3个则剩余2个,每次拿出5个则剩余4个,每个鸡蛋1元,最少应赔偿妇女多少钱?9、有1、2、3、4共4个数字能组成多少个互不相同且无重复数字的三位数?要求输出所有可能的三位数。

10、求出100-200之间的回文数11、一个球从100m高度自由落下,每次落地后返回原来高度的一半,再落下。

求在第10次落地时共经过多少米?12、猴子第一天吃掉了所有桃子的一半多一个,第二天又吃了剩余一半多一个,依次如此,到第N天时准备吃的时候发现只剩下一个桃子了。

问第一天来有几个桃子?要求N由用户从键盘输入。

分析:每天剩余桃子数量是剩余量+1的二倍,设剩余量为s,则每天吃前的桃子数量为2*(s+1) (最后一天除外),如果吃两天后(也就是第三天发现N)剩余1个则是倒数第2天吃前:2*(1+1)=4倒数第3天吃前2*(2*(1+1)+1)=10循环次数N-1,每次循环得到的结果就是吃前的数量。

13、输出1!+2!+ (20)14、输入一个数a和一个整数n,s=a+aa+aaa+aa…a,最后一个项为n个a,计算并输出s 的值。

15。

循环程序设计习题及答案

循环程序设计习题及答案

循环程序设计习题及答案循环程序设计习题及答案1-基本循环控制结构1-1 基本循环结构示例<代码示例>1-2 循环条件<代码示例>答案:循环条件是一个布尔表达式,如果条件为true,循环将继续执行。

如果条件为false,循环将终止。

1-3 循环计数器<代码示例>答案:循环计数器是一个变量,用于记录循环执行的次数。

1-4 循环控制语句1-4-1 break语句<代码示例>答案:break语句用于提前终止循环,并跳出循环体。

1-4-2 continue语句<代码示例>答案:continue语句用于跳过当前循环体中剩余的代码,直接进入下一次循环。

2-常见循环题型2-1 计算累加和<代码示例>答案:使用循环结构,每次迭代都将当前值累加到一个变量中。

2-2 计算阶乘<代码示例>答案:使用循环结构,每次迭代都将当前值与累积值相乘,并更新累积值。

2-3 猜数字游戏<代码示例>答案:使用循环结构,与用户交互对比猜测的数字与目标数字,直到猜测正确或达到最大猜测次数。

3-循环的嵌套和嵌套控制结构3-1 嵌套循环结构示例<代码示例>3-2 循环的嵌套控制3-2-1 嵌套循环的break语句<代码示例>答案:break语句可以终止当前循环,并直接跳出嵌套循环的外层循环。

3-2-2 嵌套循环的continue语句<代码示例>答案:continue语句可以跳过当前循环体中的剩余代码,并继续下一次迭代。

4-附件本文档没有涉及附件。

5-法律名词及注释5-1 循环:程序中一种重复执行的结构,可通过循环变量控制执行次数。

5-2 循环条件:循环结构中的判断条件,决定循环是否继续执行。

5-3 循环计数器:循环结构中用于记录循环次数的变量。

5-4 break语句:用于提前终止循环,并跳出循环体的语句。

5-5 continue语句:用于跳过当前循环体中剩余的代码,直接进入下一次循环的语句。

第5章 循环结构程序设计习题解答

第5章 循环结构程序设计习题解答

第5章循环结构程序设计习题解答1.输入n个整数,求这n个数之中的偶数平均值,并输出。

#include<stdio.h>void main(){int n,i,x,k=0,s=0;printf("Input a number(n):");scanf("%d",&n);printf("Input %d numbers:",n);for(i=0;i<n;i++){scanf("%d",&x);if(x%2==0){s+=x;k++;}}s/=k;printf("average=%d\n",s);}2.输入一串字符,直到输入一个星号*为止,统计(输出)其中字母个数和数字字符个数。

#include<stdio.h>void main(){int n=0,m=0;char c;printf("Input a string character:");do{scanf("%c",&c);if(c>='0'&&c<='9')n++;else if(c>='A'&&c<='Z'||c>='a'&&c<='z')m++;}while(c!='*');printf("number_char=%d\n",n);printf("letter_char=%d\n",m);}3.从键盘输入一正整数n,计算该数各位数字之和并输出。

例如,输入数是5246,则计算5+2+4+6=17并输出。

#include<stdio.h>void main(){int n,r,m=0,s=0;printf("Input a number(int):");scanf("%d",&n);do{r=n%10;s=s+r;n/=10;if(m==0)printf("%d",r);//加式中的第1项不带“+”elseprintf("+%d",r);m++;}while(n>0);printf("=%d\n",s);}4.输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。

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

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

第三单元循环结构练习题选择题: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.下面有关for循环的正确描述是( )A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来[解答]:D。

2.对于for(表达式1;;表达式3)可理解为()A.for(表达式1;1;表达式3)B.for(表达式1:1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)[解答]:B。

3.以下正确的描述是()。

A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句[解答]:B。

4.C语言中( )。

A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环D.do—while语句构成的循环,当while语句中的表达式值为零时结束循环[解答]:D。

5.C语言中while和do-while循环的主要区别是( )A.do—while的循环体至少无条件执行一次B.while的循环控制条件比do—while的循环控制条件严格C.do—while允许从外部转到循环体内D.do-while的循环体不能是复合语句[解答]:A。

6.下面程序段不是死循环的是()。

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(s);while(k>=0); --s;[解答]:C。

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

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

第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<>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""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<>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输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。

循环结构习题有答案

循环结构习题有答案

第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,将它们转化为小写字母的格式输出。

实训四 循环结构程序设计和答案

实训四 循环结构程序设计和答案

实训四循环结构程序设计(注:答案在后面)班级:学号:姓名:实训时间:一、实训目标掌握循环结构程序的设计和调试方法。

1、掌握while、do whil、for三种C循环语句的执行流程。

2、掌握一般循环程序设计的步骤(循环体、循环条件、循环初始化)。

3、学会提前结束程序的方法(break语句)。

4、学会多循环出口时判断循环出口的方法。

5、学会循环程序的调试方法。

6、掌握求极值、分类统计、求素数等常用算法。

7、学会循环嵌套程序的设计和调试方法。

二、语法基础1. 在C语言中,实现循环的语句有: while语句、 do-while语句和语句2. break语句不能出现在()语句中A. switchB.forC. whileD. if…else3.语句while(!y);中的表达式!y等价于A)y==0 B)y!=1 C)y=!0 D) y==14.若有“int a=1,x=1;”,则循环语句“while(a<10) x++; a++;”的循环执行()A.无限次B.不确定次C.10次D.9次5..以下程序段 ( )x=-1;do { x=x*x; }while(x>0);A. 是死循环B. 循环执行一次C. 循环执行二次D. 有语法错误6. 思考题:在循环中,continue语句与break语句的区别是:continue语句只是,break语句。

break语句只能用于语句和语句中。

7.熟悉三种循环语句的执行流程,以计算 s=1+2+3+…+100为例,分别写出三种循环结构的核心程序。

示例:while 语句:s=0;i=1;while(i<=100){s=s+i;i++;}依据右侧的流程,改写为for 语句:do while 语句程序 do while结构流程图NO yes i<=100 i=0 s=s+i s=0 i++ while 下条语句三、实训内容和步骤1、改错(copy下面源程序到VC编辑界面,调试并改错)。

第5章 循环结构程序设计-答案

第5章 循环结构程序设计-答案
程序运行后的输出结果是(C)。
A)1,1B)2,2C)3,3D)4,4
15.以下程序中,printf语句的执行次数是( B )。
main()
{
int i,j;
for (i=1; i<=5;i++)
for (j=1;j<=10;j++)
printf("%d \n",i+j);
}
A、15B、50C、死循环D、0
{
for(j=2,j<=i-1;j++)
if(i%j==0) break;//利用求余运算符%,只要满足i%j==0)就退出循环
if(j==i)/i是否素数的判定条件
printf("%d\n",i);
}
}
4.编程序输出9*9乘法口诀表。
程序如下:
#include <stdio.h>
void main()
二、程序设计
1用while语句求1+2+3+…+99+100的和。
程序如下:
#include <stdio.h>
voidmain()
{
int i=1,s=0;//循环首部,循环初始条件
while(i<=100)//循环首部,包含循环条件
{
s=s+i;/*循环体,复合语句*/
i++;//改变循环控制变量
程序如下:
#include <stdio.h>
void main()
{
int iNum=0,iLet=0;
char ch;
printf("input a string:\n");

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),下列说法正确的是()。

第五章-循环结构程序设计编程题(参考答案)

第五章-循环结构程序设计编程题(参考答案)

第五章循环结构程序设计1.用for循环语句编程输出1~20之间的所有整数,两数之间以空格分隔。

#include<stdio.h>void main(){int i;for(i=1;i<=20;i++)printf("%d ",i);printf("\n");}2.用for循环语句编程输出20~1之间的所有整数,两数之间以空格分隔。

#include<stdio.h>void main(){int i;for(i=20;i>=1;i--)printf("%d ",i);printf("\n");}3.用for循环语句编程输出A~Z之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。

#include<stdio.h>void main(){char c;for(c='A';c<='A'+25;c++){putchar(c);}}4.输出100~200之间所有能被3和7整除的数(每行输出4个数)。

#include<stdio.h>void main(){int i,j=0;for(i=100;i<=200;i++){if(i%21==0){ j++;printf("%12d",i);if(j%4==0) printf("\n");}}}5.输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。

#include<stdio.h>void main(){for(i=1;i<=1000;i++){if((i%3==2)&&(i%5==3)&&(i%7==2)){ j++;printf("%12d",i);if(j%5==0) printf("\n");}}}6.先读入一个正整数n,然后计算并显示前n个偶数的和。

C语言循环结构程序设计习题与答案

C语言循环结构程序设计习题与答案

一、单选题1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写#include <stdio.h>void main(){int i;int t= z s=;for(i=l;i<6;i++){t=t*i;s=s+t;)printf("l!+2!+3!+4!+5!=%d\n"z s);)A.l 1B.O 0C.O 1D.l 0正确答案:D2、下面代码段的输出是一int k,m;for(k=0;k<10;k++ ){if(m>50) continue;m=k*k;)printf("%d,%d\n”,k,m);A. 10,64B.9,81C.10,81D.8,64正确答案:A3、对于以下代码:int i;for(i=0;i<10;i++)pnntf("%d",i);for循环结束后,i的值是—A.llB.10C.9D.i不再存在了正确答案:B4、对于以下代码:int i=6;do{printf("%d", i-);}while(i-);正确的是—A,输出6420-2-4…,程序无法停机B,输出6420C.输出6420-2D输出642正确答案:A5、对于以下代码:int i=6;do{printf("%d", i-);}while(i);最后一个输出的值是—A.2B.3C.OD.l正确答案:D6、在代码:while(e)中,e等价于_A.e == 0B.e != 1C.e == 1D.e!=0正确答案:D7、在代码:while© |1)中,e等价于_A.e!=0B.e == 1C.e取任何值D.e == 0正确答案:C8、设有程序段int k=5;while(k=0) k=k-l;则下面描述中正确的是A,循环体语句一次也不执行B.while循环执行5次C.循环体语句执彳亍一次D彳盾环是无限循环正确答案:A9、下面程序段的运行结果是int n=0;while(n++<=2);printf("%d",n);A.有语法错B.2C.4D.3正确答案:C10、若有如下语句int x=3;do{ printf("%d\n"z x -=2);} while(!(-x));则上面程序段—A,是死循环B,输出的是1C.输出的是3和0D,输出的是1和・2正确答案:D11、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空,答案是#includemain()int n,sum=0;n=2345;sum=sum+(n%10)*(n%10);n=_;}while(n);printf("sum=%d"/sum);}A.n/10B.n%10C.n/100D.n/1000正确答案:A12、下面程序段—for(t=l;t< = 100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);)A.最多允许输出100个非负整数B.x>=0时什么也不输出C.printf函数永远也不执行D・当x<0时整个循环结束正确答案:A13、下列运算符中结合方向与其他不同的是A.+=B.< =c.>D.+正确答案:A14、下列运算符中结合方向与其他不同的是A.&&B.?:c.||D.+正确答案:B15、以下代码输出结果是—int x=0,y=20,z=30 ;if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.代码错误,不能输出B.y=50C.y=20D,不确定正确答案:B16、以下代码输出结果是—int x=0z y=20,z=30if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.y=20B.代码错误,不能执行C.y=50D,不确定正确答案:B17、下列程序段的输出结果是一int a=3,b=15;a+=b;b=b/2;}while(b>l);printf("%d\rT,a);正确答案:28二、多选题1、在c语言中,叙述正确的是()。

循环程序设计习题与答案

循环程序设计习题与答案

循环程序设计习题与答案模块三循环程序设计习题及答案一、填空题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)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
printf("max=%f\nmin=%f",max,min);
}
}while(a>=0);
三、阅读程序,写出程序运行结果。
1、#include"stdio.h"
main()
{
int i=0,sum=1;
do
{
sum+=i;
i++;
}while(i<5);
printf("%d\n",sum);
}
程序运行结果:
2、
#include"stdio.h"
main()
{
int a,b;
}
5.
#include"stdio.h"
main()
{
float cj,min,max=0;
printf("请输入学生成绩,输入负数时结束:\n");
scanf("%f",&cj);
min=cj;
while(cj>=0)
{
if(cj>max)
max=cj;
if(cj<min)
min=cj;
scanf("%f",&cj);
12、下列程序段的运行结果是。
for( ch='a' ;ch<='e' ;ch++)
printf(“%d“,ch-97);
13、下列程序段的运行结果是。
for(i=1,j=5 ; i<j ; i++,j--)
printf(“i=%d j=%d\n“,i,j);
14、下列程序段的运行结果是。
for(n=1 ; n*n<20 ; n++)
3.执行整个周期 外层循环条件为假
4.提前结束包含它的循环语句的执行
提前结束本次循环周期开始执行下一次循环周期
5.0 1 0
6.0
7.1
8.无数
9.1
10.54321
11.1 4 7 10 13 16 19
12.01234
13.I=1,j=5
I=2,j=4
14.1
4
9
16
二、选择题
1.B
2.D
三、程序运行结果
}
2.
#include"stdio.h"
main()
{
int i,j;
for(i=5;i>=1;i-=2)
{
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
3.
#include"stdio.h"
main()
{
int i,y=1,s=0;
for(i=2;i<=102;i+=2)
case 2:printf("&");break;
default:printf("\n");
}
}
程序运行结果:
6、
#include"stdio.h"
main()
{
char ch;
while((ch=getchar())!='!')
putchar(++ch);
}
程序运行结果:
7、
#include"stdio.h"
while(i--); if(++i<10) break;
2、下列程序段中,不是死循环的是( )
A、int i=10; B、for( ; 1;)
while(1)
{ i=i%100+1;
if(i>100) break;
}
C、int a=0; D、int x=21;
do while(x)
{ ++a; --x;
*
3、编程求2-4+6-8+…-100+102的值。
4、输出公元1500年至2500年所有的闰年的年号。
5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
循环结构程序设计(参考答案)
一、填空题、
1.循环条件 循环体 循环控制变量
2.循环变量赋初值 循环测试条件 循环变量更新
a++;
}
9、下面程序段的执行次数:
int a=1;
while(a==1)
{ printf("good\n");
a++;
}
10、下列程序段的运行结果是。
for(i=5;i>=0;i--)
printf(“%d “,i);
11、下列程序段的运行结果是。
for(n=1;n<20;n=n+3)
printf(“%d “,n);
1.11
2.16
3.-1
4.1
5.#&
*
6.bgufsoppo
7.i=5
J=3
8.x=1
四、编程题
1.
#include"stdio.h"
main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
printf("%d ",i*j);
printf("\n");
}
循环结构程序设计习题及答案
1、循环语句的三要素分别是、、。
2、for语句括号内的3个表达式的作用分别是、、。
3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。
4、在循环结构中,break语句的作用是;continue语句的作用是。
5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次。
main()
{
int x ,y;
x=37,y=13;
while(x!=y)
{
if(x>y)
x=x-y;
if(y>x)
y=y-x;
}
printf("x=%d\n",x);
}
程序运行结果:
四、编程题
1、输出下列图案
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
2、输出下列图案
*****
***
main()
{
int i,j;
for(i=0;i<=5;i++)
{
for(j=1;j<10;j++)
if(j==5) break;
if(i<2) continue;
if(i>2) break;
printf("j=%d\n",j);
}
printf("i=%d\n",i);
}Байду номын сангаас
程序运行结果:
8、
#include"stdio.h"
printf(“%d \n“,n+n);
二、选择题
1、下列程序段中,死循环的是( )
A、for (i=1; ;) B、i=32767;
{ if(++i%2==0) continue; do
if(++i%3==0) break; { if(i<0) break;
} }while(++i);
C、i=1; D、for(i=1; ; )
6、下面程序段的执行次数:
int a=0;
while(a=0)
{ printf("good\n");
a--;
}
7、下面程序段的执行次数:
int a=0;
while(a==0)
{ printf("good\n");
a--;
}
8、下面程序段的执行次数:
int a=1;
while(a=1)
{ printf("good\n");
do{
printf("%d\n",x-=2);
}while(!x);
}
程序运行结果:
5、
#include"stdio.h"
main()
{
int i;
for(i=1;i<=5;i++)
switch(i%5)
{
case 0:printf("*");break;
case 1:printf("#");break;
b=10;a=1;
while(a<=b)
a*=2;
printf("%d\n",a);
}
程序运行结果:
3、
#include"stdio.h"
main()
{
int x=2;
while(x--);
printf("%d\n",x);
}
程序运行结果:
4、
#include"stdio.h"
main()
{
相关文档
最新文档