- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 选择结构程序设计 掌握关系表达式和关系运算符 。 掌握逻辑运算符及逻辑表达式 。 掌握if语句、条件运算符的使用; 掌握switch语句的使用; 4.1.1关系表达式 4.2 逻辑运算符及逻辑表达式 * 关系表达式是用关系运算符将表达式连接起来的式子。其中,表达式可以是算术表达式、字符表达式、赋值表达式、关系表达式以及逻辑表达式。 关系表达式的值只有两个:指定关系成立时,即为“真”,以“1”表示;指定关系不成立时,即为“假”,以“0”表示。 4.1 关系表达式和关系运算符 4.1.2关系运算符及其优先次序 4-1 关系运算符表 如果操作数1不等于操作数2,那么结果为1 操作数1 ! = 操作数2 ! = 如果操作数1等于操作数2,那么结果为1 操作数1 = = 操作数2 = = 如果操作数1小于或等于操作数2,那么结果为1 操作数1 = 操作数2 = 如果操作数1小于操作数2,那么结果为1 操作数1 操作数2 如果操作数1大于或等于操作数2,那么结果为1 操作数1 = 操作数2 如果操作数1大于操作数2,那么结果为1 操作数1 操作数2 = 说明 用法 关系运算符 6个关系运算符都是双操作数运算符,其操作数的类型可以是数值型、字符型、指针类型或枚举类型等。 表4-2优先次序 自左向右 != 自左向右 = = 2 自左向右 = 自左向右 自左向右 = 自左向右 1 结合方向 运算符 优先级别 例如: i j != k 该表达式相当于 (i j) != k i =j k 该表达式相当于i = (j k) 4.2.1 逻辑运算符及其优先次序 1.逻辑运算符 C语言提供了3个逻辑运算符,见表4-3。 表4-3 逻辑运算符 只有两个操作数同时为0时,结果才为0;否则结果为1(有条件的运算操作数2)。 操作数1 || 操作数2 逻辑与 || 只有两个操作数同时为非0值时,结果才为1;否则结果为0(有条件的运算操作数2)。 操作数1 操作数2 逻辑与 如果操作数为非0值(逻辑真)时,则结果为0(逻辑假);反之,结果为1(逻辑真)。 !操作数 逻辑非 ! 说明 用法 逻辑运算符 2.优先次序 (1)逻辑运算中,逻辑非!优先级最高;其次是逻辑与;逻辑或|| 优先级最低。 (2)逻辑非!是单操作数运算符,其优先级高于基本算术运算符,结合方向为自右向左。 (3)逻辑与和逻辑||是双操作数运算符,其优先级低于关系运算符,结合方向为自左向右。 例如:int x=0, float y=0.0 !x++ 相当于 (!x ) ++ 结果为1 !++y 相当于 !(++y) 结果为0 x !y 相当于x(!y) 结果为0 x=0 y++=0 相当于(x=0)((y++)=0) 结果为1 4.2.2 逻辑表达式 逻辑表达式是用逻辑运算符将操作数连接起来的式子。逻辑表达式的值与关系表达式相同,结果只有两个:0或1。“1”代表真,“0”代表假。 例如:x=3, y=5, z=1 x y 结果为1 x yz 结果为0 xy || z++ 结果为1 4.3 if语句 4.3.1 if 语句的三种形式 1、单分支if语句 语句形式:if (表达式) 语句; 表达式 语句1 后续语句 图4-1 单分支if语句流程图 真(非0) 假(0) #include stdio.h void main() { int a,c,s; printf(\n enter a :); /*输出提示信息*/ scanf(%d,a); /*输入正方形边长*/ if (a0) /*若边长大于0,则计算其周长和面积*/ { c=4*a; s=a*a; printf(\n this perimeter is:%d,c); printf(\n this rear is:%d,s); } printf(\n the procedure is over!); } 运行结果: enter a : 5 this perimeter is:20 this rear is:25 the procedure is over! 【例4.1】从键盘输入正方形的边长,如果边长大于0,则计算其周长和面积。否则,什么都不做。程序如下: #in
文档评论(0)