第4章结构化程序设计.ppt
《第4章结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章结构化程序设计.ppt(64页珍藏版)》请在三一办公上搜索。
1、第4章,结构化程序设计,第2页,主要内容,if语句switch语句while语句do.while语句for语句循环嵌套break语句和continue语句语句标号和goto语句程序案例小结,第3页,4-1 if语句,if语句的3种形式if语句的嵌套条件运算符和条件表达式,第4页,4-1-1 if语句的3种形式,单分支if语句双分支if语句多分支if语句,第5页,单分支if语句,语句的格式:if(表达式)语句说明:语句的执行过程:若表达式的值为真(非0),执行语句,否则跳过语句继续执行if语句的下一条语句。,第6页,单分支if语句的执行过程,第7页,双分支if语句,语句的格式:if(表达式)语句
2、1 else 语句2,第8页,说明,if语句的执行过程 先计算表达式的值,如果表达式的值为真(即非0),则执行语句1,执行完语句1后,再执行if语句的下条语句(即从语句2后开始继续向下执行);如果表达式的值为假(即0),则跳过语句1而执行语句2,执行完语句2后,再执行if语句的下条语句。表达式(也称条件表达式)表达式的两边必须有一对括号。表达式的类型可以是任意的数据类型(包括整型、实型、字符型、指针型数据),但一般是关系表达式、逻辑表达式。系统对表达式的值进行判断,值为非0,按“真”处理;值为0,按“假”处理。,第9页,接上,语句 分号是语句1和语句2中不可缺少的部分,不要误认为它们是用分号隔
3、开的若干语句,语句1和语句2是内嵌在if语句中的,并不独立于if语句而存在,这两个分号只是表示两条内嵌语句的结束,并不是表示if语句的结束。else必须和if配对使用,所以整个if语句应看作是一条语句。语句1和语句2可以是一条语句,也可以是由括起来的多条语句构成的一个复合语句,即:如果语句1或语句2处有多于一条语句要执行时,必须使用“”和“”把这些语句包括在其中,构成一条复合语句,复合语句等效于一条语句。,第10页,接上,此时条件语句形式为 if(表达式)语句体1 else 语句体2注意:在“”外面不需要再加分号,因为“”内是一个完整的复合语句,不需另附加分号。,第11页,双分支if语句的执行
4、过程,第12页,多分支if语句,若双分支中语句2又是if语句,如此反复多次,就形成多分支if语句。多分支if语句不是一条具体的语句,它通过if语句的嵌套实现。其一般形式为:if(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3 else if(表达式n)语句nelse 语句n+1,第13页,说明,语句的执行过程 这种结构是从上到下逐个对条件进行判断,一旦发现条件满足就执行与该条件有关的语句,并跳过其后所有语句;若没有一个条件满足,则执行最后一个else后的语句n+1。最后这个else常起着“缺省条件”的作用。复合语句 如果满足某一个条件后有多于一条语句要执行时,
5、必须使用复合语句的形式。格式 多分支if语句的一般形式中,没有采用缩行方案。虽然采用缩行方案在技术上是正确的,但嵌套深度增加时,向右缩行太多,带来诸多不便。,第14页,多分支if语句的执行过程,第15页,4-1-2 if语句的嵌套,条件语句可以嵌套,这种情况经常碰到,ANSI标准指明,编译程序必须最少支持15层嵌套。实际上,多数编译程序支持远大于15层的嵌套if语句。但条件嵌套语句容易出错,其原因主要是不知道哪个if语句对应哪个else语句。,第16页,4-1-3 条件运算符和条件表达式,条件运算符条件表达式,第17页,条件运算符,条件运算符是C语言中唯一的三目运算符。由问号“?”和“:”两个
6、字符组成,用于连接3个运算对象。,第18页,条件表达式,用条件运算符“?”和“:”组成的表达式称为条件表达式。其中运算对象可以是任何合法的算术、关系、逻辑或赋值等各种类型的表达式。条件表达式一般形式为:表达式1?表达式2:表达式3,第19页,说明,条件运算符的执行过程:先求解表达式1的值,若为非0时,整个条件表达式的值就是表达式2的值;若表达式1的值为0时,整个条件表达式的值是表达式3的值。优先级与结合性:条件运算符的优先级比关系运算符和算术运算符都低,但高于赋值运算符。它的结合方向是自右至左的。条件表达式值的类型:条件表达式值的类型是表达式2和表达式3的类型中级别较高的那种。用条件运算符取代
7、if语句并不局限于赋值,如果把函数调用放到构成条件运算符的表达式中,则可以利用条件运算符执行若干函数。,第20页,4-2 switch语句,switch语句的一般形式如下:switch(表达式)case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式n:语句n default:语句n+1,第21页,说明,语句的执行过程 执行switch开关语句时,先计算表达式的值,然后将它逐个与case后的常量表达式的值进行比较,当switch后的表达式的值与某一个常量表达式的值一致时,程序就转到此case后的语句开始执行,执行完后,程序流程转到下一个case后的语句开始执行;如果
8、没有一个常量表达式的值与switch后的值一致,就执行default后的语句。表达式 switch后的表达式可以是整型或字符型,也可以是枚举类型的,对于其他类型,原来的C语言标准是不允许的,但在新的ANSI C语言标准中允许表达式的类型为任何类型。switch语句中使用字符常数时,这些常数都被自动变换成整数。,第22页,接上,常量表达式 每个case后的常量表达式只能是常量组成的表达式。复合语句 每个case或default后的语句可以是复合语句,但不需要使用“”和“”括起来。,第23页,接上,标号语句case和default case语句是一种标号语句,但它不能在switch语句之外独立存在
9、。嵌套switch语句 switch语句可以作为另一个外层switch语句序列中的一部分,即使内外层的case常量相同,也不会引起冲突。switch语句和if语句的不同 switch只能测试是否相等,而if中还能测试关系表达式和逻辑表达式。switch语句常用于处理键盘输入,如选择菜单等,第24页,4-3 while语句,while循环的一般格式while循环的执行过程,第25页,4-3-1 while循环的一般格式,while是C语言的关键字表达式 表达式是循环能否继续重复的条件。while循环总是在循环的头部检验条件,这就意味着循环可能什么也不执行就退出。循环体循环体即语句部分。,第26页
10、,4-3-2 while循环的执行过程,计算while后一对圆括号中的表达式的值,如表达式的值为非0时,执行步骤2;如表达式的值为0时,则执行步骤3。执行循环体中的语句。转去执行步骤1。退出while循环。,第27页,while循环的执行过程,第28页,4-4 dowhile语句,do.while循环的一般格式do.while循环的执行过程do.while语句和while语句的区别与联系,第29页,4-4-1 dowhile循环的一般格式,dowhile循环又称直到型循环,它的一般格式为:do循环体while(表达式);,第30页,说明,do是C语言的关键字,必须和while联合使用。dowh
11、ile循环由do开始,用while结束;必须注意的是:在while(表达式)后面的“;”不能缺,它表示dowhile语句的结束。while后面的圆括号中的表达式用于进行条件判断,决定循环是否执行。do后面的循环体可以是一条可执行语句,也可以是由多个语句构成的复合语句,对于复合语句必须用“”和“”括起来。,第31页,4-4-3 dowhile语句和while语句的区别与联系,这两个循环语句可以用来表示循环次数固定的循环,但更主要的应用是用来表示循环次数不固定的循环。dowhile语句的特点是先循环,后判断。即:在判断条件是否成立前,先执行循环体语句一次。因此,dowhile循环至少要执行一次循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 结构化程序设计 结构 程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5640555.html