- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */74 7)逗号运算 用它将多个表达式连接起来,称为逗号表达式,又称为“顺序求值运算符”。 表达式1,表达式2,……表达式n; 它的值为表达式n的值 逗号运算符是所有运算符中级别最低的。 x=(a=3,6*3); x=a=3,6*a ; */74 8)运算符优先级 C++ 允许所有基本类型的量参加同一表达式的运算,也允许所有类型的运算符出现在一个表达式中。因此,表达式值的类型如何确定,运算的先后顺序如何确定,必须通过一套规则解决 为了便于调整优先级,设置()为最高优先级。相同优先级存在一个顺序称为结合顺序,结合顺序有从右向左或从左向右。 运算优先级原则 : 第一原则:单目运算的优先级高于双目运算。 第二原则: 算术运算 关系运算 逻辑运算 赋值运算 */74 (1)最高优先级不是运算符,而是一类特殊的操作。()、[] -、. 是取结构成员。 (2) 最高的优先级的运算符是单目运算符,所有单目运算符具有相同的优先级,且都是从右自左结合的。 (3)接下来是算术运算符, *、/ 的高于 %高于+、-。 (4)位运算中的移位运算 (5)关系运算:, = =要比 == !=高一个级别。 (6)逻辑运算:所有的双目逻辑运算具有不同的优先级。 位操作中的逻辑与、异或、或、逻辑与逻辑或。 (7)条件运算 (8)赋值运算 (9)逗号运算 */74 运算符优先级举例说明: ++a-bc+da=b*34 ① ② ③ ④ ⑤ ⑥ ⑦ 如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级 */74 9)运算符结合性 结合性用于多个具有相同优先级运算符出现在一起时运算顺序的控制,具有左结合性的运算符左边优先于右边,因此将从左至右逐个运算符地进行运算,而具有右结合性的运算符的运算顺序与此相反。 a=b=c 等价于 a=(b=c) a+b+c 等价于 (a+b)+c 3+4+5-8 等价于 ((3+4)+5)-8 3*4/5*8 等价于 ((3*4)/5)*8 3*4*8/5 等价于 ((3*4)*8)/5 */74 只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。 */74 级别 运算符 结合顺序 1 () 从左向右 2 ++ --(后缀) 3 ++ --(前缀) 4 (取变量存储地址) 5 * / 从左向右 6 % 从左向右 7 + - (加 减) 从左向右 8 ( ) (大于 小于) 从左向右 9 = (= ) 从左向右 10 == (!=)(等于 不等于) 11 ^ | (按位与 异或 或) 12 (逻辑与) 13 -(取负) 14 || (逻辑或) 15 ?: (条件) 16 = 从右向左 运算符的优先级与结合性: */74 10)表达式 运算符与操作数相结合形成的式子称为表达式。常见的简单表达式有算术表达式、逻辑表达式、关系表达式、赋值表达式等。简单表达式通常由一个运算符与一两个操作数构成,用来表述算法中最基本的简单操作。复杂的表达式由多个表达式复合而成,它们可以用来描述算法中的一个模块或者是复杂的处理。 任何表达式在运算后都会产生一个结果,这个结果具有某种类型和数值,称作表达式的类型和值。 */74 表达式内的顺序控制 (3+5)*8 3+5*8 3+(5*8) ? 表达式的值与操作数类型有关,也与运算顺序有关。 应用括号直接控制表达式中子表达式的求值顺序,能够避免运算结果的不确定性。比如(3*2)/3=2,而3*(2/3)=0。 */74 2.5类型之间的关系(各类数值混合运算) 方法1: float a = 5.0 / 2; 方法2: float a = 5 / 2.0; 方法3: ? float a = 5.0 / 2.0; float a = 5 / 2 ; 当表达式中存在不同类型的操作数时,为对这个表达式进行求值,编译程序需要对其中的部分操作数自动进行类型转换,将它们都变换为表达式中操作数的“最大”类型,以保证运算符两边的类型是一致的,这种类型转换称为隐式类型转换 2.5.1隐式类型转换(各类数值混合运算) 数据类型的大小:Long double double float unsigned long long unsigned int int unsinged char char 2*16.0+’a’ double char double */74 赋值运算: 当赋值表达式左、右两边
您可能关注的文档
最近下载
- 成都市金牛区2020-2021学年下学期一年级期末考试语文试卷(部编版).pdf VIP
- 儿科“一科一品”之做有温度的护理人.pptx VIP
- 2025年广州数学中考试题及答案.doc VIP
- 中文释义 PASS图解速记高中词汇正序版.xlsx VIP
- 辅警招聘考试公安基础知识(情景分析题)模拟试卷3(题后含答案及解析).pdf VIP
- 工程质量风险分级管控清单 .pdf VIP
- 生物医学工程先进制造:第一章 绪论-2015.ppt VIP
- 培养员工归属感培养员工归属感.ppt VIP
- 古方上篇后八方.张志峰老师讲解和答疑2016.3.5.doc VIP
- JingChaDaXue《灭火救援指挥》期末试卷(A)参考答案.docx VIP
文档评论(0)