循环程序设计习题及答案

合集下载

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

汇编语言程序设计_第5章 分支循环程序设计(参考答案)

汇编语言程序设计_第5章 分支循环程序设计(参考答案)

第5章分支、循环程序设计本章要点: 转移指令的寻址方式及其执行过程,控制转移类指令的使用,分支和循环程序的设计和应用。

程序调试的方法,常见问题的程序设计方法。

一、单项选择题5.1.1条件转移是根据标志寄存器中的标志位来判断的,条件判断的标志位共有( B )位。

A. 4B. 5C. 6D. 95.1.2用一条条件转移指令一次可以实现( A )个分支。

A. 2B. 3C. 4D. N5.1.3 条件转移指令的转移范围是(A)。

A. -128~127B. 0~255C. 0~65535D. -32768~327675.1.4 设A为字变量,B为标号,下列指令中不正确的是(D)。

A. MOV AX,AB. JNZ BC. JMP [SI]D. JMP B[BX]5.1.5 下述指令中影响CF标志位的是(A)。

A. SHL AL,1B. MOV AL,1C. JC LD. JNC L5.1.6 下述指令中不影响CF标志位的是(A)。

A. INC SIB. SUB SI,0C. NEG ALD. TEST AL,15.1.7 在多重循环程序设计中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B)。

A. 不必考虑B. 必须重新设置C. 必须清0D. 必须置15.1.8 当设计一个程序时,最重要的是(B)。

A. 程序的结构化B. 能使程序正常运行并实现功能C. 程序的执行速度快D. 程序占用的存储空间小*5.1.9 如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一指令的操作码,那么这条指令的位移量是(C)。

A. 1EHB. 20HC. 0DEHD. 0E0H*5.1.10 如果“JGE P”指令的操作码放在0050H,该指令的位移量是34H,执行完这条指令转移取下一条指令的偏移地址是(C)。

A. 82HB. 84HC. 86HD. 88H二、填空题5.2.1 当下面循环程序中的划线处填上一个什么数字时,执行的循环次数最多?MOV CX,____0______MOV AX,0L:INC AXLOOP L5.2.2 当两个数进行比较后,执行__JE L(JZ L)表示两数相等则转移到L。

循环程序设计习题与答案

循环程序设计习题与答案

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

java运用循环编程题及答案

java运用循环编程题及答案

1.编写一个数的阶乘和。

