C语言基础-第五章-循环结构ppt课件.ppt
《C语言基础-第五章-循环结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言基础-第五章-循环结构ppt课件.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C C的基本结构的基本结构程序设计程序设计 程序的基本结构:程序的基本结构: 复习提问:复习提问: 顺序结构顺序结构选择结构选择结构循环结构循环结构 C C的基本结构的基本结构程序设计程序设计 程序的基本结构:程序的基本结构: 复习提问:复习提问: 顺序结构顺序结构选择结构选择结构循环结构循环结构 C C的基本结构的基本结构程序设计程序设计 程序的基本结构:程序的基本结构: 复习提问:复习提问: 顺序结构顺序结构选择结构选择结构循环结构循环结构顺序结构的特点:顺序结构的特点:每一条语句按顺序执行;每一条语句按顺序执行;每一条语句只执行一遍,每一条语句只执行一遍,不重复执行;不重复执行;也没有
2、语句不执行。也没有语句不执行。命令序列2命令序列1命令序列STARTEND复习提问:复习提问: C C的基本结构的基本结构程序设计程序设计复习提问:复习提问: 分支结构的特点:分支结构的特点:每一条执行了的语句每一条执行了的语句都只执行一遍。都只执行一遍。不重复执行;不重复执行;但有语句不执行。但有语句不执行。条件命令序列If语句后面的下一条语句NY命令序列条件命令序列2If语句后面的下一条语句命令序列1YN C C的基本结构的基本结构程序设计程序设计 C C的基本结构的基本结构程序设计程序设计 循环结构程序设计循环结构程序设计 主要内容主要内容: : 循环的概念、循环变量的概念等。(重点)循
3、环的概念、循环变量的概念等。(重点) whilewhile语句语句 do whiledo while语句语句 for for 语句语句(每一种语句的格式和使用都是重点)(每一种语句的格式和使用都是重点) 循环的嵌套(难点)循环的嵌套(难点) scanf(%f,&a); s=s+a; scanf(%f,&a); s=s+a; . 这样重复一百次,然后这样重复一百次,然后 输出输出s的值。的值。这样写显然非常麻烦。我们注意到这样写显然非常麻烦。我们注意到程序中的程序中的 scanf(%f,&a); s=s+a;两句话是一直重复的,如果能用一两句话是一直重复的,如果能用一种语句,使这两句话能自动的重
4、复种语句,使这两句话能自动的重复执行一百次,就可以简化了书写的执行一百次,就可以简化了书写的麻烦,这就是循环语句。麻烦,这就是循环语句。编程解决这样的一个问题:编程解决这样的一个问题:从键盘输入一百个学生的成绩,求总成绩。从键盘输入一百个学生的成绩,求总成绩。从前面所学,有两种解决方法。从前面所学,有两种解决方法。1.设一百个变量,分别输入学生的成绩,然后求和。设一百个变量,分别输入学生的成绩,然后求和。 这种方法浪费内存空间,显然不实际。这种方法浪费内存空间,显然不实际。2.设一个变量,每次输入一个学生成绩,累加后再输入下一个学生成设一个变量,每次输入一个学生成绩,累加后再输入下一个学生成绩
5、,如下:绩,如下:循环的概念循环的概念在循环条件的范围内反复在循环条件的范围内反复执行相同的循环体执行相同的循环体,称循环程序设计称循环程序设计。条件命令序列命令序列break命令序列循环后面下一条语句NY循环结构的特点:循环结构的特点:循环体中的语句,在循环体中的语句,在条件满足的情况下,条件满足的情况下,可反复执行可反复执行 5.2 while语句构成的循环结构 v一般形式一般形式:循环变量的初始值;while(循环条件表达式) 循环体语句;v执行流程执行流程:条件循环体语句假(0)真(非0)语句循环体语句可以是一条,循环体语句可以是一条,也可以是多条,也可以是多条,多条的时候应用复合语句
6、多条的时候应用复合语句将多条语句括起来。将多条语句括起来。循环变量的调整语句避免死循环表达式语句真假表达式1.1.计算表达式计算表达式语句2.2.如果表达式的值为非零如果表达式的值为非零,执行语句执行语句表达式3. 返回第一步,重新计算表达式返回第一步,重新计算表达式4. 如果表达式的值为零,则结束循环如果表达式的值为零,则结束循环如果表达式的值一开始就为如果表达式的值一开始就为0 0,则语,则语句一次也不会被执行。句一次也不会被执行。执行流程:执行流程:while语句举例语句举例问题问题: 求求1-10的和。的和。 算法分析算法分析: 1. 定义变量定义变量n存储加数,定义存储加数,定义s=
7、0存储累加的和。存储累加的和。 2. 输入第一个加数输入第一个加数n 3. 若若n=10,执行第执行第4步,否则执行第步,否则执行第6步步 4. s=s+n 5. n+ 6. 输出输出s.例:例:求求S=1+2+3+10的值的值 i=10s=s+i;i=i+1;输出s的值NYi=1;源程序:源程序:#includevoid main( ) int i , s ; i=1; while ( i=10 ) s=s+i; i=i+1; printf(please output s=%dn,s); 实例,用while循环语句实现求#include main() int i,sum=0; i=1; wh
8、ile(i=100) sum=sum+i; i+; printf(%d,sum);循环初值循环终值循环变量增值循环条件循环体While(i=100) i+; sum=sum+i;i=10s=s+i;i=i+1;输出s的值NYi=1;源程序:源程序:#includevoid main( ) int i , s ,n; printf(please input n:); scanf(%d,&n); i=1; while ( i=n ) s=s+i; i=i+1; printf(please output s=%dn,s);例:求例:求S=1+2+3+n 的值的值nv一般形式一般形式:循环变量的初始值
9、;do 循环体语句;while(循环条件表达式);v执行流程执行流程:do循环体expr假(0)真(非0)while dowhile语句1.1.执行语句执行语句3.3.表达式的值为非零表达式的值为非零,返回第,返回第1步步4.表达式的值为零,结束循环表达式的值为零,结束循环语句至少被执行一次。语句至少被执行一次。2.2.计算表达式计算表达式执行流程:执行流程:注意:注意:分号不能丢分号不能丢 实例,用do-while循环语句实现求#include main() int i,sum=0; i=1; do sum=sum+i; i=i+1; while(i=100); printf(%d,sum)
10、;由于由于do-while语句至语句至少要被执行一次,特少要被执行一次,特别要注意别要注意i和和sum的取值的取值问题!问题!想想这样的一段循环语句的执行结果想想这样的一段循环语句的执行结果:i=1;while (i=100) putchar(*);i+; 这个循环永远不会结束这个循环永远不会结束,因为循环控制变量因为循环控制变量i没有没有在循环体内被改变,在循环体内被改变,i+; 不属于循环体。不属于循环体。 循环语句中一定要注循环语句中一定要注意表达式的值是否能在意表达式的值是否能在循环执行过程中被改变,循环执行过程中被改变,以免造成死循环。以免造成死循环。 do-while同 while
11、语句的重要区别expr循环体假(0)真(非0)while循环控制在循环体之前,循环控制在循环体之前,只有当只有当whilewhile后的表达式为后的表达式为非非0 0时,才可能执行循环体,时,才可能执行循环体,循环体有可能一次都不执循环体有可能一次都不执行。行。do循环体expr假(0)真(非0)while总是先执行一次循环体,总是先执行一次循环体,然后再求表达式的值,因然后再求表达式的值,因此,无论表达式的值是此,无论表达式的值是0 0还还是非是非0 0,循环体至少执行一,循环体至少执行一次。次。源程序:源程序:#includevoid main( ) int sum=0,i; scanf(
12、%d,&i); while ( i=100 ) sum=sum+i; i=i+1; printf(sum=%dn,sum);例:例:while和和do while循环比较循环比较源程序:源程序:#includevoid main( ) int sum=0,i; scanf(%d,&i); do sum=sum+i; i=i+1; while ( i=100 ); printf(sum=%dn,sum); 5.4 for语句 一般形式 执行流程for(expr1 ; expr2 ; expr3) 循环体语句;expr2循环体假(0)真(非0)forexpr1expr3 for语句的一般应用形式f
13、or(循环变量赋初值;循环条件;循环变量增值)循环体语句;#include main() int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(%d,sum);例 用for循环求 for语句的几点说明 for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省 无限循环:for( ; ;) for语句可以转换成while结构语句i=1;for (; i=100; i+) sum=sum+i;for (i=1; ; i+) sum=sum+i;for (sum=0,i=1;i=100;) sum=sum+i; i+; i=1;fo
14、r (;i=100;) sum=sum+i; i+; for ( ; ;) 语句相当于while(1) 语句expr1;while(expr2)循环体语句;expr3;解1:#include main( ) int i=0; for(i=0;i10;i+) putchar(a+i); 运行结果:abcdefghij解2:#include main( ) int i=0; for(;i10;i+) putchar(a+i); 解3:#include main( ) int i=0; for(;i10;) putchar(a+(i+); 解4:#include main( ) int i=0; f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 第五 循环 结构 ppt 课件
限制150内