C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
2.1 整型作用:整型变量表示的是整数类型的数据
C++ 中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
| 整数类型 | 占用空间 | 取值范围 |
|---|---|---|
| short | 2字节 | − 2 15 − 2 15 − 1 -2^{15} -2^{15}-1 −215−215−1 |
| int | 4字节 | − 2 31 − 2 31 − 1 -2^{31} - 2^{31}-1 −231−231−1 |
| long | Windows为4字节,Linux 32位为4字节,Linux 64位为8字节 | − 2 31 − 2 31 − 1 -2^{31} - 2^{31}-1 −231−231−1 |
| long long | 8 字节 | − 2 63 − 2 63 − 1 -2^{63} - 2^{63}-1 −263−263−1 |
作用:利用 sizeof 关键字可以统计数据类型所占内存大小
语法:sizeof( 数据类型 / 变量)
示例:
int main() {
cout << "short 类型所占的内存空间为: " << sizeof(short) << endl;
cout << "int 类型所占的内存空间为: " << sizeof(int) << endl;
cout << "long 类型所占内从空间为: " << sizeof(long) << endl;
cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;
}
运行结果:
int main() {
//....
cout << "num1 类型所占的内存空间为:" << sizeof(num1) << endl;
cout << "num2 类型所占的内存空间为:" << sizeof(num2) << endl;
cout << "num3 类型所占内从空间为:" << sizeof(num3) << endl;
cout << "num4 类型所占内存空间为:" << sizeof(num4) << endl;
system("pause");
}
结果:
作用:用于表示小数
浮点型变量分为两种:
- 单精度 float
- 双精度 double
两者的区别在于表示的有效数字范围不同。
| 数据类型 | 占用空间 | 有效数字范围 |
|---|---|---|
| float | 4字节 | 7位有效数字 |
| double | 8字节 | 15~16位有效数字 |
示例
int main() {
// ...
float f1 = 3.14f;
double d1 = 3.14;
cout << f1 << endl;
cout << d1 << endl;
}
结果:
默认情况下,输入一个小数,只会显示6位有效数字
示例
int main() {
float f2 = 3.1415926f;
double d2 = 3.1415926;
cout << "f2= " << f2 << endl;
cout << "d2= " << d2 << endl;
}
结果:
科学计数法:
int main(){
float f3 = 3e2;
cout << "f3 = " << f3 << endl;
float f4 = 3e-2;
cout << "f4 = " << f4 << endl;
}
结果:
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意:
1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
2:单引号内只能有一个字符,不可以是字符串
- C 和 C++ 中字符型变量只占用 1 个字节。
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
示例:
int main() {
char ch = 'a';
cout << ch << endl;
cout << sizeof(char) << endl;
//ch = "abcde"; //错误,不可以用双引号
//ch = 'abcde'; //错误,单引号内只能引用一个字符
}
查看字符型变量对应的ASCII编码
int main() {
char ch = 'a';
cout << (int)ch << endl;
}
可以直接用ASCII编码给字符型变量赋值
int main() {
char ch2 = 97;
cout << ch2 <
- ASCII 控制字符:ASCII表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
- ASCII 打印字符:ASCII表上的数字 32-127 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。其中:32表示空格,127表示删除命令。
2.5 转义字符
作用:用于表示一些不能显示出来的 ASCII 字符
现阶段我们常用的转义字符有:n \ t
转义字符 含义 ASCII码值(十进制) a 警报 007 b 退格(BS),将当前位置移到前一列 008 f 换页(FF),将当前位置移到下页开头 012 n 换行(LF),将当前位置移到下一行开头 010 r 回车(CR),将当前位置移到本行开头 013 t 水平制表(HT)(跳到下一个TAB位置) 009 v 垂直制表(VT) 011 \ 代表一个反斜线字符"" 092 ’ 代表一个单引号(撇号)字符 039 " 代表一个双引号字符 034 ? 代表一个问号 063
2.6 字符串
作用:用于表示一串字符
两种风格
- c风格字符串:char 变量名[] = "字符串值"
示例:int main() {
char str1[] = "hello world";
cout << str1 << endl;
system("pause");
return 0;
}
注意:C风格的字符串要用双引号括起来
- C++风格字符串:string 变量名 = "字符串值"
示例:#include
int main() {
string str2 = "hello world";
cout << str2 << endl;
system("pause");
}
教程里面说需要加入头文件,但是我发现不加也不报错
2.7 布尔类型
作用:布尔类型代表真或假
bool 类型只有两个值:
- true — 真(本质是1)
- false —假(本质是0)
bool类型占1个字节大小
示例:
int main() {
bool flag = true;
cout << flag << endl; // 1
flag = false;
cout << flag << endl; // 0
cout << "size of bool = " << sizeof(bool) << endl;
system("pause");
return 0;
}
2.8 数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
示例:
int main() {
// 整型输入
int a = 0;
cout << "请输入整型变量:" << endl;
cin >> a;
cout << a << endl;
// 浮点输入
double d = 0;
cout << "请输入浮点型变量: " << endl;
cin >> d;
cout << d << endl;
// 字符输入
char ch = 0;
cout << "请输入字符型变量: " << endl;
cin >> ch;
// 字符串型
string str_ = "hello world";
cout << "请给字符串str_赋值:" << endl;
cin >> str_;
cout << "字符串str_= " << str_ << endl;
// bool类型
bool flag_ = false;
cout << "请给布尔类型 flag_ 赋值" << endl;
cin >> flag_;
cout << "布尔类型flag = " << flag_ << endl;
}



