C语言循环结构程序设计编程题
C语言程序设计第五次作业——循环结构(1)

C语⾔程序设计第五次作业——循环结构(1)(⼀)改错题输出华⽒摄⽒温度转换表:输⼊两个整数lower和upper,输出⼀张华⽒摄⽒温度转换表,华⽒温度的取值范围是{lower,upper},每次增加2℉。
计算公式如下:c = 5×(f-32)/9其中,c表⽰摄⽒温度,f表⽰华⽒温度。
输⼊输出样例1: Enter lower:32 Enter upper:35 fahr celsius 32 0.0 34 1.1输⼊输出样例2: Enter lower:40 Enter upper:30 fahr celsius源程序(有错误的程序)#include <stdio.h>int main(void){int fahr , lower, upper; /* fahr表⽰华⽒度 */double celsius; /* celsius表⽰摄⽒度 */printf("Enter lower:");scanf("%d",&lower);printf("Enter upper:");scanf("%d",&upper);printf("fahr celsius\n"); /* 显⽰表头 *//* 温度转换 */for (fahr = lower , fahr <= upper, fahr ++) ;celsius = 5 /9 * (fahr - 32.0);printf("%3.0f %6.1f\n", fahr, celsius);return 0;}对源程序进⾏编译,结果如下:错误信息1:错误原因:for语句后⾯加了分号。
改正⽅法:将分号去掉。
错误信息2:错误原因:for语句下没有加“{}“改正⽅法:在for语句下加上“{}”错误信息3:错误原因:发现for语句内语句⽤逗号隔开了。
C语言循环结构程序设计编程题.doc

实验3 循环结构程序设计一.实验目的:1.掌握使用while 语句,do-while 语句和for 语句实现循环的方法。
2.掌握在循环结构中使用break 与continue 语句的方法。
3.掌握多重循环的使用方法。
二.实验内容:1.编写程序输出半径为1到15的圆的面积,若面积在30到100之间则予以输出,否则,不予输出。
2.打印出所有“水仙花数”。
所谓“水仙花数”是指一个三位数,其各位数字的立方之和正好等于该数本身。
例如:153是一个“水仙花数”,因为153=13+53+33。
3.编写程序,分行输出斐波那契序列的前20项(每行5个数)。
说明:斐波那契序列:1,1,2,3,5,8,13,21,……4.编写程序,输出“九九乘法口诀表”。
5.编写程序,分行输出100以内所有的素数(每行5个数)。
6.有两个红球、三个黄球、四个白球,任意取五个球,其中必须有一个黄球,编程输出所有可能的方案。
7.编写程序求解sn=a+aa+…+a …a,其中a 是1-9中的一个数字。
n 为一正整数,a 和n 均从键盘输入。
(例如输入n 为4,a 为2,sn=2+22+222+2222)8.编程统计从键盘输入的字符中数字字符的个数,用换行符结束循环。
9. 编写程序,输出200以内所有能被7整除的数。
10. 编写程序,求1~1000之间能被13整除的最大的那个数。
11. 找出若干个非零数中的最小值m 以及它们的平均值a 。
要求:从键盘输入若干个数,每次输入一个赋给变量x ,x 为零时,结束输入。
12. 从键盘输入整数 n ,输出 1+3+5+7+……前 n 项的和。
(n<=100)13. 编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
14. 编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。
15. 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
循环程序设计习题与答案

循环程序设计习题与答案模块三循环程序设计习题及答案一、填空题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)。
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___。
C语言程序设计(while 循环结构)

sum+=grade; num++; scanf("%lf",&grade); } if (num) printf(“\n%d 人的平均成绩:%.1f”,num,sum/num);/*输出结果*/ else printf(“\n 平均成绩为 0!”);
int num=0; /*用 num 统计输入成绩的学生人数,以便统计学生的平均分数*/ double sum=0, grade; /*用 sum 记录成绩的累加和,初值为 0,grade 接受键盘输入的成绩*/
printf(“请依次输入学生的考试成绩,空格间隔,并以负数结束输入\n”); scanf(“%lf”,&grade);
return 0; }
注意: (1)while 语句中的表达式一般是关系表达或逻辑表达式,但原则上可以是任何合法的 表达式; (2)循环条件的选择应该避免死循环,即无法结束循环体的执行;表达式的值每次循 环后都应该有所改变,否则也会引起死循环。
假 表式?
真 语句
循环体外语句 图 3-7 while 循环结构的执行过程
【例 3-11】 从键盘输入若干名学生的成绩,计算平均分。 分析:这是一个累加求和的问题,将输入的成绩依次累加(用循环结构实现,循环条件 是成绩 grade>=0),完成累加后再将累加和除以学生的人数,算出平均分。
/*程序名:3_11.c*/ /*功能:键盘输入若干学生的成绩,计算平均成绩并输出*/ #include <stdio.h> int main() {
1.while 循环结构
while 循环结构的一般形式为: while(表达式) 语句;
循环结构程序设计练习题内含答案

第三单元循环结构练习题选择题: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)。
c语言程序设计循环结构思考题

