您的位置:首页 > 编程语言 > C语言/C++

C++基础教程 学习笔记(一) C++的数据类型和修饰符

2010-03-26 00:36 1171 查看


第2章数据类型和运算符35程序用于一般的数据存储及操作。在本书后面的内容中您会了解到,C++还支持用户构造更为复杂的类型,例如类、结构和枚举,不过这些数据类型的基本组成也是内建类型。C++类型系统的核心是7种基本的数据类型,如表2-1所示。表2-1类型含义char字符wchar_t宽字符int整数float浮点数double双精度浮点数bool布尔值void空值C++允许在某些基本数据类型前面使用修饰符。修饰符会更改基本类型的含义,以便它能
更好地符合不同环境的需要。数据类型修饰符如下所示:
signed
unsigned
long
short
修饰符signed,unsigned,long和short可以应用于int型数据。修饰符signed和unsigned
可以应用于char型数据。double型数据可以使用修饰符long。如表2-2列举了所有合法的基本
类型和类型修饰符组合。该表还显示了每种类型的最小值域,这由ANSI/ISO(美国国家标准学
会/国际标准化组织)C++标准指定。





理解表2-2所示的各种数据类型的最小值域是非常重要的。C++编译器可以任意超越一个
或多个这些最小值域,并且绝大多数编译器也是这样做的。因而C++数据类型的值域是依靠实
现来决定的。例如,在使用2的补码运算的计算机上(几乎是全部),一个整数的值域至少为
32,768到32,767。但是在所有情况下,shortint型数据的值域都是int型数据的子范围,而int
型数据的值域则是longint型数据的子范围。这一点也适用于float型数据,double型数据和long
double型数据。在这样的用法中,术语子范围(subrange)意味的一个较窄的或相等的值域。因而,
一个int型数据和一个longint型数据可以具有相同的值域,不过int型数据的值域不能比longint
型数据的值域大。
既然C++只指定了每种数据类型必须支持的最小值域,那么用户就该查看编译器的文档,
以便了解编译器所支持的实际值域。如表2-3所示为32位环境中(Windows2000就采用了这种
环境)C++数据类型标准的位数宽度和值域。
现在让我们更进一步的学习C++中的每种数据类型。



2.3.3字符转义序列
将字符常量用单引号括起来对大多数印刷字符来讲都适用。但诸如回车这样的一些字符则
会在使用文件编辑器时引起一个特殊的问题。另外,其他一些字符,如单引号和双引号,在C++
中具有特殊的含义,所以用户不能直接使用它们。基于以上原因,C++提供了字符转义序列,
有时又称为反斜线字符常量,如表2-5所示,以便用户能将那些特殊字符输入程序中。您所使
用的/n就是转义序列的一种。



2.5运算符
C++提供了一个丰富的运算符环境。运算符是一种告知编译器执行特定的数学或逻辑运算
的符号。C++大体上有4类运算符:算术运算符、按位运算符、关系运算符和逻辑运算符。C++
还具有若干能处理某些特殊情况的附加运算符。本章我们将主要论述算术运算符、关系运算符
和逻辑运算符。另外,还要论述赋值运算符。按位运算符和其他特殊的运算符将在稍后的章节
中予以论述。





2.7关系运算符和逻辑运算符
就关系运算符和逻辑运算符而言,关系是指值之间的相互关系,逻辑是指将“真”值和“假”第2章数据类型和运算符51
值连接起来的方式。由于关系运算符也产生“真”和“假”的结果,所以其经常与逻辑运算符
一块使用。正是基于这一原因,我们才将二者放在一起论述。
关系和逻辑运算符如表2-7和表2-8所示。请注意,在C++中,“不等于”被表示为!=,
而“等于”被表示为双等号==。在C++中,关系或逻辑表达式的结果会产生一个布尔值结果。
也就是说,关系表达式或逻辑表达式的结果不是“真”就是“假”。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