流程控制ppt课件_第1页
流程控制ppt课件_第2页
流程控制ppt课件_第3页
流程控制ppt课件_第4页
流程控制ppt课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、流程控制前面我们看到的代码都是顺序执行的,这称为顺序构造。但有时候,顺序构造的代码是远远不够的。比如有些18禁的小电影只允许成年人观看,他由于年龄不够,儿童不宜。这就是选择。程序代码执行的顺序,称作流程控制。Ta有顺序、选择和循环三种构造。选择构造选择构培育是根据不同的情况执行不同的代码。也就是说,某些代码能够执行,也能够不执行。选择构造有两种根本类型:if 和 switch。if语句最简单if语句if语句的控制范围ifelse语句if语句的嵌套ifelse if语句多分支if语句例如排序初探if语句常见问题解析最简单if语句最简单if语句的格式: if(表达式) 语句;功能:判别表达式能否为

2、真,假设真,那么执行语句;假设假,那么执行下一条语句。if语句的控制范围if(表达式) 语句1; 语句2;当前情况下,if语句只能控制语句1的执行或不执行,不能控制语句2的执行或不执行。换句话说,语句2一定会执行。if语句的控制范围续if(表达式) 语句1; 语句2;假设想让if语句控制多条语句的执行或不执行就必需把这些语句用 括起来。ifelse语句ifelse语句的格式: if(表达式) 语句1; else 语句2;功能:判别表达式能否为真,假设真,那么执行语句1;否那么,执行语句2。if语句的嵌套一个if语句又包含一个或多个if语句称为if语句的嵌套。Ta的格式: if(表达式) if(

3、表达式) 语句1; else 语句2; else if(表达式) 语句3; else 语句4;阐明if语句的嵌套常用以处理比较复杂的选择问题,其中每条语句的执行都需经过多个条件共同决议。现作几点阐明如下:任何if语句都可以嵌套。被嵌套的if语句本身还可以是嵌套的if语句。在多层嵌套的if语句中,else总是与离它最近且没有配对的if配对。ifelse if语句多分支ifelse if语句的格式: if(表达式1) 语句1; else if(表达式2) 语句2; else 语句n;从上到下逐一判别表达式,当某个表达式为真,那么执行其对应的语句,其他部分不执行。假设一切表达式均为假,那么执行语句n

4、。if语句例如排序初探算法是一个广泛的概念。学编程,就必需求了解根本的算法。那么排序算法就是其中的明珠。选择排序法是排序算法中的一种。其根本思想以升序为例是:首先,找出最小的数,放在第一个位置;然后,再找出第二小的数,放在第二个位置;以此类推,直到一切的数从小到大排序。if语句常见问题解析_1if(表达式); 等价于:if(表达式) ; /这是一个空语句if语句常见问题解析_2if(表达式) 语句1;else 语句2;if(表达式); /错误 语句1;else 语句2;if语句常见问题解析_3if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式m) 语句m;

5、 else 语句n;即使表达式1和表达式2都成立,也只会执行语句1。if语句常见问题解析_4if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;这样写语法上完全没有问题,但逻辑上会有破绽。if语句常见问题解析_5if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else(表达式4) 语句4;这样写是错误的。矫正方法:要么去掉(表达式4),要么在(表达式4)前加if。if语句常见问题解析_6if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;

6、else (表达式4); 语句4;这样写语法上OK,但逻辑上是错误的。switch语句C言语虽然没有限制ifelse可以处置的分支数量,但当分支过多时,用ifelse处置睬不太方便,而且容易出错。这时,我们就需求另一种选择构造-switch语句,用来替代多分支的ifelse语句。switch语句的格式switch(表达式) case 常量表达式1: 语句1; case 常量表达式2: 语句2; case 常量表达式n: 语句n;default: 语句n+1;switch语句的执行过程先计算表达式的值,假设为m。从第一个case开场,依次比较各常量表达式和m的值。假设相等,就执行:后面的一切语句

7、,直至语句终了或碰到break,而不论能否与剩下的case匹配;假设不相等,就跳过:后面语句,继续比较下一个case。假设比到最后一个常量表达式都找不到相等的,那么就执行default后面的语句。阐明switch后面()里的表达式原那么上允许为恣意数据类型。但VC+6.0中只允许为整型或字符型。case后面必需是一个整数,或者是结果为整数的表达式,不能包含任何变量。default不是必需的。当没有default时,假设一切case都匹配失败,那么程序就没结果。动动脑判别下面的例如能否正确:case 10 : printf();case 8+9 : printf();case A : print

