欢迎来到天天文库
浏览记录
ID:51993883
大小:229.00 KB
页数:64页
时间:2020-03-27
《《结构化程序设计》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章结构化程序设计主要内容if语句switch语句while语句do...while语句for语句循环嵌套break语句和continue语句语句标号和goto语句程序案例小结第页4-1if语句if语句的3种形式if语句的嵌套条件运算符和条件表达式第页4-1-1if语句的3种形式单分支if语句双分支if语句多分支if语句第页单分支if语句语句的格式:if(表达式)语句说明:语句的执行过程:若表达式的值为真(非0),执行语句,否则跳过语句继续执行if语句的下一条语句。第页单分支if语句的执行过程第页双分支if语句语句的格式:if(表达
2、式)语句1else语句2第页说明if语句的执行过程先计算表达式的值,如果表达式的值为真(即非0),则执行语句1,执行完语句1后,再执行if语句的下条语句(即从语句2后开始继续向下执行);如果表达式的值为假(即0),则跳过语句1而执行语句2,执行完语句2后,再执行if语句的下条语句。表达式(也称条件表达式)表达式的两边必须有一对括号。表达式的类型可以是任意的数据类型(包括整型、实型、字符型、指针型数据),但一般是关系表达式、逻辑表达式。系统对表达式的值进行判断,值为非0,按“真”处理;值为0,按“假”处理。第页接上语句分号是语句1和语句
3、2中不可缺少的部分,不要误认为它们是用分号隔开的若干语句,语句1和语句2是内嵌在if语句中的,并不独立于if语句而存在,这两个分号只是表示两条内嵌语句的结束,并不是表示if语句的结束。else必须和if配对使用,所以整个if语句应看作是一条语句。语句1和语句2可以是一条语句,也可以是由{}括起来的多条语句构成的一个复合语句,即:如果语句1或语句2处有多于一条语句要执行时,必须使用“{”和“}”把这些语句包括在其中,构成一条复合语句,复合语句等效于一条语句。第页接上此时条件语句形式为if(表达式){语句体1}else{语句体2}注意:在
4、“{}”外面不需要再加分号,因为“{}”内是一个完整的复合语句,不需另附加分号。第页双分支if语句的执行过程第页多分支if语句若双分支中语句2又是if语句,如此反复多次,就形成多分支if语句。多分支if语句不是一条具体的语句,它通过if语句的嵌套实现。其一般形式为:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…elseif(表达式n)语句nelse语句n+1第页说明语句的执行过程这种结构是从上到下逐个对条件进行判断,一旦发现条件满足就执行与该条件有关的语句,并跳过其后所有语句;若没有一个条件满足,
5、则执行最后一个else后的语句n+1。最后这个else常起着“缺省条件”的作用。复合语句如果满足某一个条件后有多于一条语句要执行时,必须使用复合语句的形式。格式多分支if语句的一般形式中,没有采用缩行方案。虽然采用缩行方案在技术上是正确的,但嵌套深度增加时,向右缩行太多,带来诸多不便。第页多分支if语句的执行过程第页4-1-2if语句的嵌套条件语句可以嵌套,这种情况经常碰到,ANSI标准指明,编译程序必须最少支持15层嵌套。实际上,多数编译程序支持远大于15层的嵌套if语句。但条件嵌套语句容易出错,其原因主要是不知道哪个if语句对应哪
6、个else语句。第页4-1-3条件运算符和条件表达式条件运算符条件表达式第页条件运算符条件运算符是C语言中唯一的三目运算符。由问号“?”和“:”两个字符组成,用于连接3个运算对象。第页条件表达式用条件运算符“?”和“:”组成的表达式称为条件表达式。其中运算对象可以是任何合法的算术、关系、逻辑或赋值等各种类型的表达式。条件表达式一般形式为:表达式1?表达式2:表达式3第页说明条件运算符的执行过程:先求解表达式1的值,若为非0时,整个条件表达式的值就是表达式2的值;若表达式1的值为0时,整个条件表达式的值是表达式3的值。优先级与结合性:条
7、件运算符的优先级比关系运算符和算术运算符都低,但高于赋值运算符。它的结合方向是自右至左的。条件表达式值的类型:条件表达式值的类型是表达式2和表达式3的类型中级别较高的那种。用条件运算符取代if语句并不局限于赋值,如果把函数调用放到构成条件运算符的表达式中,则可以利用条件运算符执行若干函数。第页4-2switch语句switch语句的一般形式如下:switch(表达式){case常量表达式1:语句1case常量表达式2:语句2……case常量表达式n:语句ndefault:语句n+1}第页说明语句的执行过程执行switch开关语句时,先
8、计算表达式的值,然后将它逐个与case后的常量表达式的值进行比较,当switch后的表达式的值与某一个常量表达式的值一致时,程序就转到此case后的语句开始执行,执行完后,程序流程转到下一个case后的语句开始执行;如果
此文档下载收益归作者所有