eg. Sum=1!+2!+3!+4!+5! publicclass j1_20 {publicstaticvoid main(String[] args) {int a,sum,b=0,i;sum=0;for(b=1;b<=5;b++){a=1;for(i=1;i<=b;i++){a=a*i;}sum+=a;}System.out.println("1到5的结成和"+sum);}}结果2.把一个数组里的数字按照从小到大的顺序排列出来publicclass j_sort {publicstaticvoid main(String[] args) {int a[]=newint[]{12,15,63,56,21,71,91,3,16,43}; for(int i=0;i<10;i++){for(int j=i+1;j<10;j++){if(a[i]>a[j]){int t;t=a[i];a[i]=a[j];a[j]=t;}}}System.out.println("从小到大的顺序为:"); for(int i=0;i<10;i++){System.out.print(a[i]+" ");}}}结果是3.输出一个三角形publicclass j_triangle1 {publicstaticvoid main(String[] args) {int a=5,b=5;for(int i=1;i<5;i++){for(int j=0;j<5-i;j++){System.out.print(" ");}for(int e=1;e<=i;e++){System.out.print(""+" ");}System.out.println("");}System.out.println("-----------");for(int i=1;i<5;i++){for(int j=0;j<5-i;j++){System.out.print(" ");}for(int e=1;e<2*i;e++){System.out.print("");}System.out.println("");}}}结果是4,.输出最小公约数是publicclass j_prime {publicstaticvoid main(String[] args) {int a=3,b=4,i;for(i=1;i>0 ;i++){if(i%a==0&&i%b==0){System.out.print("最小公约数是:"+i); break;}}}}结果是5.最大公约数publicclass j偶数和 {publicstaticvoid main(String[] args) {int a,sum=0;for(a=1;a<=100;a++){if(a%2==0){sum+=a;}}System.out.println("一百以内的偶数和"+sum);}}6.输出99乘法口诀publicclass j99表 {publicstaticvoid main(String[] args) {// 效果1int a,b,sum;for(a=1;a<10;a++){for(b=1;b<=a;b++){char c=(char)a;char d=(char)b;System.out.printf("%d"+"*"+"%d"+"="+a*b+"\t",a,b);}System.out.println(" ");}// //效果2// int i,j,k;// for(i=1;i<=9;i++)// {// for(j=1;j<=i;j++)// {// k=i*j;// System.out.print( " \t" +k);// }// System.out.print( "\n" );// }}}结果是7.统计个位数是 6 ,并且能被 3 整除的 5 位数共有多少个?publicclass j3_6 {publicstaticvoid main(String[] args) {int a,i=1000,sum=0;for(i=1000;i<10000;i++){a=10*i+6;if(a%6==0){sum+=1;}}System.out.print("统计个位数是 6 ,并且能被 3 整除的 5 位数共有:"+sum+"个!");}}结果是8.输出100以内的所有质数publicclass j100内质数 {publicstaticvoid main(String[] args) {int a,b,sum=0;for(a=2;a<=100;a++){boolean flag=true;for(b=2;b<a;b++){if(a%b==0) flag=false;}if(flag){System.out.println(a);sum+=1;}}System.out.println("一共有"+sum+"质数");}}结果是10.输出大于200的最小质数publicclass j4 {publicstaticvoid main(String[] args) {int a=200,b=2;for (a=200; ;a++){boolean flag=true;for(b=2;b<a;b++) {if (a%b==0) flag=false;}if(flag){System.out.println("大于200的最小质数是:"+a); break;}}}}结果是。

第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.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( 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、有以下程序执行后的输出结果是( 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)。

实验3、循环结构程序设计(有答案)

实验3、循环结构程序设计(有答案)

循环结构程序设计1.程序填空下面程序的功能为:计算1~100之间的偶数之和,完成以下的程序并运行出正确的结果。

# include <stdio.h>void main(){int i,s=0;/**************found*************/i=2 ;while(i<=100){s=s+i;/**************found**************/i+=2 ;}printf(“s=%d”,s);}运行结果:S=25502.程序改错(1) 下面程序的功能为:计算10!,修改以下的程序并上机运行通过。

#include <stdio.h>void main(){int n,t;for(n=1,t=1,t<10,t++);n=n*t;printf(“10!=%d\n”,n);}正确的程序:#include <stdio.h>void main(){int n,t;for(n=1,t=1;t<=10;t++) //句尾不能有“;”n=n*t;printf(“10!=%d\n”,n);}运行结果:10!=3628800(2) 下面程序的功能为:计算1~100之间能被3和7整除的数之和,修改以下的程序并上机运行通过。

#include <stdio.h>void main(){int i,s;s=0;while(i<=100);{if(i%3==0||i%7==0)s+=i;i=i+1;}printf(“s=%d”,s);}正确的程序:#include <stdio.h>void main(){int i,s;s=0; i=1;while(i<=100) //句尾不能有“;”{if(i%3==0&&i%7==0)s+=i;i=i+1;}printf(“s=%d”,s);}运行结果:S=2103、有一个分数序列:2/1、3/2、5/3、8/5、13/8、……,编写一个C程序,求出这个数列的前30项之和。

循环结构习题有答案

循环结构习题有答案

第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语言各章节单元测试题及答案——循环结构程序设计

C语言各章节单元测试题及答案——循环结构程序设计

第3章循环结构程序设计3.1 典型考试题剖析3.1.1 选择题【例1】若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是_______。

A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;✧考点:本例考查for循环。

✧分析:初始赋值时s=a,那么s的值一定与a有关,C、D答案中不含a所以排除掉。

只用清楚for循环的次数,不管b以前的值为多少,第一次循环时b=1,当b>c时循环结束,那么显然s要加c次1。

所以s的值为a与c的和。

✧答案:B【例2】设x和y均为int型变量,则执行下面的循环后,y值为。

for(y=1,x=1;y<=50;y++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}A) 2 B) 4 C) 6 D) 8✧考点:本例考查for循环中break和continue的用法,以及区别。

