第2章数据类型、运算符和表达式.(恢复)导论.ppt

第2章数据类型、运算符和表达式.(恢复)导论.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 逻辑运算符的运算规则 2.7.4 逻辑运算符和逻辑表达式 2.7 C语言中基本的运算符和表达式 (2) 逻辑表达式 用逻辑运算符和圆括号把逻辑值连接起来构成的式子,称为逻辑表达式。其一般形式为: 表达式 逻辑运算符 表达式 例如: !(ab) (a= =b) (a1) (a-3) | | (a7) 逻辑表达式的值只有真和假两个值。当逻辑表达式的值为真时,用数值1作为表达式的值;逻辑表达式的值为假时,用数值0作为表达式的值。当判断一个逻辑表达式的结果时,如逻辑表达式的整体值为非0,表示为真;如逻辑表达式的整体值为0,表示为假。 2.7.4 逻辑运算符和逻辑表达式 2.7 C语言中基本的运算符和表达式 (3) 逻辑运算符的优先级 三种逻辑运算符的优先级由高到低依次为: !→ → || 逻辑运算符与其他运算符的优先级次序如下: !→ 算术运算符 → 关系运算符 → → || → 赋值运算符 → 逗号运算符 (4) 逻辑运算符的结合性 逻辑运算符的结合性: 和||均为双目运算符,具有左结合性;!为单目运算符,具有右结合性。 2.7 C语言中基本的运算符和表达式 2.7.4 逻辑运算符和逻辑表达式 2.7 C语言中基本的运算符和表达式 (5) 逻辑表达式的说明和注意事项 ①逻辑与()运算式中,只要前面有一个表达式被判定为“假”,系统不再判定求解其后的表达式,整个表达式的值为0。 例如, 对于逻辑表达式abc,当a=0时,表达式的值即为0,不必计算判断b、c; 当a=1、b=0时,表达式的值为0,不必计算判断c;只有当a=1、b=1时,才判断c。 ②逻辑或(||)运算表达式中,只要前面有一个表达式被判定为“真”,系统不再判定或求解其后的表达式,整个表达式的值为1。 例如, 对于逻辑表达式a||b||c,当a=1(非0)时,表达式的值为1,不必计算判断b、c;当a=0时,才判断b,如b=1,则表达式的值为1,不必计算判断c;只有当a=0、b=0时,才判断c。 2.7 C语言中基本的运算符和表达式 2.7.4 逻辑运算符和逻辑表达式 2.7 C语言中基本的运算符和表达式 【例2.17】 已知“int a=60,b=9”,计算表达式a%2= =0||b%2!=0的值。 根据优先级和结合性,计算表达式a%2==0||b%2!=0的值,相当于计算表达式(a%2= =0)||(b%2!=0)的值。关系运算a%2==0的结果为1,得表达式1||(b%2!=0),1与任何值进行逻辑||运算结果都为1,则整个表达式的计算结果为1。 【例2.16】 已知m=5,n=10,执行表达式(m=mn)(n=nm)后,求表达式以及m和n的值。 逻辑运算规定,对于表达式ab;如果表达式a的值为0,则不必计算b;只有表达式a的值为非0时,才计算b。本题中, 表达式((m=mn)值为0,则整个表达式结果为0,m值为0.n=10保持不变。 2.7.4 逻辑运算符和逻辑表达式 2.7 C语言中基本的运算符和表达式 2.7 C语言中基本的运算符和表达式 (1) 条件运算符 条件运算符由问号“?”和冒号“:”两个字符组成,用于连接3个运算对象,是C语言中唯一的一个三目运算符。 (2) 条件表达式 用条件运算符和圆括号将运算对象连接构成的式子称为条件表达式。 其一般形式为: 表达式1?表达式2:表达式3 条件表达式的值及其运算规则:先求解表达式1的值,若表达式1的值非0(真),则表达式2的值为整个条件表达式的值;否则,表达式3的值为整个条件表达式的值。条件表达式的执行流程如图所示。 2.7.5 条件运算符和条件表达式 2.7 C语言中基本的运算符和表达式 例如:”a=0?-1:1”:如果a的值小于或等于0,则表达式的值为-1, 否则为1. “m==n?a:b”:如果m和n的值相等,则表达式的值为a的值,否则为b的值。 “u==v?(z-x):(z-y)”:假设u=1,v=2,x=3,y=4,z=5,则u==v为假,表达式的值为(z-y)的值,即表达式的值为1. 2.7 C语言中基本的运算符和表达式 2.7.5 条件运算符和条件表达式 2.7 C语言中基本的运算符和表达式 (3) 优先级 条件运算符与其他运算符的优先次序如下: 单目运算符→算术运算符→关系运算符→逻辑运算符→条件运算符→赋值运算符→逗号运算符 说明如下: ①条件运算符的优

文档评论(0)

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

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

1亿VIP精品文档

相关文档