C++实用教程[郑阿奇主编]3.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C实用教程[郑阿奇主编]3

第3章 运算符和表达式 3.1 算术运算 算术运算包括加、减、乘、除、乘方及开方等 乘方和开方一般是通过pow(幂)、sqrt(平方根)等库函数来实现 3.1.1 算术运算符 (1)除法运算“/?” ,两个整数相除,结果为整数 (2)求余运算“%” ,要求参与运算的两个操作数都是整型,其结果是两个数相除的余数 3.1.2 优先级和结合性 单目运算符的优先级最高,其次是乘、除和求余,最后是加、减 运算符的结合性是指运算符和操作数的结合方式,它有从左至右和从右至左两种 只有当两个同级运算符共用一个操作数时,结合性才会起作用 3.1.3 数据类型转换 C++采用两种方法对数据类型进行转换:一种是自动转换;另一种是强制转换。 自动转换是将数据类型按从低到高的顺序自动进行转换,由于这种转换不会丢失有效的数据位,因而是安全的 强制转换是在程序中通过指定数据类型来改变,将一个变量从其定义的类型人为地改变成为另一种类型。由于这种转换可能会丢失有效的数据位,因而是不安全的。   (类型名)表达式   类型名(表达式) 3.1.4 代数式和表达式 (1)注意书写规范 (2)注意加圆括号 (3)注意数据类型 (4)注意符号^ 3.2 赋值运算 3.2.1 左值和右值 赋值运算符“=”的作用是将赋值符右边操作数的值存储到左边操作数所在的内存空间。显然,左边的操作数应是一个具有存储空间的变量。 赋值符“=”左边的操作数必须是左值 ,左值必须对应于一块内存空间;所对应的内存空间的内容必须可以改变,也就是说左值的值必须可以改变。 3.2.2 数值截取和数值溢出 赋值表达式的值和类型是左值的值和类型。 如果一个数值超出一个数据类型所表示的数据范围,则会出现数值溢出。  [例Ex_OverFlow] 一个整型溢出的例子。 #include iostream using namespace std; int main() { short nTotal, nNum1, nNum2; nNum1 = 1000; nNum2 = 1000; nTotal = nNum1*nNum2; coutnTotal\n; return 0; } 程序运行结果如下: 3.2.3 复合赋值 10种复合赋值运算符都是在赋值符“=”之前加上其他运算符而构成的 在复合赋值运算符之间不能有空格 复合运算符的优先级和赋值符的优先级一样,在C++的所有运算符中只高于逗号运算符,而且复合赋值运算符的结合性也和赋值符一样,是从右至左。 3.2.4 多重赋值 多重赋值是指在一个赋值表达式中出现两个或更多的赋值符“=” 赋值表达式几乎可以出现在程序的任何地方,由于赋值运算符的等级比较低,因此这时的赋值表达式两边要加上圆括号。 3.3 sizeof运算符 sizeof运算符的目的是返回操作数所占的内存空间大小(字节数),它具有下列两种格式:sizeof(表达式)    sizeof(数据类型) 由于同一类型的操作数在不同的计算机中占用的存储字节数可能不同,因此sizeof运算的结果有可能不一样 3.4 逗号运算符 优先级最低的运算符,它把多个表达式连接起来,构成一个逗号表达式 逗号表达式的一般形式如下:  表达式1, 表达式2, 表达式3, … , 表达式n 逗号运算符“,”的优先级是最低的,必要时注意加圆括号,以使逗号表达式的运算次序先于其他表达式 3.5 自增和自减 3.5.1 一般用法 增(++)和自减(--)既可放在左值的左边,也可以出现在左值的右边,分别称为前缀运算符和后缀运算符。这里的左值可以是变量或结果为左值的表达式等,但不能是常量或其他右值。 3.5.2 前缀和后缀的区别 前缀运算符和后缀运算符和其他的运算符组合在一起,在求值次序上就会产生以下根本的不同 前缀和后缀自增、自减运算符本身的含义可用逗号表达式来解释 3.5.3 几点注意事项 (1)前缀自增或自减表达式的结果仍为一个左值,而后缀自增或自减表达式的结果不是左值。对于等级相同的单目运算符来说,哪一个运算符靠近操作数,就和哪个运算符先结合。 (2)自增或自减运算符是两个“+”或两个“-”的一个整体,中间不能有空格。如果有多于两个“+”或两个“-”连写的情况,编译时会首先识别自增或自减运算符。 (3)在有自增或自减运算符的混合运算中,一要注意次序,二要注意左值对应于一块内存空间这个特性 (4)在cout语句中的自增或自减运算中,不同编译器的处理方式也是不一样的。 3.6 位运算 3.6.1 位逻辑运算 ~ 按位求反,单目运算符 按位与,双目运算符 ^

文档评论(0)

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

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

1亿VIP精品文档

相关文档