✧分析:break用在循环中,只能退出一层循环。

尤其是在嵌套循环中,只能退出它所在的那一层循环。

不能期望用break从最内层循环一下子退出最外层循环(可以用goto实现)。

continue语句只能用在循环中,它的作用是跳过其后面的语句,直接将控制转移到下一轮循环条件的测试。

语句“if(x>=10) break;”中的break只有当x>=10时,才会执行,并且跳出for循环;语句“x+=5;continue;”是每次执行完一次跳过其后面的语句,直接将控制转移到下一轮循环条件的测试for(y=1,x=1;y<=50;y++)中。

✧答案:C【例3】以下程序中,while循环的循环次数是_______。

main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}A) 1 B) 10 C) 6 D) 死循环,不能确定次数✧考点:本例考查while循环的用法,以及continue和break的分别。

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

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

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

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

实验三 循环结构程序设计(答案)

实验三  循环结构程序设计(答案)

实验教案}三、实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)1、设计程序sy3-1.c,要求打印小学九九乘法表。

算法分析:根据九九乘法表可知,该表共有9行,第i行有i个表达式,而且表达式中的操作数和行、列数相关,因此可以用嵌套的双重循环来实现,外循环控制行数(循环变量从1到9),内循环控制每行的表达式个数(循环变量从1变到i)。

参考答案:# include <stdio.h>void main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-5d",j,i,i*j);printf("\n");}}运行结果:2、设计程序sy3-2.c,要求编程计算x n,其中x和n均由键盘输入2。

算法分析:要计算x的n次方,即是n次x相乘,其中x可以是整型或实型,而n必须是整型;另外要考虑结果的类型,若x和n比较大,一般的int型容易产生溢出。

参考答案:# include <stdio.h>void main(){int i,n;float x,p=1; /*累乘器要赋初值1*/printf("Input x,n: ");scanf("%f,%d",&x,&n); /*以逗号分隔输入的已知数据x和n的值*/for(i=1;i<=n;i++)p=p*x;printf("%g^%d=%g\n",x,n,p);}运行结果:3、设计程序sy3-3.c,已知祖父年龄70岁,长孙20岁,次孙15岁,幼孙5岁,问要过多少年,三个孙子的年龄之和同祖父的年龄相等,试用单重循环结构编程实现。

4、设计程序sy3-4.c,有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。

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

上机实验五 循环结构程序设计一(带参考答案)

上机实验五 循环结构程序设计一(带参考答案)

上机实验五循环结构程序设计(一)一.目的要求1.掌握while、do-while、for语句的语法规则、执行流程。

2.比较3种循环语句的异同。

3.按题目要求,完成代码。

