C语言循环结构一章 ppt课件

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/11/13
第五章 循环结构
1、用goto语句和if语句构成循环。 2、用while语句。 3、用do-while语句。 4、用for语句。
1
If语句和goto语句构成的循环
一般形式:goto 语句标号; 作用:无条件转向语句标号处执行 语句标号:合法的标识符后面加个冒号”:” 语句标号必须于此goto语句在同一个函数中 goto语句不符合结构化程序设计准则,因为无条
}while(i<n); /* i<n 表示条件成立,循环执行 */
printf("s=%d\n",s);
} 2020/11/13
13
while和do-while循环的比较
main( ) { int i,s=0;
scanf(“%d”,&i); do {s=s+i; i++; }while(i<=10); printf(“s=%d”,s);
6. if( x<20 )
7.
goto ab;
8. printf("%d\n",x);
9. }
2020/11/13
5
while 语句
一般形式: while(表达式) 语句
作用:实现“当型”循环。 当“表达式”非0(真) 时,执行“语句”。“语 句”是被循环执行的程序, 称为“循环体”。
特点:先判“表达式(条 件)”。
main( ) { int i,s=0;
scanf(“%d”,&i); while(i<=10) {s=s+i; i++; } printf(“s=%d”,s);
} 运行情况如下:
} 运行情况如下:
2020/11/13
14
说明
在一般情况下,用while和do-while语句解 决同一问题时,若二者的循环体部分是一 样的,它们的结果也一样。但当while后面 的“表达式”一开始就为“假”时,两种 循环的结果不同。这是因为此时while循环 的循环不被执行,而do-while循环的循环体 被执行一次。
main()
{ int x,y,sun,t; printf(”请输入两个整数(前大后小):” );
scanf(”%d%d”,&x,&y ); printf(”%d和%d之间所有的偶数的和是:”,x,y);
while( x<y)
{ if( x%2==0 )
sum+=x;
x++;
}
printf(”%d\n” ,sum);
只能有一条语句,超过用{}构成复合语句 表达式可以是任意表达式
2020/11/13
12
Example 5_4 计算n以内所有能被3整除或者能被7整除的 自然数之和
/*从3开始,各个自然数i逐个进行比较,直到自然数i不小于n则循环结束*/
#include "stdio.h"
main()
{ int n,i,s;
• “不怕太阳晒,也不怕那风雨狂,只怕先生骂我 笨,没有学问无颜见爹娘 ……”
• “太阳当空照,花儿对我笑,小鸟说早早早……”
Example 5_1
1. #include <stdwk.baidu.como.h>
2. main()
3. { int x;
4. x = 3;
5. ab: x+=2; /* ab: 语句标号 只能写在语句行的最左边*/
2020/11/13
15
for语循句环变量赋
初值
循环条件
循环变 量增量
循环体 部分
一般格式 for(表达式1;表达式2;表达式3) 语句
执行过程:
(1)求表达式1;
(2)求表达式2,若为
“真”,执行“语句”;
若为假,转第(5)步。
(3)求表达式3。
(4)转第(2)步。
(5)执行for语句下面的语
printf("请输入一个整数:");
scanf("%d",&n); /* 输入一个整数给n */
s=0; /* s用来存放满足条件的自然数之和,和的初值为0 */
i=3; /* 从3开始 */
do
{ if( i%3==0 || i%7==0 ) /*余数为0表示整除 */
s+=i;
i++; /* 准备判断下一个自然数 */
件转向使程序结构无规律、可读性差。一般应避 免使用goto语句,但如果能大大提高程序的执行 效率,也可以使用。
2020/11/13
2
精品资料
• 你怎么称呼老师?
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
• 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭
2020/11/13
6
注意事项
while后面的”()”不能少
表达式的可以使任意合法的表达式
语句的位置上只能有一条语句, while语句范 围只到while后面第一个分号处。超过一条 用“{}”括起来
while语句的循环体可能一次都不执行
循环体中必须有使循环趋于结束的语句, 否则程序进入“死循环”(不结束)。
2020/11/13
8
Example 5_2 计算
#include <stdio.h>
main()
{
int i,sum=0;
i = 1;
while (i <= 100)
{ sum = sum + i;
i++;
}
printf("%d",sum);
}
2020/11/13
9
Example 5_3 输入两个整数x和y,计算x和y之间所 有的偶数之和
2020/11/13
7
求1~100的累计和。
根据已有的知识,可以用 “1+2+……+100”来求解,但显然很繁琐。 现在换个思路来考虑:
首先设置一个累计器sum,其初值为0, 利用sum += n来计算(n依次取1、2、……、 100),只要解决以下3个问题即可:
(1)将n的初值置为1; (2)每执行1次“sum += n”后,n增1; (3)当n增到101时,停止计算。此时, sum的值就是1~100的累计和。
} 2020/11/13
10
do while语句
一般格式: do 语句(循环体) while(表达式);
特点:
“直到型”循环结构。先执行一次“语 句”,判“表达式”,当“表达式” 非0,再执行“语句”,直到“表达式” 为0,循环结束。
2020/11/13
11
do while 注意点
do后面没有分号; 语句的位置上只能到第一个分号处,也就是
句。
2020/11/13
16
Example 5_5 计算n以内所有自然数之和
#include "stdio.h"
相关文档
最新文档