C语言while、do-while、for循环课程5
课程3中,提到C语言基本语句分为:数据定义语句,数据处理语句
数据处理语句又可分为:表达式语句,函数调用语句,空语句(;,复合语句,流程控制语句。
流程控制:指程序代码执行的顺序。流程的分类:顺序、选择、循环。
C语言的循环结构通过三种语句来实现,即while、do-while、forWhile语句的一般形式while(循环条件表达式循环体语句;
功能:当循环条件表达式为真,执行循环体语句,执行完了,再判断条件表达式是否为真,为真,则再执行,直到条件表达式为假时,退出while循环。
实例1:用while语句求1~100的累加和。
#include//C语言编译预处理命令,文件包含为stdio.h
voidmain(//至少有一个用main(命名的主函数,返回值为void无值类型{
inti=1,sum=0;/*初始化循环,定义变量i和累加器sum,定义和之前,累加器清零*/
while(i<=100
{
sum+=i;//sum+=i是一个复合赋值运算符,等价于sun=sun+i;i++;
}
printf("1+2+3+...+100=%d ",sum;//输出十进制数,1加到100累加器的和}
MicrosoftVisualC++6.0运行结果
使用while循环时,一定要对循环条件表达式中出现的变量提前赋值,并在循环体内修改有关变量的值,以使循环能趋于终止。
While循环为当型循环,do-while循环也叫直到型循环。
do-while语句的一般形式为:
do
{
循环体语句}while(
循环条件表达式
实例2:用do-while编制一个求n!的程序,n的值由键盘输入。
#include
voidmain(
{inti=1,n,p=1;
printf("请从键盘输入一个数,进行连乘积: ";
scanf("%d",&n;
do
{p=p*i;
i++;
}while(i<=n;
printf("连乘积的结果为p=n!:%d ",p;
}
分析:此程序,先定义三个变量i、n、p,p从p乘1开始执行,再i进行自增1,循环体中的语句执行完毕后,判断while的循环条件表达式,当i自增1为2时,看2是否<=输入的n值,若为真,则继续返回do循环,直到i自增的值比n大,则退出循环。
do-while主要用于人机交互,do-while循环是先执行后判断,do里面的循环体至少被执行一次。区别于while是先判断循环条件表达式,后执行。
for循环也叫步长型循环
一般格式:for(表达式1;表达式2;表达式3循环体语句;
功能:先执行表达式1,再执行表达式2,如果表达式2的值为真,就执行循环体语句,最后执行表达式3.完成一次循环后,从表达式2执行,直到表达式2为假,退出循环。
实例3:参考实例1,用while求1~100的累加和,现在用for语句求1~100的累
加和。
#include
intmain(void
{
inti;intsum=0;
/*初始化循环,定义变量i
和累加器sum,定义和之前,累加器清零*/
for(i=1;i<=100;i++
{
sum=sum+i;
}
printf("sum=%d ",sum;
return0;
}
实例4:爱因斯坦的`阶梯问题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。编写一个C程序解决该问题。
#include
main(
{intx;
for(x=7;;x+=7
if(x%3==2&&x%5==4&&x%6==5
break;
printf("Thenumberoftheladdersis:%d ",x;
}
分析:发现x一定是7的整数倍,可以依次递增地求出7的整数倍的值(7*1、7*2、7*3……),每求出一值,就用该值与2、3、5、6进行取模运算,最先得到的满足上述5个方程式的x值即为本题的答案。
用while语句,简单快速实现爱因斯坦的阶梯问题
#include
intmain(
{
inti=1;/*i为所设的阶梯数*/
while(!((i%2==1&&(i%3==2&&(i%5==4&&(i%6==5&&(i%7==0
++i;/*满足一组同余式的判别*/
我喜欢我们的校园,它处处洋溢着艺术的气息,特别是校园一角乐学亭与假山,它是我和我的伙伴们经常要去的地方。
走进校门,沿着长长的水泥马路走到尽头,就到了乐学亭。乐学亭是用木头搭建的。最别致的要数亭子顶部的四个角,它高高翘起,优美得像四只展翅欲飞的燕子,上面盖着古色古香的青瓦,给人一种典雅的感觉。亭子有四根立柱,全被漆成了黄色。在对着水泥马路的这一面,亭子的顶部横梁上挂着一块黑色的大匾,上面有三个苍劲有力的绿漆大字:“乐学亭”,让人一看就明白这是出自名家之手。亭子里有三条长凳,上面常常坐满了玩耍玩累的小朋友,他们吹着凉爽的风,心里别提有多高兴了。平时,我和朋友们也喜欢坐在亭子里谈天说地,评论实事。可在亭子里休息的小朋友打破了这种气氛,在亭子里上蹿下跳,爬来爬去,大喊大叫,亭子里的我们终于忍不住了,离开了乐学亭,直奔假山。
从乐学亭往右转,就到了假山。走近这里一眼就看到了假山的上面有几根尖尖的长石,气势冲天,给整座假山增加了一种威武之气;整看假山,真是怪石兀立面目狰狞,有的像企鹅,愣头愣脑、非常可爱;有的像利剑,划破长空、寒气逼人;有的像宝塔,巍然耸立、金光万道……这里的石壁上刻着各种文字,从远古的甲骨文到唐代的隶书,从秦朝的小篆到宋代的正楷,应有尽有。在此,我们看到了中华五千年文字的转变,看到了各种文字的崛起与衰败。
乐学亭与假山给学校平添了几分美丽,给我们带来了无数欢乐。
今天,李老师带着我们来到花坛一同欣赏春天的美景。刚来到花坛,你就会看见一排排冬青,她的顶端圆圆的,好像一个绿色的皮球,仿佛一不小新动一下它,就会滚下来。冬青不但像一个皮球,还像一位位勇士,在保护着花坛。走进花坛你就会看见一株玉兰花,它的'颜色像雪一样白,我左看右看总觉得玉兰花的形状像一个个小灯笼。你们猜玉兰花的花蕊是什么颜色的?哈哈!
你们猜不出来了吧,告诉你们吧,玉兰花的花蕊是淡紫色的,它也很香,你闻一下就会觉得神清气爽。在玉兰花的旁边有一株铁树,那株铁树非常的大,尤其是它的叶子好像有一米长。叶子上有很多条的尖锐的刺,动一下它你就会觉得很痛,这些刺仿佛就像一枚枚的针非常非常的尖,如果用铁树的叶子打人,那个人肯定会被打的痛晕过去。我们欣赏完了花坛,现在要去操场上观察樟树。我们站在樟树旁边,它一动不动的立在土里,就像一名解放军叔叔。一阵微风拂过,樟树就动了起来,还发出沙沙的声音,仿佛是一名歌唱家在迎风高歌。在樟树的下面,还开满了迎春花,它们好像在迎接春天的到来。今天的寻春之游要结束了,可是我的心还在春色中飘荡。名师点评:文章开头,小作者先介绍了故事的起因,原来是老师带着小作者和同学们一同欣赏春天的美景。那小作者都看到了些什么呢?文中小作者向读者介绍了自己看到的花坛、操场上的樟树,让读者感受到了春天的美丽和活力。其中小作者对玉兰花进行了重点介绍,其余则简单介绍,文章详略得当。小作者还采用了丰富的修辞手法,这也给文章增色不少。小作者在介绍校园春色的时候,如果能够结合学校的建筑来介绍就更好了,那样自然景物和建筑相映成趣,表达的效果会更好。“你就会看见一排排冬青,她的顶端圆圆的”中的“她”改为“它”。“仿佛一不小新动一下它”改为“仿佛一不小心动一下它”。
“它一动不动的立在土里”改为“它一动不动地立在土里”。
© 2022 xuexicn.net,All Rights Reserved.