二.实验内容思考问题:3种循环的异同点?能否相互转换?for循环控制单元的表达式与while循环中表达式是如何对应的?第1题、分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8······算法提示:1)定义实变量sum、term、a、b、c,整变量i2)初始化:sum=0,分子a=2,分母b=13)初始化:i(计数器)=14)计算第i项term =a/b5)累加sum=sum+term6)计算c=a+b,更新b= a,更新a=c7)计数器加1,i++8)重复4、5、6、7,直到i>209)输出2位精度的结果编写程序:方法一,用while语句:#include<stdio.h>void main(){float s=0, a=2,b=1,c;int i=1;while(i<=20){s=s+a/b;c=a+b;b=a;a=c;i++;}printf(“s=%.2f”,s);}方法二,用do-while语句:#include<stdio.h>void main(){float s=0,a=2,b=1,c;int i=1;do {s=s+a/b;c=a+b;b=a;a=c;i++;} while(i<=20);printf(“s=%.2f”,s);}方法三,用for语句:#include<stdio.h>void main(){float s=0,a=2,b=1,c;int i;for(i=1;i<=20;i++){s=s+a/b;c=a+b;b=a;a=c;}printf(“s=%.2f”,s);}第2题、计算多项式的值:s=1!+2!+3!+4!+ (20)算法提示:该多项式迭代公式为:term=term*i,sum=sum+term注意:哪些变量需要初始化?变量应采用什么类型?编写程序:#include<stdio.h>void main(){int i;double s=0,fact=1;for(i=1;i<=20;i++){fact*=i;s=s+fact;}printf(“s=%f”,s);}把每一次迭代结果输出,程序应做怎样的修改?第3题、输入x和n,计算并输出下式的值:s=x/1+x/3+……+x/n参考答案:#include <stdio.h>int main(){int n,i;float x,s=0;printf("请输入x,n,以,分隔");scanf("%f,%d",&x,&n);for(i=1;i<=n;i+=2){s+=(x/i);}printf("\ns=%f",s);}第4题、输入一批正整数,求出其中的偶数之和。

循环编程练习(带答案)

循环编程练习(带答案)

循环编程练习1、求100211001+++=∑= n n 的值。

解(while 循环): #include<stdio.h> int main() { int i,s; i=1; s=0;while(i<=100) { s=s+i; i++;}printf("s=%d\n",s);return 0;}另解(do while 循环): #include<stdio.h> int main() { int i,s; i=1; s=0; do {s=s+i;i++;}while(i<=100); printf("s=%d\n",s);return 0;}另解(for 循环): #include<stdio.h> int main() { int i,s; s=0;for(i=0;i<=100;i++){ s=s+i;}printf("s=%d\n",s); return 0;}2、求1021!10⨯⨯⨯= 的值。

解:#include<stdio.h> int main() { int i,s;s=1;for(i=1;i<=10;i++) { s=s*i;}printf("s=%d\n",s); return 0;}3、求∑=101!i i 的值。

解(for 循环): #include<stdio.h> int main() { int i,s,t; s=0; t=1;for(i=1;i<=10;i++) { t=t*i; s=s+t;}printf("s=%d\n",s);return 0;}另解(嵌套for 循环): #include<stdio.h>int main() { int i,j,s,t; s=0;t=1;for(i=1;i<=10;i++) { for(t=1,j=1;j<=i;j++) {t=t*j; }s=s+t;}printf("s=%d\n",s);return 0;}4、求100994321-++-+- 的值。

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

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

循环结构程序设计习题及答案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; }。

循环结构程序设计练习题

循环结构程序设计练习题

循环结构程序设计练习题1、运行以下语句后,A的值为______。

Dim A As IntegerA=1Do Until A=100 A) 99 B) 100A=A+2 C) 溢出D) 101Loop2、以下程序运行结果是()。

S=0For H=1 T o 10 A)15 B)25If Int(H/2)<>H/2 Then C)35D)45S=S+HEnd IfNext HPrint S3、在窗体上画一个command1的命令按钮,然后编写如下事件过程:X = 0N = Inputbox("")For I = 1 T o NFor J = 1 T o IX = X + 1Next JNext IPrint X程序运行后单击命令按钮,如果输入3,则在窗体上显示的内容是( )A) 3 B) 4C) 5 D) 64、设有以下循环结构Do循环体Loop While <条件>则以下叙述中错误的是( )A)"条件"是一个为0的常数,则一次也不执行循环体B)"条件"可以是关系表达式、逻辑表达式或常数C)循环体中可以使用exit Do语句D)如果"条件"总是为true,则不停地执行循环体5、下面程序的循环次数是()For J=8 T o 35 Step 3Print J A)7B)8Next J C)9D)106、对正实数x 的第四位小数四舍五入的vb表达式是()。

