C++| C++ 入门教程基本数据类型
Posted Yangtzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++| C++ 入门教程基本数据类型相关的知识,希望对你有一定的参考价值。
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;
以上是关于C++| C++ 入门教程基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章
C++入门教程||C++ 基本的输入输出||C++ 数据结构
Android Studio NDK 入门教程--Java与C++之间的简单数据转换与传递