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;/*满足一组同余式的判别*/
没过多久,李老师就微笑着走进教室,大声说:“碰蛋比赛开始!”话音刚落,大家纷纷拿出早已准备好的蛋,开始去较量。我拿着鸡蛋跟同桌徐喆儿碰蛋。我的双手紧紧地握着鸡蛋,不敢上前,总担心鸡蛋会碎,一个回合下来,蛋都没碎。我把鸡蛋放在嘴边,一边吹气一边默念:你一定要赢!加油,加油!!我又紧紧地握着鸡蛋开始进攻,哎呦,他的蛋倒没碎,我的鸡蛋却被我捏碎了!
后来,我想:要不和周捷骋碰蛋?我正要去,结果他来了,手里拿着一只鹅蛋。我大吃一惊,说:“我本来想和你碰蛋,现在我可不敢了。”他拉着我的手说:“就来一局嘛!”结果,一碰,我的鸡蛋又碎了。我竖起大拇指,说:“牛,你的鹅蛋太厉害了!”
碰好了蛋,我就坐下开始吃蛋了,今天的鸡蛋特别香!我真想天天过立夏!
在素描绘画当中,最关键的当然是结构。
现实中很多画家,由于对人物或物体结构缺乏了解,最后只能走形式的路子,在创作中很难拿出具有深度的力作。虽然我们已经有了方便的照相机(现在都使用数码相机)和扫描仪,可以在电脑中处理图形,能够省却很多造型的麻烦,但是,形是形,结构是结构,并不是一个概念。对绘画的过程而言,形是附着在结构之上的表象,而结构才是对象的支撑;外在形的轮廓无法真正表现对象的内在美。
我们所观察到的对象的外形,那是一种表象,一种轮廓。当对象一旦变换位置,而我们又缺乏对结构的了解,就很难着手。在初学阶段,几乎每个人都经历了利用稳定的三角形来确定形体的大体位置和构图,然后再用小的虚拟的三角形、方形等分解被画对象局部的位置,这样的方法最后只能是比葫芦画瓢,照相般描绘对象。
就像我们已经走过了充饥的年代一样,我们已经走过了缺图的年代,正跨入一个读图的时代。各种图形、图像、图库层出不穷,再用照相的方法——抄照片去再现对象,倒不如干脆去搞摄影算了,那我们还不如照相机来得客观。对画家来说,最难以接受的便是被人夸奖为:看画得多好,像照片一样。也就是说,那些个作品没有强烈、强调和更深层次的东西,缺少画家对形体结构的理解和对对象的内涵表现的创意,这又怎么能算得上绘画的艺术作品呢?
艺术的真实,并不是纯客观的真实,而是画家通过自己的感官和手,表现画家内心的感受的一种艺术的真实——去粗取精、去伪存真、由此及彼、由表及里的刻画与刻划。
第二天来到学校,我先拿出一个比较硬的蛋,和方科臻比。我握紧蛋壳,向方科臻顶了上去,只听“咔嚓”一声,我以为方科臻的蛋碎了,便拿起来一看,“哎呀!我的`蛋怎么碎了?”我大声叫道。方科臻骄傲地说:“你这个软蛋当然碎了。”我又拿出一个蛋和方科臻比,这次,我换了一个方法,直接打下去,又听见“咔嚓”一声,我的蛋又碎了,我想:“我妈煮的蛋也太脆了。”我抬起头,看见讲台上有许多人围着,我挤了进去,看见柯老师正在和黄翊展比赛,许多人都喊着柯老师加油,柯老师说:“千万别把我的蛋弄碎了,我还要去三零二班比呢。”黄翊展却说:“我一定会赢的!”他们便比了起来,一开始柯老师左躲右闪,过了一会儿,柯老师向黄翊展的蛋的边上顶了上去,黄翊展的蛋碎了,“哈哈,柯老师赢了!”我们大叫道。
这次的顶蛋比赛可真是有趣啊!
春姑娘迈着轻快的脚步来到人间,迎着旭日的朝晖,我来到了景色秀丽宜人的北坛公园。
走进公园的大门,首先映入眼帘的是高大巍峨的史公塔。它又名"八大塔"。史公塔共有7层,每一层都有8个塔角。每个塔角上挂着一个小铃铛。当微风轻轻拂过人们的面颊时,总能听到铃铛那清脆悦耳的响声。塔窗上有一个白蓝相间的青瓷佛像。塔顶竟然长着一棵令人称奇的树。
顺着鹅卵石铺成的小路向东走,一片茂密的小树林便展现在我眼前,刚刚抽出绿芽的小树,宛如一位亭亭玉立的姑娘,略带羞涩。树枝随风飘荡,好似一位正在梳妆打扮的闺中小姐。
穿过小树林,向北走,就来到了人工湖,湖水微波荡漾。湖底几条小鱼在自由地"玩耍"。湖面上,几条卡通人物小船在行驶着,人们坐在船上聊天、观光,好不逍遥自在。看哪,一座汉白玉石拱桥架在两岸,连接南北,多壮观呀!
公园的西侧是我们儿童的天堂——儿童乐园。这里的娱乐项目很丰富:骑马场啦,碰碰车啦,蹦蹦床啦……这里人很多,欢声笑语不时传了过来。游乐场的老板,周围的小商贩们忙也忙不过来,尽管如此,他们脸上仍然洋溢着欢乐的笑容。
离开北坛公园,我浮想联翩……我很想变成一朵娇艳的花儿,点缀它;也很想变成一只小鸟,用动听的歌喉赞美它。很想很想……
© 2022 xuexicn.net,All Rights Reserved.