chapter02-数据类型与表达式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.4.4 逻辑运算符 运算符 功能 ! 逻辑非 逻辑与 || 逻辑或 2.4.4 逻辑运算符 逻辑非(!)运算符的作用是将原表达式的逻辑值取反 逻辑与()运算符的作用是当左右两个表达式的值都为逻辑真时其值为真,只要其中一个为逻辑假则其值为假 逻辑或(||)运算符的作用是当左右两个表达式都为逻辑假时其值为假,只要有一个表达式的值为逻辑真则其值为真。 其中逻辑非(!)运算符是单目运算符,其他是双目运算符。 在由逻辑运算符组成的逻辑表达式中,运算量的值非0则等价于逻辑真,运算量的值为0则等价于逻辑假。整个逻辑表达式返回的值也为逻辑值,逻辑假返回“0”,逻辑真返回“1”。 进一步解释: 在整个逻辑表达式的计算中如果前面的表达式的值已经可以确定整个逻辑表达式的值,则剩下的表达式不求解,这种方式可以称之为“短路”。 例如: int x=0,y=1,z=2,t; t=x(y=z); coutt=t,x=x,y=y,z=zendl; //结果为t=0,x=0,y=1,z=2 t=z||(x=y); coutt=t,x=x,y=y,z=zendl; //结果为t=1,x=0,y=1,z=2 2.4.5 位运算符 符号 功能 ~ 按位求反 按位与 | 按位或 ^ 按位异或 左移位 右移位 2.4.5 位运算符 按位求反运算符(~)是将操作数的二进制位逐位取反,将1变为0,将0变为1。 例如:~25 //结果为-26 按位与运算符()比较两个运算量对应的二进制位,当两个二进制位均为1时,该位的结果取1,否则取0。 例如:35 //结果为1 按位与运算符的作用 清零 取一个数中的某些指定位 要想将一个数的某些位保留下来,就与一个在这些位为1的数进行运算 2.4.5 位运算符(续) 按位或运算符(|)比较两个运算量对应的二进制位,当两个二进制位均为0时,该位的结果取0,否则取1。 例如:23|67 //结果为87 按位异或运算符(^)比较两个运算量对应的二进制位,当两个二进制位相同时,该位的结果取0,否则取1。 例如00101010 //结果按位异或运算符的作用 翻转特定位 运算量与0进行按位异或运算,结果为原值 不使用临时变量交换两个变量的值 2.4.5 位运算符(续) 左移运算符()将运算量的二进制数左移指定位数,对无符号数,移出的二进制位舍弃,右边补0。 例如: int a=15,b; b=a2; //b的值为60 在计算机中常将乘以2n处理为左移n位。 右移运算符()将运算量的二进制数右移指定位数,对无符号数,移出的二进制位舍弃,左边补0。 例如: int a=15,b; b=a2; //b的值为3 在计算机中常将除以2n处理为右移n位 2.4.6 自增和自减运算符 自增运算符(++)和自减运算符(--)都是单目运算符。它们的作用是使变量自动增加1或减少1。 注意: 自增自减运算符只能作用于变量,不能作用于常量和表达式。 例如:a=6++;--(x+y)都是错误 的。 例如: a=i++; //等价于a=i;i=i+1; a=m--; //等价于a=m;m=m-1; a=++j; //等价于j=j+1;a=j; a=--n; //等价于n=n+1;a=n; 2.4.7 条件运算符 条件运算符(? :)是C++语言中唯一的一个三目运算符。 格式: 运算过程为:如果表达式1的值为真,则整个条件表达式的值为表达式2 的值;如果表达式1的值为假,则整个条件表达式的值为表达式3的值。 表达式1 ? 表达式2 : 表达式3 例如: int a=3,b=5,c; c=ab?a:b //c的值为5 2.4.8 逗号运算符 逗号运算符(,)可以将多个表达式连接起来形成逗号表达式。逗号表达式的值取最后一个表达式的值,表达式的类型也是最后一个表达式的类型。 例如: int a=5,b=3,c=6,t; t=(a=b+2,c=3*b,b=c-a); //t的值为4 2.5 表达式中运算符的优先级 优先级 运算符 功能 结合性 1 () :: [] . - .* -* 改变优先级 作用域运算符 数组下标 成员选择 成员指针选择 从左至右 2 ! ~ ++,-- * - () sizeof new,delete 逻辑非运算符 按位求反 自增、自减运算符 取内容 取地址 取负运算符 强制类型转换 取字节数 动态存储分配 从右至左 3 * / % 乘法 除法 求余数 从左至右 优先级 运算符 功能 结合性 4 + - 加法 减法 从左至右 5 左移 右移 从左至右 6 = = 大于 大于等于 小于 小于等于 从左至右 7 == != 等于 不等于 从左至右 8

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档