第2章 基本数据类型、运算符与表达式

  • 格式:docx
  • 大小:48.90 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++的特点:1.支持抽象数据类型

2.多态性,一个接口,多重算法,支持早期联编和滞后联编

3.继承性,保证了代码复用,支持分类的概念

一个c++程序由一个或多个函数构成,并且在这些函数中只有一个主函数main ,它是程序执行的入口。 C++程序严格区别字母的大小写。

第2章基本数据类型、运算符与表达式

【内容提要】 数据类型 变量与常量 运算符与表达式 简单输入与输出 【重点与难点】 2.1 数据类型

在C++程序里,每个名字都有一个与之相关联的类型,这个类型决定了可以对这个名字所指代的实体应用什么操作,并决定这些操作将如何做出解释。

图中Type

表示非控数据类型。

2.1.1 基本数据类型

逻辑型:又称布尔型,用关键字bool 表示。有两个值true 或false 。true 可以转换成整数1,false 可以转换成整数0。与此对应,整数也可以隐式的转换成bool 值:非0的整数转换成true,0转换成false 。

结构类型 struct 枚举类型 enum

数组类型 Type[] 布尔型 bool 指针类型 Type* 联合类型 union 类类型 class 整型 int

图2.1 C++的数据类型

字符型:用关键字char表示。取值包含具体实现所用的字符集里的一个字符。字符型数

据通常占用1个字节的存储空间。

整型:用关键字int表示。取值是计算机所能表示的所有整数。

浮点型:包括单精度型(float)和双精度型(double)。单精度型通常占用4个字节的存储

空间,双精度型通常占用8个字节的空间。

空类型:用关键字void表示。用于说明某个函数没有返回值。没有void类型的对象。

在基本的数据类型前可以添加修饰符,以改变基本类型的意义。

signed:有符号。

unsigned:无符号。

unsigned和signed只用于修饰char和int,且signed修饰词可以省略。当用unsigned 修饰词时,后面的类型说明符可以省略。对于有符号和无符号的整型数据,它们所占的存储空间的大小相同,但它们的表数范围却不相同(对字符型意义相同)。

short:短型。只用于修饰int,且用short修饰时,int可以省略。

long:长型。只用于修饰int和double。当用long修饰int时,int可以省略。

数据类型的描述确定了其内存所占空间的大小,也确定了其表示范围。用sizeof(数据类型)可以确定某数据类型的字节长度。请读者查看在你所用的机器上,下面类型的最大值和最小值是什么:char、short、int、long、float、double、long double 、unsigned。

2.1.2 复合数据类型

数组:由具有相同数据类型的元素组成的集合。

结构体:由不同的数据类型构成的一种混合的数据结构,构成结构体的成员的数据类型

一般不同,并且在内存中分别占据不同的存储单元。

共用体:是类似于结构体的一种构造类型,与结构体不同的是构成共同体的数据成员共

用同一段内存单元。

枚举:将变量的值一一列举出来,每个枚举成员(枚举符)都与一个整数相对应。按默

认方式,枚举符所赋的值从0开始递增。枚举的值也可以用整型的表达式赋值进行初始化。如果某个枚举中所有枚举符的值均非负,该枚举的表示范围是[0: 2K-1],其中2K 是能使所有枚举符位于此范围内的最小的2的幂;如果存在负的枚举符值,该枚举的取值范围就是[-2K:2K -1]。

指针类型:指针类型变量用于存储另一变量的地址,而不能用来存放基本类型的数据。

它在内存中占据一个存储单元。

类类型:类是体现面向对象程序设计的最基本特征,也是体现C++与C最大的不同之处。

类是一个数据类型,它定义的是一种对象类型,由数据和方法组成,描述了属于该类型的所有对象的性质。

2.2变量与常量

2.1.1 变量:指在运行期间其值可以改变的量。

变量有三个特征:变量类型、变量名、变量值。

命名:遵循标识符命名规则。

标识符是对实体定义的一种定义符,用来标识用户定义的常量名、变量名、函数名、文件名、数组名、和数据类型名和程序名等。只能由字母、数字和下划线组成,且以字母或下划线开头。命名时注意以下几点:

1. C++的关键字不能用作用户自定义的实体名;

2.以下划线开头的名字是保留给实现或者运行环境,用于特殊目的,在应用程序里不要采用这样的名字;

3.大写与小写字母是区分的;

4.见名知义。

5.维持统一的命名风格。

定义:

格式: <类型名><变量名>[[=<表达式>],…]

typedef:为某种类型声明一个新名字,而不是定义一种新类型。

格式:typedef <已有类型名><新类型名>

2.1.2 常量:程序执行期间其值不变的量。主要有下列几类常量。

布尔常量

字符常量

用单引号括起的一个字符。在内存中,字符数据以ASCII码存储,如字符‘a’的ASCII 码为97。以转义字符‘\’开始的字符常量后跟不同的字符表示不同的特殊字符。

字符串常量

由一对双引号括起来的零个或多个字符序列。

字符串可以写在多行上,不过在这种情况下必须用反斜线‘\’表示下一行字符是这一行字符的延续。

字符串常量实际上是一个字符数组,组成数组的字符除显示给出的外,还包括字符结尾处标识字符串结束的符号‘\0’,所以字符串“abc”实际上包含4个字符:‘a’、‘b’、‘c’和‘\0’。

注意字符常量与字符串常量在表示、存储、运算方面的区别。

整型常量

可以用十进制、八进制或十六进制表示。

十进制常量:一般占一个机器字长,是一个带正负号的常数(默认情况下为正数)。

八进制常量:由数字0开头,其后由若干0-7的数字组成,如0378,0123等。

十六进制常量:以0x或0X开头,其后由若干0-9的数字及A-F(或小写a-f)的字母组成,如0x123,0x3ab。

浮点型常量

只能以十进制形式表示。共有两种表示形式:小数表示法和指数表示法。

如:11.3、.2、2.3e10、-2.3E-1等。

枚举常量

枚举声明形式: enum <枚举名>{<枚举符表>};

枚举符可以有两种形式:

<枚举符名>/<枚举符名>=<整形常量>

符号常量

定义形式:const <类型名><符号常量名>=<表达式>[,…];

[]表示可选项,以下都采用这种标记。

定义的符号常量必须初始化。一个符号常量可看作是一个只读变量,由const定义的常量的值不可以改变。const的最常见的用途是作为数组的界和作为分情况标号。

2.3 运算符与表达式

在程序中,表达式是计算求值的基本单位,它是由运算符和运算数组成的式子。运算符是表示进行某种运算的符号。运算数包含常量、变量和函数等。C++语言的运算符按其在表