共计 1844 个字符,预计需要花费 5 分钟才能阅读完成。
2 数据类型
2.1 整型
C++ 中可能示意整型的类型有大略四种,区别在于所占空间的不同:
数据类型 | 占用空间(单位:字节) |
---|---|
short | 2 |
int | 4 |
long | Windows(4), Linux(4), 64 位零碎 (8) |
long long | 8 |
尽管我的零碎是 64 位的,然而试验了一下,可能是因为 VS 的起因,导致我写进去的 long 类型只有 4 个字节。这个其实不是特地的稳固,所以之后还是尽量少用 long 类型。
2.2 sizeof 关键字
作用:能够统计一个数据类型占用的空间大小。
语法:sizeof(数据类型 / 变量)
单位:字节
依据之前的试验,sizeof 关键字不仅能够统计根本数据类型所占的空间大小,构造体、类都是能够通过 sizeof 来进行断定的。至于对于类中的动态对象、办法等占用空间是怎么计算的。能够先留一下,之后再看。
2.3 浮点型
浮点型变量分为两种:float, double
数据类型 | 占用空间(单位:字节) | 有效数字范畴 |
---|---|---|
float | 4 | 7 位 |
double | 8 | 15-16 位 |
默认状况下,编译器会把一个小数当成一个双精度浮点数 double 类型,咱们在创立一个单精度变量的时候,能够通过加 ‘f’ 后缀来间接失去一个单精度的常数。
默认状况下,输入一个小数,会显示六位有效数字。
示意小数的两种形式:
- 小数点计数法:即应用小数点来示意,相似于 3.14159 之类的。
- 迷信计数法:相似于 3e2,通过 e 来宰割。e 的后面是有效数字,前面是
2.4 字符型
作用:显示单个的字符。
我的了解是,尽管 char 类型中存储的数据实质是 ASCII 码,然而在进行输入的时候,一旦计算机辨认进去这个数据是 char 类型,则会把他当成字符自身进行输入。所以 char 自身是能够像个别的数据一样加减的。
语法:char ch = 'a';
有两点留神:一是字符须要用单引号 ” 扩起来,二则是单引号中只能放进一个字符。
通过强制转换,能够输出 ASCII 码,或者输入 ASCII 码。
输入 ASCII 码
能够将须要输入 ASCII 码的字符转换为整型,而后输入。
int main() {
char ch = 'A';
cout << (int)ch << endl;
return 0;
}
输出 ASCII 码
ASCII 码是能够间接输入的,像这样:
int main(){
char ch = 97;
cout << ch;
return 0;
}
这样就会输入一个 a。
如果咱们心愿通过键盘输入一个 ASCII 码,而后转换为字符的话,就不行了。因为键入 ASCII 码会被当成是字符,比方咱们键入 97,那么 9 会被当成第一个字符,被键入进输出流。
这时咱们须要应用整型来取得输出,再强制转换成 char 型字符。
int main(){
int ch;
cin >> ch;
cout << (char)ch;
return 0;
}
重要的 ASCII 码
A 65
a 97
所有的大写字母 + 32 就会变成小写字母。
2.5 转义字符
作用:用过反斜杠 ‘\’ 示意一些不能显示进去的 ASCII 字符
比拟罕用的转义字符:
\n | 换行符 |
---|---|
\\ | 反斜杠 |
\t | 程度制表 |
2.6 字符串
示意一整串字符,一共有两种格调的字符串。
C 格调字符串
语法:char variableName[size] = "……";
这里有两种写法,能够指定字符串的 size,也能够空着 size,这样零碎就会主动统计前面的字符串长度,取得一个 size(留神:这里并不是没有,而是零碎主动获取了。)
举例:
int main(){
using namespace std;
char hello[] = "Hello, World!";
cout << hello << endl;
cin.get();
return 0;
}
值得一提的是,sizeof 关键字对于 C 格调字符串也是无效的。如果让零碎主动统计长度,则会失去字符串的长度 +1(因为字符串最初会有一个空字符)。然而如果指定了字符串的大小,则会失去字符串的大小。
C++ 格调字符串
语法:string stringName = "……"
须要蕴含一个 <string> 的头文件
全自动生成,而且各种操作更不便一些。
#include<string>
using namespace std;
int main() {
string str = "Hello, World!";
cout << str << '\n';
return 0;
}
2.7 布尔类型
作用:示意真或者假
只有两个值:true false 然而其实实质就是 1 和 0
语法:bool variableName = true/false
布尔类型的值输入时,默认输入的就是 0 或 1,这一点和其余的语言是不一样的。
2.8 数据的输出
作用:通过键盘输入数据
语法:cin >> variableName;