C语言程序设计循环结构思考题一、循环结构简介循环结构是C语言中的基本控制结构之一,通过循环结构可以重复执行一段代码,实现对同一段代码的多次执行。
循环结构的三种形式包括`f or`循环、`w hi le`循环和`do-w hi le`循环。
二、循环结构的使用场景循环结构常常用于处理需要反复执行的任务,例如遍历数组、打印输出、计算累加等操作。
三、练习题目1.打印九九乘法表编写一个程序,使用循环结构打印出九九乘法表。
#i nc lu de<s td io.h>i n tm ai n(){i n ti,j;f o r(i=1;i<=9;i++){f o r(j=1;j<=i;j++){p r in tf("%d*%d=%d\t",i,j,i*j);}p r in tf("\n");}r e tu rn0;}2.计算1到100之间的奇数和编写一个程序,使用循环结构计算1到100之间的所有奇数的和。
#i nc lu de<s td io.h>i n tm ai n(){i n ts um=0;i n ti;f o r(i=1;i<=100;i+=2){s u m+=i;}p r in tf("1到100之间的奇数和为:%d\n",s um);r e tu rn0;}3.判断是否为素数编写一个程序,使用循环结构判断一个输入的数是否为素数。
#i nc lu de<s td io.h>#i nc lu de<s td bo ol.h>b o ol is Pr im e(in tn){i f(n<=1){r e tu rn fa ls e;}i n ti;f o r(i=2;i*i<=n;i++){i f(n%i==0){r e tu rn fa ls e;}}r e tu rn tr ue;}i n tm ai n(){i n tn;p r in tf("请输入一个正整数:");s c an f("%d",&n);i f(i sP ri me(n)){p r in tf("%d是素数\n",n);}e ls e{p r in tf("%d不是素数\n",n);}r e tu rn0;}4.求阶乘编写一个程序,使用循环结构计算一个输入的数的阶乘。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 循环结构程序设计
一.实验目的:
1.掌握使用while 语句,do-while 语句和for 语句实现循环的方法。
2.掌握在循环结构中使用break 与continue 语句的方法。
3.掌握多重循环的使用方法。
二.实验内容:
1.编写程序输出半径为1到15的圆的面积,若面积在30到100之间则予以输出,否则,不予输出。
2.打印出所有“水仙花数”。
所谓“水仙花数”是指一个三位数,其各位数字的立方
之和正好等于该数本身。
例如:153是一个“水仙花数”,因为153=13+53+33。
3.编写程序,分行输出斐波那契序列的前20项(每行5个数)。
说明:斐波那契序列:1,1,2,3,5,8,13,21,……
4.编写程序,输出“九九乘法口诀表”。
5.编写程序,分行输出100以内所有的素数(每行5个数)。
6.有两个红球、三个黄球、四个白球,任意取五个球,其中必须有一个黄球,编程输出所有可能的方案。
7.编写程序求解sn=a+aa+…+a …a,其中a 是1-9中的一个数字。
n 为一正整数,a 和n 均从键盘输入。
(例如输入n 为4,a 为2,sn=2+22+222+2222)
8.编程统计从键盘输入的字符中数字字符的个数,用换行符结束循环。
9. 编写程序,输出200以内所有能被7整除的数。
10. 编写程序,求1~1000之间能被13整除的最大的那个数。
11. 找出若干个非零数中的最小值m 以及它们的平均值a 。
要求:从键盘输入若干个数,每次输入一个赋给变量x ,x 为零时,结束输入。
12. 从键盘输入整数 n ,输出 1+3+5+7+……前 n 项的和。
(n<=100)
13. 编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
14. 编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。
15. 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
16. 编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。
17. 编写一个程序,求e 的值。
!
1!21!111n e +⋯+++≈ 18.编写一个程序,求满足如下条件的最大的n :
10003212222≤+⋯+++n
19. 某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。
编写一个程序,采用迭代法问某人共摘了多少只桃子。
20. 输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。
21. 求一组整数中的正数之积与负数之和,直到遇到0时结束。
22. 输入一组实数,求前10个正数的平均值。
23. 编程求1~200中能被2,3,5除余1的前10个整数。
25. 输入100个整数,统计这些数中能被3或5整除数所占的百分比。
26. 计算并输出200—600中能被7整除,且至少有一位数字是3的所有数的和。
27. 输出1~999中能被5整除,且百位数字是5的所有整数。
28. 设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N值。
29. 有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a!+b!+c!。
(如:145=1!+4!+5!)(东师大,04年)
30. 编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字之积为12。
(东师大,05年)
31. 已知abc+cba=1333,其中a,b,c均为一位数,编写一个程序求出abc分别代表什么数字。
32. 100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。
试编写程序计算大、中、小马的数目。
33. 求1~100之间数的每位数的乘积大于每位数的和的数。
34. 一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。
35. 为了求正整数n的平方根,可以使用如下迭代法求解:
使用C语言编
)
(
2
1
1
i
i
i x
n
x
x+
=
+写一个完整的程序,以求出用户从键盘上输入的任何正
整数的平方根。
36. 有一口深度为h米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬m米,夜里则顺井壁向下滑n米,若青蛙从某个早晨开始向外爬,试编写一个函数:对于任意指定的h,m,n值(均为自然数),计算青蛙多少天能够爬出井口并简要说明程序实现的基本思想。
三.实验步骤:
四. 实验结果分析:。