复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162/* 数据类型长度(字节)数值范围 int 4(32 bits) -2147483648 ~ 2147483647 (-2^31~(2^31-1)) short int2 (16 bits) -32768 ~ 32767 (-2^15~(2^15-1)) long int 4 (32 bits) -2147483648 ~ 2147483647 unsigned int 4 (32 bits) 0 ~ 4294967295 (0~(2^32-1)) unsigned short int2 (16 bits) 0 ~ 65535(0~(2^16-1)) unsigned long int 4 (32 bits) 0 ~ 4294967295 (0~(2^32-1)) char 1 (8 bits) -128 ~ 127(-2^7~(2^7-1)) flcat 4 (32 bits) 1.2e-38 ~ 3.4e38 double 8 (64 bits) 2.2e-308 ~ 1.8e308 */ 补码: 由于计算机不能执行减法,所以采用补码将二进制反转,然后相加,则得出减法的操作,这就是补码的作用。 溢出: 上面的表有写出每种数据类型的最大值与最小值,我们不要超出了范围,数据溢出后不会报错,而是像汽车里程表那样,到达最大值后,又从最小值开始计数。因此我们需要时刻注意所定义变量的最大取值范围,一定不要超过这个范围进行赋值。 C++有六种数据类型:布尔型(bool)、字符型(char)、双字符型(wchar_t)、整型(int)、单精度浮点型(float)、双精度浮点型(double)。 在进行细分的话: 整型又可分为无符号型、长整型、短整型。 双精度型包括 双精度型 和 长双精度型。 除此之外还有静态变量(static)、外部变量(extern)、寄存器变量和自动存储变量。 假如从广义上来划分C++的数据类型的话,我们可以将其仅仅分为两大类——常量(值不可改变)与变量(值可改变)。 我们从常量与变量的角度来介绍以上六种数据类型。 布尔型 bool: 布尔型可以表示两个逻辑值,1和0,即真或者假。 #include<iostream> using namespace std; int main() { bool check; check = true;//由于在C++中true(真)用来代表1,false(假)用来代表0,所以也可以这么赋值 if (check == 1)//假如if()括号中 为真 则执行下面括号中的功能 { cout << "欢迎来到玫瑰坊!" << endl; } return 0; } 字符型 char : 字符型变量存放的是字符,这个字符指的是计算机字符集中的字符(ASCII码)。字符型变量只占一个字节,我们知道一个字符为8位(二进制的8位),而最大的8位二进制数为:11111111 (8),换算成十进制为255,因此字符型变量可存储256个字节,而一个字符可解释为0~255之间的一个数或某个ASCII码。 字符中的 “” 反斜杠改变了其后字母的含义,因此他又叫转义字符。 所有的特殊字符 : a铃声(警报声) b回退 f换页 n换行 r回车 tTab键 v垂直制表 '单引号 "双引号 ?问号 \反斜杠 00八进制 xhh十六进制 #include<iostream> using namespace std; int main() { char ch;//定义了一个字符型变量,它的名字为ch,系统为该变量分配一个字节的空间,并将空间的地址赋给变量名ch。 ch = 'A';//将大写字母A存储到变量名ch所代表的地址中。注:字符中单引号' ' cout << ch << endl; cout << (int)ch<<endl;//如果想看ASCII码,强制转换为 int 型()中代表强制转换的类型。 for (int i = 32; i<128; i++) { cout << (char)i;//这时可以看到所有字符 } cout << "nn欢迎来到"; char zh = 't';//作用与按下Tab键相同,特殊字符的用途。 cout << zh << "玫瑰坊!"; return 0; } 双字节类型 wchar_t: 我们知道char型变量可存储一个字节的字符,它用来保存英文字符与标点符号是可以的,但是存储汉字、韩文、日文却不可以,因为汉字、韩文都占据了两个字节,为了解决这个问题,C++又提供了 wchar_t 类型,也就是双字节类型,又叫宽字符类型。 #include<iostream> #include<locale>//setlocale函数实在头文件<locale>中定义,所以添加头文件 using namespace std; int main() {//"chs"代表中文的意思,LC_ALL代表设置所有选项 setlocale(LC_ALL, "chs");//由于“中”是汉字,所以调用一个函数来将本机的语言设置为中文简体 wchar_t wt[]=L"中";//【 】表示这是数组型变量,L 告诉编译器为“中”分配两个字节的空间。 wcout << wt << endl;//使用wcout替代cout来输出快字符。 return 0; } 整型 int : 整型变量有很多种,最基本的是 int #include<iostream> #include<locale>//setlocale函数实在头文件<locale>中定义,所以添加头文件 using namespace std; int main() { //short int a; //定义变量 a 是为了告诉编译器为 a 分配4个字节的空间,short关键字短整型 //short a; //一般情况下可以简写,短整型只占用 2个字节 //long b; //long int b;此处简写。长整型占用 4个字节 //int 与 long 都是占用4个字节,区别为:long类型的数所占的内存空间为4个字节,在16位系统里是 2个字节 ,在32位系统中是 4个字节。int类型的长度并不是固定的,它和系统平台有关系。 cout << "int:"<<sizeof(int)<<endl;//可以用关键字sizeof来测试一下字节问题 cout << "long:" << sizeof(long) << endl; cout << "short:" << sizeof(short) << endl;//有符号短整型可以表示正整数与负整数 //按照符号来区分一下整型变量,可分为无符号与有符号型。区别: unsigned short a;//关键字unsigned 无符号 短整型 unsigned long b;//无符号长整型 cout << "unsigned long" << sizeof(unsigned long) << endl; cout << "unsigned short:" << sizeof(unsigned short) << endl; return 0; //有符号可以表示负整数,而无符号只能表示正整数,同时由于有符号整型的最高位要用于表示符号位,因此取值范围要比无符号小一倍。 } 浮点型 float : #include<iostream> #include<iomanip>//设置精度的头文件 using namespace std; int main() { float a = 12.3456789012345;//只输出了6位数,第6位是经过四舍五入的结果 cout << "a:" <<setprecision(15)<< a << endl;//设置精度 //setprecision()函数括号中代表设定小数的长度,即使不够,也要拼够,但精确数字保持在6~7位 double b = 12.123456789012;//双精度,占中8个字节,比float多占了一倍,精度也大了一倍,即:15~16位精准 cout << "b:" << setprecision(15) << b << endl; //double精度虽然高,但是占内存多,运行速度慢,所以能用float就不要用double return 0; } 常量: 顾名思义,其值是不能改变的,可以对常量初始化,但是此后你就不能再对其进行赋值。 int main() { const double PI = 3.1415926;//此时 PI 的值就不能再变了//const 关键字——常量 return 0; } 枚举型: #include<iostream> using namespace std; int main() { //关键字 enum 将其后的num声明为枚举型,然后我们为num定义了5个值:01234 enum num {zero,one,two,three,four}; //枚举型的第一个常量值默认为0,其他依次增加。 //enum num {zero=100,one,two,three=200,four}; //这时zero为100,则one自动为101,two为102...three=200,则four=201... return 0; }
最后
以上就是轻松海燕最近收集整理的关于数据类型与枚举型的全部内容,更多相关数据类型与枚举型内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复