C语言第4章分支结构ppt课件.ppt
《C语言第4章分支结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言第4章分支结构ppt课件.ppt(34页珍藏版)》请在三一办公上搜索。
1、第三部分 C语言的结构语句 第4章 选择结构,问题的提出:百分制成绩的等级划分问题,编程实现:给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A等,8980分为B等,7970分为C等,6960分为D等,60分以下为E等。 假定成绩为整型数据。,4.1 if 语句,4.1.1 单分支if语句 它的一般格式如下: if(表达式) 语句; 说明:对条件表达式进行判断,若其值为“真(非0)”时执行语句,若其值为“假(0)”时则跳过语句。其执行过程见流程图4.1。一条件:一个条件表达式可以是单值判断如x=1,也可以是范围判断,如x0 & x10。一语句:if后只能管一条语句,例如:设定
2、学生成绩60分为及格分数线,用单分支if语句描述为: if ( grade = 60 ) printf ( “passedn ” ) ;又如:x大于y就输出x,用单分支if语句描述为: if ( x y ) printf ( “%d ”, x ) ; 写出程序段的运行结果:当整型变量x=55,60,78时, if ( x = 60 ) printf ( “%d ”, x ) ; printf ( “passedn ” ) ;,【例4-1】百分制成绩的等级划分问题之解法1:仅用if单分支语句实现 main() int score; scanf(%d,/要求掌握:数学范围与if条件范围的转换,4.
3、1.2 双分支if语句,它的一般格式如下:if (表达式) 语句1;else 语句2;说明:与单分支if语句不同的是在条件为“真(非0)”或“假(0)”时执行指定的不同的操作。对条件表达式进行判断,若其值为“真(非0)”时,就执行语句1;若其值为“假(0)”时,就执行语句2。其执行过程见流程图4.2。一条件:一个条件/关系表达式一语句: if后有且仅能有一条语句,else后只能管一条语句一执行:只能执行一条语句,例如:给学生成绩划分:成绩大于或等于60分时输出“passed”,成绩小于60分时输出“failed”。用双分支if语句描述为: if ( grade = 60 ) printf (
4、“passedn ” ) ; else printf ( “failedn ” ) ;,说明:1.对于单分支和双分支if后面的“表达式”,一般为逻辑表达式或关系表达式,事实上表达式的类型不限于此,可以是任意的数值类型(包括整型、实型、字符型、指针型数据)。只要表达式的值为非0,就认为它为真;只要表达式的值为0,就认为它为假。 例如: if ( 6 ) printf ( “passedn ” ) ; if ( A ) printf ( “%d ”, A ) ; 这些都是合法的if语句。2. else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。,3.if语句后面的表达式之后
5、不能增加分号(为何?),同时注意语句后面的分号不能遗漏(为何?) 。4.在if和else后面可以只包括一个内嵌的操作语句,也可以包括多个操作语句,此时务必用“”将几个语句括起来成为一个复合语句。 例如:if ( x 100 ) x- ; s=+x ; /如果去掉括号呢? else x+ ; s=+x ; /如果去掉括号呢?此时又要注意:在“”后面不能再添加分号,因为“”内是一个完整的复合语句,不需要再添加分号。,在前面的章节还提到过与if / else结构密切相关的条件运算符 ?:,它是C语言中唯一的三目运算符(即有三个操作数)。对上面的两例用条件运算符改写为: grade = 60 ?pri
6、ntf ( “passedn ” ) :printf ( “failedn ” ) ; x y ?printf ( “%d ”, x ) :printf ( “%d ”, y ) ;由此说明适当的语句修改条件运算符可以完成if / else结构相同的功能。,4.1.3 多分支if语句,对于解决判断多个条件的问题,可以使用if语句的嵌套,即在if语句中又包括一个或多个if语句。它的一般格式如下:if (表达式1) 语句1;else if (表达式2) 语句2;else if (表达式3) 语句3; else if (表达式m) 语句m;else 语句n; /一般来说表达式之间具备一定的顺序关系,
7、说明:1.执行顺序:开始执行该结构后,便依次去对多个条件进行判断测试,符合某一条件,则转去执行该条件下的操作,其它部分将被跳过;如果无一条件为“真(非0)”,就执行最后一个else所指定的操作,这个else可以看作“其它情形”。2.应当特别注意if与else的匹配关系(难点):规则是从最内层开始,else总是与它上面最近的(未曾配对的)if配对(而不是if与他最下面的else匹配)。,例 根据程序写出运行结果,main ( ) int x=2,y=-1,z=2; if(xy) if(y0) z=0; else z+=1; printf(“%dn“,z);,答案:2,3.其执行过程见流程图4.3
8、。,注意表达式之间的顺序关系课堂作业:将表达式位置倒过来后,即低等级先判断,高等级后判断,完成框图与程序,【例4-2】百分制成绩的等级划分问题之解法2:ifelse,【源程序】main( ) int grade; printf ( input the grade:); scanf (%d,例:关于if与else的匹配问题,编程实现以下功能:1)当a=0并且b=0时输出“error”2)当a=0并且b!=0时什么也不做3)当a!=0时,进行自加,a=0,b=0,输出”error”,开始,结束,a+,T,F,F,T,If (a=0) if (b=0) printf(“error”); /请问他们是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 分支 结构 ppt 课件

链接地址:https://www.31ppt.com/p-1375856.html