文档详情

基本数据类型与基本运算.ppt

发布:2023-12-31约2.07千字共27页下载文档
文本预览下载声明

3.1包含简单运算的C++程序

3.2根本类型及其派生类型

3.2.1数据类型的概念;〔1〕每一项数据应唯一地属于某种类型。

〔2〕每一数据类型意味着一个有明确定义的值的集合。

〔3〕同一类型的数据占用相同大小的存储空间。

〔4〕同一类型的数据具有相同的〔允许对其施加的〕运算操作集。;从程序的组织角度。C++通过class把数据以及对这些数据进行处理和运算的函数封装为互相关联的程序模块,这与C和Pascal等语言把程序划分为具有互相调用关系的函数或过程是不同的。

从数据类型的角度,C++通过class引入了抽象数据类型的概念,一个由数据成员和函数成员组成的一个类就是一种新的数据类型,C++语言为用户提供了设计反映不同应用背景特征的千变万化的数据类型的可能性。;C++程序中的数据类型可以如下不同类型的形式出现:

根本类型:由系统定义,几乎各种语言都须具备的数据类型,C++语言在四种根本类型根底上又给出了假设干类型的派生类型。

用户定义类型:面向对象语言区别于一般结构化程序设计语言的主要特征之一。

导出类型:由已定义类型以某种确定的方式产生的新类型,这主要是指数组〔array〕、指针〔pointer〕、和引用〔reference〕类型。;C++语言从C语言中继承了枚举〔enum〕类型、结构〔struct〕和联合〔union〕类型。我们把它们归入用户参与定义的类型〔严格地说,它不是完全由用户定义的。在c++语言中以类说明的形式定义的类型才是完全的用户定义类型。〕,在C++语言中,枚举类型实际上是整数〔int〕类型的子集,而结构和联合与C语言中已经不同,它们可以作为特殊的类来处理。

C++语言中的类型划分如表3.1所示:;3.2.2根本类型;3.2.3根本类型的派生类型;根本类型及其常用的派生类型的情形如表3.2所示:;3.2.4enum类型(枚举类型);3.2.5定点类型与浮点类型;3.3说明语句

3.3.1语句;3.3.2常量和变量

3.3.3常量说明;用宏替换的方法定义符号常量与const方式的实现机制是不同的:;3.3.4变量说明;3.变量的存储类型属性〔5种〕;4.变量的初始化;3.3.6类型说明;3.4根本运算符

3.4.1运算符和表达式的概念;3.4.2运算类型与运算符;3.4.3赋值运算

3.4.4??术运算

3.4.5关系运算

3.4.6逻辑运算

3.4.7位运算

3.4.8其他运算;函数调用符;动态分配符

〔1〕new运算用来生成一个无名的动态变量,它返回一个该类型的指针值,在程序中利用指针对这个变量进行操作。

〔2〕delete运算用来释放或撤销由new生成的动态变量。

new和delete是C++语言提供的用于动态数据生成和释放的单目运算符。

限定运算符

限定运算符〔::.-〕是一类没有明确运算含义的运算符。;〔1〕作用域限定符::有两个作用:

1.用于类的成员,其使用格式为:

类名::类成员名

在程序中引用类的静态成员时,或是在类说明外定义该类的成员函数时,都需要使用“类名::〞来限定所引用的数据或函数成员的归属。

2.用于全局变量或名字空间变量,其使用格式为:

::全局变量名名字空间名::变量名

当在某个程序局部说明了与该全局变量同名的变量时,在这个程序块中,此变量名就仅指向局部变量,这时如果需要引用全局变量,可使用::指明。;〔2〕成员选择符.和-用来限定对象的成员。一个类〔或结构和联合〕的对象在引用其成员时,一般有两种方式:

1.对象名.成员(数据或函数)

例如:pointp1,p2;

floatfx=p1.getx();

floatfy=p2.gety();

2.对象指针-成员

例如:point*pp=p1;

floatfx=pp-getx();;3.4.9运算的优先级与结合性

C++语言中解决优先问题有三种方法:

〔1〕括号〔〕优先:在表达式中可以对于其任意子表达式使用括号,括号内的局部优先计算。

〔2〕没有括号的地方,不同的运算按照优先级的顺序进行计算,优先级高的先计算。

〔3〕具有相同优先级的运算符,按两种顺序规定决定先后次序:

1.左结合规那么:即从左向右依次运算,例如:双目的算术运算符,关系运算符,逻辑运算符,位运算符,逗号运算符都是左结合的。

2.右结合规那么:即从右向左依次运算,例如:可以连续运算的单目运算符,赋值运算符,条件运算符都是右结合的。;3.4.10运算与运算符小结

显示全部
相似文档