C++就要这样学7--C++的数据类型2.1

我是K,我致力于网络安全。

在上一章中,我们已经学习完了C++的初步知识了。从今天开始,我们就进入C++第二章的学习--C++数据的存储、表示形式和基本运算。接下来,就让我们开始今天的学习。

本章前言:

要利用计算机进行程序设计,应当了解数据在计算机中是怎样存储的,知道数据在程序中的表示形式,掌握在程序中怎样对数据进行运算。只有掌握了这些基本知识,才能顺利地进入C++程序设计。由于这些内容涉及许多具体规定,学起来比较枯燥,建议大家在学习本章节时,可以先大致浏览一下,知道有关的主要内容即可,有些细节不必探究,更不要死记硬背。最好在之后我发布习题时,把习题做一遍,这样就可以初步掌握。在学习后面各章以及进行程序设计过程中,在遇到有关这方面的问题时,在回头仔细查阅本章的内容,可能会有较深的理解。

2.1 C++的数据类型

计算机处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、浮点数、字符等形式)。数据结构指的是数据的组织形式。例如,数组就是一种数据结构。

C++可以使用的数据类型如下:

2f9a213405204131ba71a5a7eff8c05c.jpeg

布尔型就是逻辑型,空类型就是无值型。各种类型的含义和应用将在随后陆续介绍。

C++的数据包括常量与变量,常量与变量都具有数据类型。由以上这些数据类型还可以构成更复杂的数据结构。例如,利用指针和结构体类型可以构成表、树、栈等复杂的数据结构。

C++并没有统一规定各类数据的精度、数值范围和在内存中所占的字节数,各种C++编译系统根据自己的情况作出安排。表2.1列出了Visual C++数值型和字符型数据的情况。

类型类型标识符字节数范围数值
整型[signed] int4-2147483648~+2147483647
无符号整型unsigned [ int ]40~4294967295
短整型short [ int ]2-32768~+32767
无符号短整型unsigned short [ int ]20~65535
长整型long [ int ]4-2147483648~+2147483647
无符号长整型unsigned long [ int ]40~4294967295
字符型[ signed ] char1-128~+127
无符号字符型unsigned char10~255
单精度型float43.4*10^-38~3.4*10^38
双精度型double81.7*10^-308~1.7*10^308
长双精度型long double81.7*10^-308~1.7*10^308

说明:

(1)整型数据分为长整型(long int)、一般整型(int)和短整型(short int)。在int前面加long和short分别表示长整型和短整型。C++没有规定每一种数据所占的字节数,只规定int型数据所占的字节不大于long型,不小于short型。一般在16位机的C++系统中,短整型(short)和整型(int)占两个字节,长整型(long)占4个字节。在Visual C++中,短整型占两个字节,整型和长整型占4个字节。

(2)整型数据的存储方式为按二进制形式存储,例如十进制整数85的二进制形式为1010101,则在内存中的存储形式如图2.1所示(整型数据占4个字节)

ac130ebfc68c43bca8977da96431a6bb.png  图2.1

(3)在整型符号int和字符型符号char的前面,可以加修饰符signed(表示“有符号”)或unsigned(表示“无符号”)。如果指定为signed,则数值以补码形式存放,存储单元中的最高位(bit)用来表示数值本身。例如,短整型数据占两个字节,见图2.2

57c6a1b024bf44238a07d8dba041f4c5.jpeg 图2.2

(4)浮点型(又称实型)数据分为单精度(float)、双精度(double)和长双精度(long double)3种,在Visual C++中,对float提供6位有效数字,对double提供15位有效数字,并且float和double的数据范围不同。对float分配4位字节,对double和long double分配8个字节。因此在Visual C++中,实际用不到long double类型,在GCC中则对long double分配12个字节,但对初学者来说,用long double类型的机会比较少。

(5)表中的类型标识符一栏中,方括号[ ]包含的部分可以省写,如short 和 short int等效,unsigned int和unsigned等

King

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值