- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 复合赋值运算符 运算符 表达式 计算 结果(假设 X=10) += X += 5 X = X + 5 15 -= X -= 5 X = X - 5 5 *= X *= 5 X = X * 5 50 /= X /= 5 X = X / 5 2 %= X %= 5 X = X % 5 0 还可以与位运算符构成复合赋值运算符,如:^=、=、=、=、|= * 赋值运算符之间的优先级 所有的赋值运算符的优先级相同 始终按从右向左顺序进行计算(a=b=c=5) 赋值运算符的优先级低于算术运算符,仅高于逗号运算 赋值表达式 由赋值运算符或复合赋值运算符,将一个变量和一个表达式连接起来的表达式,称为赋值表达式。 赋值表达式的值:任何一个表达式都有一个值,赋值表达式也不例外。被赋值变量的值,就是赋值表达式的值。 * 关系运算符及优先级 用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量和表达式 运算符 关系运算 大于 = 大于等于 小于 = 小于等于 == 等于 != 不等于 关系表达式的计算结果 = 逻辑值(真-非0或假-0) 注意: 1、if(a == 1) 不要写成 if(a=1) 最好写成if(1 == a) 因为如果写成if(1=a),编译器会报错 2、不能写成if(1a5) 运算符类型 运算符 结合方向 二元 = = 从左向右 二元 == != 从左向右 * 逻辑运算符 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 使用逻辑运算符的表达式,返回 0 表示假,返回 1 表示真 示例: if ((a10) (a20)) 运算符 逻辑运算 说明 与 当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。 || 或 当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。 ! 非 当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。 逻辑表达式计算有时会出现部分表达式不参加运算的情况(短路现象) 例子:int a=1,b=2; if(a5 || (b=10)) printf(“b=%d\n”,b); 观察b的值 * 逻辑运算符之间的优先级 当条件中有多个逻辑运算符时,可以使用括号,但括号只改变了操作数的组合关系,在特定的条件下仍然存在短路现象 优先级 运算符 结合方向 1 ! 从右向左 2 从左向右 3 || 从左向右 * 位运算符 位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字 运算符 描述 按位与 ( x y ) 如果两个操作数的相应位均为 1,则该位的结果值为 1 按位或 ( x | y ) 如果两个操作数的相应位有一个为 1,则该位的结果值为 1 按位取反 ( ~x ) 将操作数按位取反(0 到 1 和 1 到 0) 按位异或 ( x^y ) 如果参加运算的两个操作数的相应位同号,则结果为 0,异号则为 1 左移 ( x2 ) 左端(高位)移出部分舍弃,右端(低位)补0 右移 ( x2 ) 右端(低位)移出部分舍弃,左端(高位)根据符号位补0或者1,无符号或正数补0,负数补1 * 位运算的示例 int a =15;二进制值如下: 0000 0000 0000 0000 0000 0000 0000 1111 要求把右边倒数第8位置1,怎么做? 提示:1|任何数=1 要求把右边倒数第3位清0,怎么做? 提示:0任何数=0 * 类型转换 运算符的操作数属于不同的数据类型,运算时通常会将这些操作数转换为同一类型,由编译系统自动完成。 char ch; int i, result; float f; double d; result=(ch / i) + (f * d) - (f + i); int double float double double 在赋值表达式中,自动将赋值运算符右边表达式的值的类型转换成左边变量的类型 级别高低 char-short-int(long) -unsigned int-float -double(long double) * 强制类型转换 通过使用转换可以将一个表达式强制转换成某一种类型,是一元运算符。 转换的通用语法是: (type) cast type 任意有效的 C 数据类型 示例: 经过赋值运算后, (int)f 返回的整型值重新转换为浮点数,f 本身的值不变。
您可能关注的文档
- 9.3《大气压强》教学精编.ppt
- 7-3毕-萨定律精编.ppt
- 7-3分子轨道精编.ppt
- 7-3绝热过程精编.ppt
- 7-3热力学第一定律对理想气体等值过程的应用精编.ppt
- 7-4毕奥-萨伐尔定律精编.ppt
- 9_钢的热处理原理精编.ppt
- 9_光学参量过程精编.ppt
- 7-4疲劳断裂精编.ppt
- 9_空气流量计精编.ppt
- 行政伦理学作业答案(完整版) .pdf
- 1.3《庖丁解牛》课件 统编版高中语文必修下册.pptx
- 4.3海-气相互作用课件 高中地理人教版(2019)选择性必修一.pptx
- 2-2-4 地表形态的变化(流水作用)课件 高中地理湘教版(2019)选择性必修一.pptx
- 4.1 陆地水体及其相互关系—以“探究沙漠奇观月牙泉的水体类型”为例 课件 高二上学期 地理 人教版(2019)选择性必修一.pptx
- 5.1自然环境的整体性(第1课时)(课件)高二地理(人教版2019选择性必修1).pptx
- 10.《老人与海(节选)》课件 统编版高中语文选择性必修上册.pptx
- 3.2.1气压带风带与气候课件 高中地理湘教版(2019)选择性必修一.pptx
- 2025年广东中考道德与法治专题复习-专题六 学习模范人物 感受榜样力量.pptx
- 2025年广东中考道德与法治专题复习-专题一 跟进时代步伐 奋进强国之路.pptx
文档评论(0)