第2章 变量和表达式及数组.pptVIP

  1. 1、本文档共91页,可阅读全部内容。
  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文档。上传文档
查看更多
第2章 变量和表达式及数组

① 算术表达式的类型取决于组成该表达式中各个操作数类型高的类型。 ② 关系表达式的类型是逻辑型。在有些编译系统中,真用1表示,假用0表示。 ③ 逻辑表达式的类型与关系表达式类型相同。 (2)确定表达式类型的方法 ④ 赋值表达式的类型由赋值表达式左值的变量类型决定。 ⑤ 条件表达式的类型取决于表达式中冒号前后两个操作数中类型高的类型。 ⑥ 逗号表达式的类型是组成该表达式的最右边操作数的类型。 ② 构造数据类型 构造数据类型又称用户自定义数据类型。这种数据类型主要包括数组、结构、联合和类等。 (2)存储类 存储类是指变量被存放的地方,存放的地方不同决定其寿命和作用域不同。 变量的存储类有如下4种: ① 自动类(auto); ② 寄存器类(register); ③ 外部类(exfern); ④ 静态类(static)包括内部静态和外部静态。 各种不同存储类的特点如下。 ① 从寿命上讲,自动类和寄存器类的寿命是短的。外部类和静态类的寿命是长的。 ② 从作用域上讲,自动类,寄存器类和内部静态类的作用域是在定义或说明它们的函数体内或分程序内。外部类的作用域是整个程序,包括该程序的所有文件。外部静态类的作用域是定义或说明它的文件内,并从定义时开始。 ③任何一个变量在定义或说明时都要给出存储类。 ④静态类和外部类变量在定义或说明中不给初值时,它们具有默认值;自动类和寄存器类变量在定义或说明中不给初值时,它们具有无意义值。 (1)变量的两个值 变量被定义后,它就应该具有两个值。 ① 变量本身值。该值是在定义变量时获取的,该值可以被改变。 ② 变量地址值。该值是由系统分配内存空间时确定的,它是一个内存地址值,该值是不能改变的。 3.变量的值 (2)变量值获取的两种方法 ① 定义或说明变量时变量可获取初值、默认值或无意义值。 ② 通过赋值方法改变变量的值。 定义一个变量其格式如下: 类型 变量名 = 初值,变量名… 一个变量被定义后,它就有确定的作用域和寿命,并且具有确定的地址值,其变量值或者为某个初值,或者为默认值,或者为无意义值。 2.3.2 变量的定义格式 定义变量时必须给出的有: ① 变量名,同标识符; ② 变量数据类型; ③ 变量存储类,省略的是自动类,不给出的是外部类。 另外,定义或说明变量时可以给变量赋初值,也可以不给变量赋初值。 见本书例2.2 1.变量作用域的种类 2.3.3 变量的作用域  变量的作用域大小取决于定义该变量时所指定的存储类。变量的作用域可分为如下几种。 ① 存储类为外部类的变量,其作用域在整个程序中,包含该程序的所有文件,即外部类变量的作用域是程序级的。 ② 外部静态类变量的作用域是文件级的,定义外部静态类变量的文件便是该变量的作用域。 ③ 自动类变量、寄存器类变量和内部静态类变量的作用域是定义它们的函数体或者分程序,它们的存储类或者是函数级的,或者是块级的。 变量的作用域按其大小可分为程序级、文件级、函数级和块级共4种。 在C++语言中,作用域还有类级的,它介于文件级和函数级之间。 一个变量在它的作用域内是可见的,而在其作用域外是不可见的。 2.变量作用域规则 在某个作用范围内定义的变量允许在该作用范围的子范围内重新定义该变量。这时,在子范围内可见的是重新定义的变量,而原来定义的变量在子范围内是存在的,但是不可见。当退出子范围后,它仍然可见。 见本书例2.3 3.相关作用域中同名变量可见性的规定 2.4 运算符和表达式 2.4.1 运算符的种类和功能 C++语言中除了包含有C语言的全部运算符外,它本身还有如下所示的5个运算符。 (1)作用域运算符::。 (2)使用对象或指向对象的指针通过指向类的成员的指针表示类的成员的运算符·*和?*。 (3)创建堆对象和堆对象数组的运算符new,释放堆对象和堆对象数组的运算符delete。 单目:?(求负),++(增1),??(减1) 双目:+(求和),?(求差),*(求积),/(求商),%(求余)。 1.算术运算符 说明: ①增1、减1运算符只能作用于变量,不能作用于常量和表达式。增1、减1运算符可以有前缀运算和后缀运算。前缀运算时,表达式值是变量增1或减1后的值;后缀运算时,表达式值是变量增1或减1前的值。无论前缀运算还是后缀运算变量值都被增1或减1。 ② 增

文档评论(0)

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

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

1亿VIP精品文档

相关文档