C++语言提供了丰富的数据类型,本文介绍几种基本数据类型:
整型、实型、字符型。它们都是系统定义的简单数据类型,成为标准数据类型。下面我们来简单
的分别认识以下:
一、整型
C++ 语言中,整型类型标识符为int。根据整型变量的取值范围又可以划分为以下八种整型类型:
数据类型 | 定义标识符 | 占字节数 | 数值范围 | 数值范围 |
---|---|---|---|---|
短整型 | short [int] | 2(16位) | -32768~32767 | -215~215-1 |
整型 | [long] int | 4(36位) | -2147483648~2147483647 | -2^31 ~2 ^31-1 |
长整型 | long [int] | 4(32位) | -2147483648~2147483647 | -2^31 ~2 ^31-1 |
超长整型 | long long [int] | 8(64位) | -9223372036854775808~9223372036854775807 | -2^63 ~2 ^63-1 |
无符号整型 | unsigned [int] | 4(32位) | 0~4294967295 | 0 ~2 ^32-1 |
无符号短整型 | unsigned short | 2(16位) | 0~65535 | 0 ~2 ^16-1 |
无符号长整型 | short | 2(16位) | -32768~32767 | -2^31 ~2 ^31-1 |
无符号超长整型 | unsigned long long | 8(64位) | 0~18446744073709551615 | 0 ~2 ^64-1 |
已知它的范围是这样的,如果超出了这个范围,又会有怎样的效果呢?
int a,b;
a = 2147483647;
b = 2147483648;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
最终输出的结果我们发现,int 变量b 的值和我们并没有向我们预期的效果那样在原来的值得基础上加一。
我们观察一下,a、b这两个数据之间有关系他们都是int类型,可以使用sizeof(a) 来查看所占的字节数从而判断它的范围,a = 2147483647,它是int类型的范围最后一位,而b超出了int类型的范围,多了一,那么它就从我们int类型最小以为重新开始计数。
所以我们再给定义变量的时候,一定要考虑的该数据是否有可能超出,或者小于类型范围的情况,否则可能会出现意外数据。
a=2147483647
b=-2147483648
--------------------------------
二、实型
一个实型数据用来存储实数,实型包括正实数、负实数和零。C++语言表示实型常量的形式有两种:
- 十进制表示法
日常使用二带小数点的表达方法。
如:3,0.0,+5.61,-8.0,-6.050等都是实型常量。
2. 科学记数法
科学计数法才哦那个指数形式表达的方法,例如1.25x10^5 可表示1.25E+05。在科学记录发中,字符“ E ” 表示10 这个“ 底数 ” , 而 E 之前为一个十进制表示的小数,成为尾数,E之后必须是一个整数,成为 “ 指数 ”。例如:-1234.65E。
C++ 语言支持三种实型,它们是float(单精度实型)、double(双精度实型)、long double(长双精度实型)。每一种类型规定了相应的实数取值范围、所使用的存储空间()字节数以及能达到的精度(有效位数)。float在空间允许的情况下没有必要使用,都应使用double提高精度。
数据类型 | 定义标识符 | 数值范围 | 占字节数 | 有效位数 |
---|---|---|---|---|
单精度实型 | float | -3.4E+38~3.4E+38 | 4(32位) | 6~7 位 |
双精度实型 | double | -1.7E+308~1.7E+308 | 8(64位) | 15~16 位 |
长双精度实型 | long double | -3.4E+4932~1.1E+4932 | 16(128位) | 18~19 位 |
来我们看一下在代码中是怎样的:
float a;
double b;
a = 1.234567;
b = 2.00;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
这段代码的结果是这样的
a = 1.23457
b = 2
___________________________
这是什么意思呢? 来我们看一下a包括整数、小数和小数点一共有8位,所以超出了我们float的取值范围,那C++是如何处理的呢?
其实是采用了四舍五入的方式,将剩下多余的位数给去掉的。例如1.234567,7所在的位数超出了,则将7舍去,向6进了1,就成为了:1.23457
三、字符型
字符常量有以下两种表达法:
- 普通表达式
字符常量是由单个字符组成,所有字符都采用ASCLL编码,ASCII编码共有128个字符。在程序中,通常一对单引号将单个字符括起来表示一个字符常量。如:‘a’ , ‘A’ , '0’等等。如字符A的序号是97,字符0的序号是48。 - 转义字符表达形式(初学者暂时跳过)
转义字符有三种用法: 表示控制字符、表示特殊字符、表示所有字符。常用的转义字符如下所示。
转义字符 | 含义 |
---|---|
‘\n’ | 换行 |
’\t‘ | 水平制表符 |
’\b‘ | 退格 |
‘\r’ | 回车(不换行) |
‘\0’ | 空字符 |
’ \n’ ’ | 单引号 |
‘"’ | 双引号 |
‘\’ | 一个反斜杠字符 |
‘\ddd’ | 1~3位8进制数所代表的字符 |
‘\xhh’ | 1~2 位十六进制所代表的字符 |
到这里就先结束了,如果还可以就点个赞(关注)支持支持,后续还会发有关c++的学习内容