8、f();case A+19 : printf();case 9.5 : printf();case a : printf();case a+19 : printf();循环构造所谓循环构造,就是反复地执行同一段代码。比如,我们要计算1+2+3+100之和,就是反复99次加法运算。循环构造有三种根本类型:for、while 和 do-while。for循环for循环的格式for循环的执行过程for循环的控制范围for循环的3个表达式for循环的格式for循环的普通格式: for(表达式1; 表达式2; 表达式3) 语句;表达式1仅在第一次循环时执行,以后不再执行。表达式2普通是关系表达式,决议了

9、能否还要继续下次循环。表达式3普通是自增或自减操作,使表达式2逐渐“不成立。for循环的执行过程先执行表达式1。再执行表达式2,假设其值为真,那么执行循环体,否那么终了循环。执行完循环体后再执行表达式3。反复执行b.和c.,直至表达式2的值为假,就终了循环。b.和c.是一次循环,会反复执行,for循环的主要作用就是不断执行b.和c.。for循环的控制范围for (表达式1; 表达式2; 表达式3) 语句1; 语句2;当前情况下,for循环只能控制语句1执行的次数,无法控制语句2执行的次数。换句话说,语句2仅执行一次。多个for循环嵌套_1for (表达式1; 表达式2; 表达式3) for (

10、表达式4; 表达式5; 表达式6) 语句1; 语句2;多个for循环嵌套_2for (表达式1; 表达式2; 表达式3) for (表达式4; 表达式5; 表达式6) 语句1; 语句2; for (表达式7; 表达式8; 表达式9) 语句3; for循环的3个表达式for循环中的表达式1循环初始条件、表达式2能否循环条件和表达式3循环趋向终了条件都可以省略,但;必需保管。下面以1100的和为例。省略表达式1可以将表达式1移到for循环的前面:int i=1, sum=0;for(; i=100;+i) sum+=i;省略表达式2假设不做处置就会成为死循环:for(i=1; ;+i) sum+=

11、i;所谓死循环,就是能否循环条件永远成立,循环会不断执行下去,永不终了。死循环对程序的危害很大,一定要防止。省略表达式3不会修正表达式2能否循环条件中变量的值,可以在循环体中参与该语句:for(i=1; i=100;) sum+=i; +i; 省略表达式1和表达式3i=1;for(;i=100;) sum+=i; +i;3个表达式同时省略for(; ;) /语法上完全OK,无实践意义相当于:while(1)补充表达式1和表达式3可以是普通表达式也可以是逗号表达式。 for(i=0,j=100; i=100; +i,-j) sum=i+j;表达式2普通是关系或逻辑表达式,也可是数值或字符,只需非

12、零,就执行循环。 for(;(c=getchar()!=n;) printf(%cn, c);while循环while循环的普通格式: while(表达式) 语句;先执行表达式,其值为真,那么执行语句;执行完语句,再次执行表达式,假设为真,继续执行语句如此循环往复,直至表达式为假,退出循环。while循环与for循环for(表达式1; 表达式2; 表达式3) 语句;等价于:表达式1;while(表达式2) 语句; 表达式3;while循环例如:回文数从键盘上输入一个整数,假设该数是回文数,前往YES,否那么前往NO。假设任一自然数,将其各位数字反向陈列所得自然数与其相等,那么称这个自然数为回文

13、数。如,12321是回文数;但12345不是回文数do-while循环do-while循环的普通格式: do 语句; while(表达式);do-while循环与while循环的不同在于:它会先执行语句,然后再判别表达式能否为真,为真那么继续循环;为假那么终止循环。因此,do-while循环至少要执行一次语句。跳出循环运用循环时,假设想提早终了循环在不满足能否循环条件的情况下终了循环或进入下一次循环,可以运用break语句或continue语句。break语句当break用于switch语句时,会终止switch语句。当break用于循环时,会终止循环。break语句常和if语句一同运用,即满足条件时终止循环。break不能单独用于if语句。在多层嵌套的switch语句或循环中,break只能终止离Ta最近的switch语句或循环。continue语句continue语句用以跳过循环中剩余的语句而强行进入下一次循环。continue语句只能用于循环,常与if语句一同运用,即满足条件时进入下一次循环。continue语句与break语句的不同点在于: break语句用来终止循环,循环语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论