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;/*满足一组同余式的判别*/
1 A good case in point is ...
2 As an illustration, we may take ...
3 Such examples might be given easily.
4 ...is often cited as an example.
In short, it can be said that
1.参观时间: 五月四日,星期三
2.颐和园简介: 它是中国最大的保存最完好的皇家园林, 风景优美, 甚是迷人, 有山有水, 有皇家建筑和画廊。
3.活动安排: 上午自由参观, 中午在快餐馆吃午饭, 下午5:30返回宾馆。
4.集合时间: 星期三早上6:10, 汽车6:30开, 行驶45分钟。
5.集合地点: 宾馆大门口。
要求: 不要逐条翻译, 词数100词左右 。
One possible version:
May I have your attention?
可以让我注意吗?
We will visit the summer Palace on Wednesday, May 4. The Summer Palace is the largest well-kept royal park in China. In the park there is water and man-piled hills. There are some royal buildings and a gallery, too. I am sure you will be struck by its beautiful scenery. In the morning we will be free to visit the different places of the Palace and then we will have lunch in the fast-food restaurant. We will get back to the hotel at half five. Please gather at the hotel gate at 6:10 on Wednesday morning. The buses will start at 6:30. It will take us about 45 minutes to get there. Please be on time. Thank you.
我们将于星期三参观颐和园,五月四日。颐和园是中国最大的皇家公园。在公园里有水和人堆山。还有一些皇家建筑和一个画廊。我相信你会被它美丽的风景所打动。在上午我们将自由访问不同的地方的宫殿,然后我们将在快餐店吃午饭。我们将回到酒店的一半五。请聚集在酒店门口6:10星期三早上。公共汽车将在6:30。到那儿要花45分钟的时间。请准时。谢谢你。
© 2022 xuexicn.net,All Rights Reserved.