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;/*满足一组同余式的判别*/
College education is indispensable to the future development of the young people, so it is of vital importance.
2.不能否认,很多没有上过大学的人也取得了事业上的成功,但是,如果问问他们,他们会说:如果当时有条件,他们也会选择上大学的`,因为上大学与成功是不矛盾的。
There is no denying that many people who did not go to college have achieved great success.
But if you ask them, they will say that if they had had the chance, they would also have chosen to go to college, for college education never contradicts success.
3.虽然有很多没有读过大学的人取得了事业上的巨大成功,但同样有很多人,不,是更多的、读过大学的人,取得了更大的成功。
While it is true that many people who did not go to college have achieved great success, it is also true that many people, no, more people who had received college education have made even greater success.
4.读大学不是成功的保障,但不读大学会成为一种遗憾。
Going to college can not guarantee success, but not going to college would be a big regret.
5.大学教育可以丰富我们的知识,但更重要的是它为我们将来走向社会、服务社会做好了初级的准备。
小升初复习练习(一)改写句子
一、陈述句改为反问句。
方法:
1、在句子中加上难道+(—)不+吗?
怎么+(—)不+呢?
怎能+(—)不+呢?
2、读改好的反问句,要求句子通顺,意思与原句相同。
(特别注意反问句后面要有“?”号)
小练习:
1、这样气魄雄伟的工程,在世界史上是一个伟大的奇迹。
2、十万枝箭三天是造不成的。
二、反问句改为陈述句。
方法:
1、删除句子中的难道+(—)不+吗?
怎么+(—)不+呢?
怎能+(—)不+呢?
2.问号改为句号。
3.读改好的陈述句,要求句子通顺,意思与原句相同。
小练习:
1.这怎么忍受得了呢?
2.在阳光下,大片青松的边沿闪动着白桦的银裙,不是像海边的浪花吗?
3、人与山的关系日益密切,怎能不使我们感到亲切、舒服呢?
三、缩句。
方法:
1、找出主要动词。
2、删除句子中“的”“地”前面的,以及“在”“从”
“得”后的修饰成分。
3、看句子是否还含有其它修饰成分,若有,删去。
4、读改好的句子,检查句子是否通顺,句子意思是否与原句意思一致,句子是否保留了“名+动”或“名+动+名”的形式。
小练习:
1.白茫茫的水上没有一点儿波浪。
2.两山之间往往流动着清可见底的小河。
3.听到这个消息,王明高兴得跳起来。
4.和老师的一次谈话,更加激发了我的想象力。
四、直接语句改为间接语句(第三人称叙述)一般方法:
1、提示语部分基本不变
2、将[:“”]改为[,]
3、若直接语句中只出现了一个人称,而且这个人称就是指的是提示语中的人,只要将这个人称改为“他(她)”
若直接语句中出现了两个不同的人称,而且这两个不同的人称分别指的是提示语中的两个人,那么,要将
代表提示语的第二个人的人称用提示语中的名称代替,将代表提示语中第一个人的人称用“他(她)”代替
4、读改好的句子,检查句子是否通顺,句子意思是否与原句一致。
小练习:
1.贝多芬说:“我是来弹一首曲子给这位姑娘听的。”
2.齐白石对***说:“如果您喜欢这种笔墨,我回去以后,再给您重画。”
3.母亲对我说:“你说它是怎么长的?”
4.李明说:“我要努力学习,争取早日赶上大家。”
5.王老师对小军说:“你的生日我知道了。”
6.我对外祖父说:“外公,您也回祖国去吧!”
改写句子练习
1.教室里传出一阵阵欢笑声。(改成夸张句______________________________________________
___________________________。
2.薄雾笼罩着大山。(改为拟人句
______________________________________________
___________________________。
3.游人不解春何在?只捡儿童多处行。(用上恰当的
关联词连成一句话
______________________________________________
___________________________。
4.友谊是一壶茶,细品慢咽有滋味;友谊是一杯水,君子之交淡如水。(请根据你对友谊的理解,仿写一句______________________________________
_________________。
5.缩句:①我目不转睛地望着太阳从东方升起的地
方。___________________________
②我们爬上半山的五松亭,看见在那恣态奇特的古松下整理挑儿的正是那
个挑山工。
_____________________________________________________________________
____。
6.把两句话用关联词语合为一句话。
我们是为人民服务的。我们有缺
点不怕别人批评指出。
______________________________________________
________________________。
7.改为转述句:小青石得意地想:“我就要到都
市里去了。我将成为发簪和纽扣
呢?”_________________________________________
______________________________。
8.反问句改为陈述句:这比山高比海还深的情谊,我
们怎么会忘
记?
______________________________________________
__________________________。
© 2022 xuexicn.net,All Rights Reserved.