第4章_分支结构终稿.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 if 语句 4.1.1 单分支if语句 它的一般格式如下: if(表达式) 语句; 说明:对条件表达式进行判断,若其值为“真(非0)”时执行语句,若其值为“假(0)”时则跳过语句。其执行过程见流程图4.1。 例如:设定学生成绩60分为及格分数线,用单分支if语句描述为: if ( grade = 60 ) printf ( “passed\n ” ) ; 又如:x大于y就输出x,用单分支if语句描述为: if ( x y ) printf ( “%d ”, x ) ; 4.1.2 双分支if语句 它的一般格式如下: if (表达式) 语句1; else 语句2; 说明:与单分支if语句不同的是在条件为“真(非0)”或“假(0)”时执行指定的不同的操作。对条件表达式进行判断,若其值为“真(非0)”时,就执行语句1;若其值为“假(0)”时,就执行语句2。其执行过程见流程图4.2。 例如:给学生成绩划分:成绩大于或等于60分时输出“passed”,成绩小于60分时输出“failed”。用双分支if语句描述为: if ( grade = 60 ) printf ( “passed\n ” ) ; else printf ( “failed\n ” ) ; 在前面的章节还提到过与if / else结构密切相关的条件运算符 ?:,它是C语言中唯一的三目运算符(即有三个操作数)。对上面的两例用条件运算符改写为: grade = 60 ?printf ( “passed\n ” ) :printf ( “failed\n ” ) ; x y ?printf ( “%d ”, x ) :printf ( “%d ”, y ) ; 由此说明适当的语句修改条件运算符可以完成if / else结构相同的功能。 说明: 1.对于单分支和双分支if后面的“表达式”,一般为逻辑表达式或关系表达式,事实上表达式的类型不限于此,可以是任意的数值类型(包括整型、实型、字符型、指针型数据)。只要表达式的值为非0,就认为它为真;只要表达式的值为0,就认为它为假。 例如: if ( 6 ) printf ( “passed\n ” ) ; if ( ‘A’ ) printf ( “%d ”, ‘A’ ) ; 这些都是合法的if语句。 2.对于双分支if语句,else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。 3.if语句后面的表达式之后不能增加分号,同时注意语句后面的分号不能遗漏。 4.在if和else后面可以只包括一个内嵌的操作语句,也可以包括多个操作语句,此时务必用“{}”将几个语句括起来成为一个复合语句。 例如:if ( x 100 ) { x-- ; s=+x ; } else { x++ ; s=+x ; } 此时又要注意:在“{}”后面不能再添加分号,因为“{}”内是一个完整的复合语句,不需要再添加分号。 4.1.3 多分支if语句 对于解决判断多个条件的问题,可以使用if语句的嵌套,即在if语句中又包括一个或多个if语句。它的一般格式如下: if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; ┆ else if (表达式m) 语句m; else 语句n; 说明:开始执行该结构后,便依次去对多个条件进行判断测试,符合某一条件,则转去执行该条件下的操作,其它部分将被跳过;如果无一条件为“真(非0)”,就执行最后一个else所指定的操作,这个else可以看作“其它情形”。应当特别注意if与else的匹配关系:规则是从最内层开始,else总是与它上面最近的(未曾配对的)if配对。其执行过程见流程图4.3。 【例4-1】编程实现给一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’等,89~80分为‘B’等,79~70分为‘C’等,69~60分为‘D’等,60分以下为‘E’等。 【源程序】 main( ) { int grade; printf ( input the grade:); scanf (%d,grade); if (grade=90) printf(A\n); else if(grade=80) printf(B\n); else if(grade=70) printf(C\n); else if(grad

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档