A) 0.001*Int(X+0.005) B ) 0.001*(1000*X+0.5)C) 0.001*Int(1000*X+5) D) 0.001*Int(1000*(X+0.0005))7、下面程序运行后在文本框中的结果是()For K=1 T o 3For M=1 T o K A)12B)14For N=M T o 3 C)18D)24X=X+1Next N,M,KT ext1.T ext=X8、下面程序运行后的输出结果是()For H=1 T o 13 Step 2H=H+1 :Print H;A)2 4 6 8 10 12B)1 3 5 7 9 11 13 Next H C)2 5 8 D)2 5 8 11 14 9、下面程序的作用是什么()M=0:N=0For H=1 T o 10X=Val(Inputbox(“请输入数据”,””,0))If X<0 ThenM=M+XElseif X>0 ThenN=N+1End IfNext HPrint M,NA)计算从键盘上输入的数据之和,并统计输入数据的数目B) 分别计算从键盘上输入的正数之和与负数之和C) 分别统计从键盘上输入的正数和负数的数目D) 计算从键盘上输入的负数之和,并统计正数的数目10、下列关于for循环的叙述中,正确的是()A) 循环体至少被执行一次B) 循环体有可能不被执行C) 步长不允许是小数D) 循环初值等于终值时循环体不被执行11、下列程序的输出结果是哪一个()Do While X<20X=X+1:X=X*X A)36B)25Loop C)16 D)12Print X12、下面程序的运行结果是()A=1:B=1DoA=A+1:B=B+1Loop Until B>5Print "K=";A;Spc(3);"B=",B+AA)K=7 B=14B)K=5 B=10C)K=6 B=6 D)K=6 B=1213、下面语句组中,不能实现20次循环的有()A) N=0 B) N=0Do DoN=N+1 N=N+1Loop Until N>=20Loop Until N<20C) N=0 D) N=0Do Do Whle N <20N=N+1 N=N+1Loop While N<20 Loop14、下面程序能计算1+(1+2)+(1+2+3)+…+(1+2+3…+9)的是()A) S=0 B) S=0:T=0For H=1 T o 9 For H=1 T o 9S=S+1 S=S+TNext H Next HC) S=0 D) S=0For H=1 T o 9 For H=1 T o 9T=0 For J=1 T o HFor J=1 T o H T=T+HT=T+J Next JNext J S=S+TS=S+T Next HNext H15、下面程序的运行结果是()Dim X(1 T o 10)As IntegerMax=1e-30For H=1 T o 10X(H)=HIf X(H)>=Max Then Max=X(H)1Next HErase XPrint “Max=”;Max;“X(10)=”;X(10)A) Max=10 X(10)=10B)Max=10 X(10)=0C) Max=0 X(10)=10 D)Max=0 X(10)=016、阅读以下程序,执行该程序后,数组a和数组b的值是()Dim A(50),B(50)For N=1 T o 50:A(N)=N:Next NFor N=1 T o 50B(N)=A(N)+A(N-1)Print B(N);Next NA) 数组a和数组b各存储1~50的自然数B) 数组a存储1~50的自然数,数组b存储1~99的自然数C) 数组a存储1~50的自然数,数组b存储1~99的奇数D) 数组a存储1~50的自然数,数组b存储2~100的偶数17、运行下面程序后的输出结果是()For H=1 T o 4 A) 1 2 3 4Print H;B) 1 2 3 4 5Next H C) 1 2 3 4 4Print H D) 1;2;3;4;518、判断下面程序是计算哪一个数学式子的()N=Val(Inputbox(“请输入n的值”)T=1:S=0For H=1 T o 2*N+1 Step 2T=T*H:S=S+TNext HPrint SA) 1+3+5+…+2n+1B) 1*3*5*…*(2n+1)C) 1!+3!+5!+…+(2n+1)! D) 1+1*3+1*3*5+…+1*3*..*(2n+1)19、运行以下程序后,显示的结果是()Dim D(6,6)For H=1 T o 6For J=1 T o 6D(H,J)=6*H*H*JNext J,HFor H=1 T o 6Print D(H,H);Next HA) 1 2 3 4 5 6 B) 1 4 9 16 25 36C) 6 48 162 384 750 1296D) 1 2 3 4 5 62 4 6 8 10 123 6 9 12 15 184 8 12 16 20 2420、运行以下程序后,显示的结果是()Dim N(5) As IntegerN(0)=2For H=2 T o 5 A)1 2 3 4 5N(H)=N(H-2)*H*H B)1 2 6 24 120Print N(H);C)8 0 128 0Next I D)2 4 12 48 24 21、当x的值分别为5,9,8,2,-999时,下面程序运行后的结果是()B=0X= Val(Inputbox(“请输入一个数”))Do While X<>-999 And D<>2If X>B Then B=XX= Val(Inputbox(“请输入一个数”))LoopPrint B A)9 B)8 C)2 D)-99922、有如下事件过程,其运行结果是()For I=1 T o 4Print T ab(2*I+1);11*I;Next IA) 11 22 33 44 B)11 C) 11 D) 1122 22 2233 33 3344 44 4423、有如下事件过程,其运行结果是()Private Sub Form_Click()A=0For h=1 T o 10A=A+1B=0For J=1 T o 10 A) 10 20 B) 20 110A=A+1 C) 110 20 D) 200 110B=B+2Next J,hPrint A;BEnd Sub24、有如下事件过程,程序运行三次当N分别为2、4、6时,其第二次的结果是()Private Sub Form_Click()N= Val(Inputbox(“请输入一个数”))For h=1 T o NJ=1J=J*hNext hPrint h,JEnd SubA) 5 24 B) 4 24 C) 5 4 D) 4 425、有如下事件过程,其运行结果是()Private Sub Form _Click()For I=0 T o List1.Listcount-1If I Mod 2=0 ThenPrint List1.List(I)End IfNextEnd SubPrivate Sub Form _Load()List1.Additem “中国”List1.Additem “日本”A)中国韩国B) 日本新加坡List1.Additem “韩国”C) 中国韩国香港List1.Additem “新加坡”D) 中国日本韩国新加坡香港List1.Additem “香港”End Sub二、填空题1、下面语句循环的次数是(7 )For X=-0.5 T o -3.5 Step -0.52、运行下面程序后,显示结果是(225 )Dim A(15)For H=1 T o 15A(H)=H^2Next HPrint A(H-1)3、下面程序运行后的输出结果是(160 )For J=1 T o 202If J Mod 5<>0 Then A=A+JNext JPrint A4、以下程序是找出50以内的所有能构成直角三角形的整数组,请补充完整该程序.For A=1 T o 50For B=A T o 50C=Sqr(A*A+B*B)If ()Then Print A;B;CNext BNext A5、下面程序运行后文本框中的输出结果是()K=1For J=1 T o 6K=K*JNext JT ext1.T ext=K+J6、以下程序是计算(1+1/2)*(1+1/3)*…*(1+1/10),阅读该程序,请将程序补充完整S=1()S=()Next YPrint S7、以下程序是用随机数模拟掷,统计掷50次出现的个点数的次数。

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

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

