C++数据类型
C++规定,在创建一个变量或者常量是,必须要指定出相应的数据类型,否则无法给变量分配内存。
1.整型
作用:整型变量表示的是 整数类型 的数据
c++中能够表示整型类型有以下几种方式,区别在于所占内存空间不同
数据类型 | 占用空间 | 取值范围 |
---|---|---|
Short(短整型) | 2字节 | (-215~215-1) |
int (整型) | 4字节 | (-2^31 ~ 2^31-1) |
long (长整型) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |
long long (长整型) | 8字节 | (-263~263-1) |
2.sizeof关键字
作用:利用sizeof关机哦按字可以 统计数据类型所占内存大小
#include <iostream>
using namespace std;
int main()
{
cout << "sizeof 'short':" << sizeof(short) << endl;
cout << "sizeof 'int':" << sizeof(int) << endl;
cout << "sizeof 'long':" << sizeof(long) << endl;
cout << "sizeof 'long long':" << sizeof(long long) << endl;
system("pause");
}
3.实型(浮点型)
作用:表示小数
分类:
(1)单精度float
(2)双精度double
区别:表示的有效数字范围不同
float:占用空间为4字节,有效数字范围是7位有效数字
double:占用空间为8字节,有效数字范围是15~16位有效数字
示例:
#include <iostream>
using namespace std;
int main()
{
//默认情况下会显示出6位有效数字
float f1 = 3.14f;//3.14后面的f是为了确定他是单精度float型
double d1 = 3.14;
cout << f1 << endl;
cout << d1 << endl;
cout << "float sizeof = " << sizeof(f1) << endl;
cout << "double sizeof = " << sizeof(d1) << endl;
//科学计数法
float f2 = 3e2; // 3 * 10 ^ 2
cout << "f2 = " << f2 << endl;
float f3 = 3e-2; // 3 * 0.1 ^ 2
cout << "f3 = " << f3 << endl;
system("pause");
}
4.字符型char
作用:字符型变量用于显示单个字符
语法:char ch =’a’;
注:
- 在显示字符型变量时,用单引号将字符括起来,不能用双引号 。
- 单引号内只能有一个字符不可是字符串。
- C和C++中自付项变量只占用1个字节。
- 字符型变量并不是吧字符本身放内存中存储,而是将对应的ASCII编码放到存储单元。
#include <iostream>
using namespace std;
int main()
{
//字符型变量创建方式
char ch = 'a';
cout << ch << endl;
//字符型变脸所占内存大小
cout << "char字符型变量所占内存大小" << sizeof(char) << endl;
//对应ASCII码
cout << "a对应的ASII码:" << (int)ch << endl;
ch = 97;
cout << "ASII码为97对应的字符为:" << ch << endl;
system("pause");
}
ASCII值 | 控制字符 | ASCII值 | 字符 | ASCII值 | 字符 | ASCII值 | 字符 |
---|---|---|---|---|---|---|---|
0 | NUT | 32 | (space) | 64 | @ | 96 | 、 |
1 | SOH | 33 | ! | 65 | A | 97 | a |
2 | STX | 34 | " | 66 | B | 98 | b |
3 | ETX | 35 | # | 67 | C | 99 | c |
4 | EOT | 36 | $ | 68 | D | 100 d | |
5 | ENQ | 37 | % | 69 | E | 101 | e |
6 | ACK | 38 | & | 70 | F | 102 | f |
7 | BEL | 39 | , | 71 | G | 103 | g |
8 | BS | 40 | ( | 72 | H | 104 | h |
9 | HT | 41 | ) | 73 | I | 105 | i |
10 | LF | 42 | * | 74 | J | 106 | j |
11 | VT | 43 | + | 75 | K | 107 | k |
12 | FF | 44 | , | 76 | L | 108 | l |
13 | CR | 45 | - | 77 | M | 109 | m |
14 | SO | 46 | . | 78 | N | 110 | n |
15 | SI | 47 | / | 79 | O | 111 | o |
16 | DLE | 48 | 0 | 80 | P | 112 | p |
17 | DCI | 49 | 1 | 81 | Q | 113 | q |
18 | DC2 | 50 | 2 | 82 | R | 114 | r |
19 | DC3 | 51 | 3 | 83 | S | 115 | s |
20 | DC4 | 52 | 4 | 84 | T | 116 | t |
21 | NAK | 53 | 5 | 85 | U | 117 | u |
22 | SYN | 54 | 6 | 86 | V | 118 | v |
23 | TB | 55 | 7 | 87 | W | 119 | w |
24 | CAN | 56 | 8 | 88 | X | 120 | x |
25 | EM | 57 | 9 | 89 | Y | 121 | y |
26 | SUB | 58 | : | 90 | Z | 122 | z |
27 | ESC | 59 | ; | 91 | [ | 123 | { |
28 | FS | 60 | < | 92 | / | 124 | 竖杠 |
29 | GS | 61 | = | 93 | ] | 125 | } |
30 | RS | 62 | > | 94 | ^ | 126 | ` |
31 | US | 63 | ? | 95 | _ | 127 | DEL |
ASCII 码大致由以下两部分组成:
- ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。(显示不到屏幕上)
- ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。
5.转义字符
作用:用于表现一些不能显示出来的ASCII字符
常用转义字符:\n \ \t
转义字符 | 含义 | ASCII值 |
---|---|---|
\n | 换行,将当前位置移到下一行开头 | 010 |
\t | 水平制表,跳到下一个tab位置 | 009 |
\ | 代表一个反斜线字符’’’’ | 092 |
#include<iostream>
using namespace std;
int main()
{
cout << "\\" << endl;
cout << "\tH" << endl;
cout << "\n" << endl;
system("pause");
return 0;
}
6.字符串型
作用:用于表示一串字符
两种风格:
#include<iostream>
using namespace std;
int main()
{
char str1[] = "love you!";//C风格
cout << str1 << endl;
string str2 = "love you forever!";//C++风格
cout << str2 << endl;
system("pause");
return 0;
}
7.布尔类型bool
作用:布尔数据类型代表真(true/1)或假(false/0)的值
#include <iostream>
using namespace std;
int main()
{
bool flag = true;
cout << flag << endl;
cout << "bool占用内存大小:" << sizeof(bool) << endl;
system("pause");
}
8.数据输入cin
作用:用于从键盘获取数据
#include<iostream>
using namespace std;
int main()
{
//整型输入
int a = 1;
cout << "输入整型变量的值:" << endl;
cin >> a;
cout << "a=" << a << endl;
//浮点型输入
double b = 0;
cout << "输入浮点型变量的值:" << endl;
cin >> b;
cout << "b= " << b << endl;
//字符串型
char ch = 0;
cout << "输入字符型变量的值:" << endl;
cin >> ch;
cout << "ch= " << ch << endl;
//字符串类型
string str;
cout << "输入字符串:" << endl;
cin >> str;
cout << "str= " << str << endl;
//布尔类型
bool flag = true;
cout << "输入bool型变量值:" << endl;
cin >> flag;
cout << flag << endl;
system("pause");
return EXIT_SUCCESS;
}