第五章循环结构程序设计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个偶数的和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是()
A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c
9、下列关于for循环的说法正确的是()
A、for循环只能用于循环次数已经确定的情况
}
x=3;
}
printf("x=%d,i=%d",x,i);
}
程序运行结果:
4、#include"stdio.h"
main()
{
int i , j ;
for(i=4;i>=1;i--)
{
printf("*");
for(j=1;j<=4-i;j++)
printf("*");
printf("\n");
}6.分号无限源自7.无限8. 59. continue
10.循环体
11.循环变量赋初值循环测试条件
二、填空题
1.A
2. C
3. C
4. A
5. B
6. C
7. C
8. D
9. D
10. A
三、程序填空题
1. sum+=a sum<100 n- -
2. s+i*t t=-t
3. i<10 j%3==0 j
s=s/2;
t=t*10;
}
printf("该数的二进制数为%d\n",e);
}
2.
#include"stdio.h"
main()
{
int i,n,s=0;
printf("请输入n的值:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
s+=i*i;
printf("%d",s);
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!=0
C、dn == 0D、dn != 1
{
b+=3;
continue;
}
b-=5;
}
printf("%d\n",a);
}
程序运行结果:
2、#include"stdio.h"
main()
{
int i;
for(i=1;i<=5;i++)
switch(i%5)
{
case 0:printf("*");break;
case 1:printf("#");break;
a++;
}while(b--<0);
A、10,-1 B、2,8
C、9,0 D、4,-3
6、以下描述正确的是()
A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号
C、在do while循环体中,一定要有能使while后面匠值变为零的操作
main()
{
int i,j;
for(i=0;;i++)
{ j=i*10+6;
if()
printf("%d ",);
}
}
四、程序运行结果
1、#include"stdio.h"
main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=20) break;
if(b%3==1)
四、程序阅读
1. 8
2. $&
*
3. x=3,i=51
4. *
**
***
****
五、编写程序
1.
#include"stdio.h"
main()
{
int s,t=1;
long e=0;
printf("请输入一个十进制数:\n");
scanf("%d",&s);
while(s!=0)
{
e=e+(s%2)*t;
模块三 循环程序设计习题及答案
一、填空题
1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。
2、循环的3要素是、、。
3、在循环语句体中包含另一个循环语句的用法称为。
4、执行循环语句体中的break语句后将使用包含它的循环语句。
5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。
6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。
7、在for语句中,省略表达式2时,则循环为循环。
8、执行语句for(i=1;i++<4; );后变量i的值是。
9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。
10、在每次循环周期均要执行一次的语句,称为。
3、以下程序段,while循环执行的次数是()
int k=0;
while( k == 1) k++;
A、无限次B、有语法错,不能执行
C、一次也不执行D、执行1次
4、在C语言中,当do while语句中的条件为()时,结束该循环。
A、0 B、1
C、TRUE D、非0
5、下面程序段的输出结果是()
do
{ b-=a;
}
D、do while循环中,根据情况可以省略while
7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。
s=c;
for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句是()
A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c;
}
程序运行结果:
五、编程题
1、用C语言编程实现任意输入一个十进制数,将其转换为二进制数并输出。
2、输入n的值,编程计算并输出s(n)=1*1+2*2+3*3+……+n*n
模块三循环程序设计答案
一、填空题
1.循环
2.循环条件循环体循环控制变量
3.循环嵌套(嵌套循环)
4.提前结束包含它的循环语句的执行
5. continue
case 2:printf("&");break;
default:printf("\n");
}
}
程序运行结果:
3、#include"stdio.h"
main()
{
int i,x;
for(i=1,x=1;i<=50;i++)
{
if(x>=10) break;
if(x%2==1)
{
x+=5;
continue;
D、for(i=10; ;i--) sum+=i;
三、程序填空题
1、等比数列的第一项a=1,公比q=2,下列程序是求满足前n项和小于100的最大n。
main()
{ int a,q,n,sum=0;
a=1;q=2;n=0;
do
{;
n++;
a*=q;
}while();
;
printf(“%d\n”,n);
}
2、计算1-3+5-7+…-99+101的值。
#include"stdio.h"
main()
{
int i;t=1,s=0;
for(i=1;i<=101;i+=2)
{;
;
}
printf("1-3+5+...-99+101=%d",y);
}
3、输出100以内个位数为6且能被3整除的数。
#include"stdio.h"
B、for循环是先执行循环体语句,后判断表达式2
C、在for循环中,不能用break语句跳出循环体
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
10、下列语句中能跳出循环的是()
A、for(y=0,x=1;x>++y;x=i++) i=x;
B、for( ; ;x++)
C、while(1) {x++; }
相关文档
最新文档