引言
数据结构是C++中重要的组成部分,是初学者必须了解的内容之一。今天我们就来揭秘4种常用的数据类型。
目录
int类型
int又称整型。int类型可以储存的数据在-2147483647~2147483647之间(一般看作10^9),是C++编程中最常用的类型之一,一个int类型的数据需要占4b内存。一般的A+B Problem都可以用其完成。int类型也可作long int类型,两者功能相同,因此推荐写作int。
int定义变量的方法是:int 变量名; (定义数组的方法是:int 数组名[数组长度];)
以下程序为int的使用:
//int定义变量a并赋值1
int a = 1;
//int定义长度为1005的数组a
int a[1005];
long long类型
long long又称长整型。int类型与long long类型十分相似,但是long long类型所能存储的数据比较大,为-9223372036854775808~9223372036854775807(一般看作10^18),相应的,所需占的字节也比较大,为8b。
与int的定义写法一样,定义变量的方法是:long long 变量名; (定义数组的方法是:long long 数组名[数组长度];)
以下程序为long long的使用:
//long long定义变量a并赋值1
long long a = 1;
//long long定义长度为1005的数组a
long long a[1005];
若大家写了许多int类型的数据,想把他们全部改为long long类型,只需要加上define语句。define的用法是:#define a b,可以将代码中的a全部更换为b。#define int long long将代码中的所有int全部换成了long long,达到了我们想要的目的。(初学者了解即可)
int和long long的区别见下表:
int | long long | |
所占字节 | 4b | 8b |
可存储数据范围 | ±1e9(约) | ±1e18(约) |
※1e9及1e18为科学计数法,分别为10^9和10^18。
float类型
float又称单精度浮点数。float类型可以储存的小数取值范围是1.17549e-38~3.40282e+38(精确到小数点后6位),并且与int类型一样,都占用4b内存。
float定义变量方法为:float 变量名;(定义数组方法为:float 数组名[数组长度];)
以下程序为float的使用:
//float定义变量a并赋值1
float a = 1;
//float定义长度为1005的数组a
float a[1005];
double类型
double又称双精度浮点数。占用内存为8b,可储存小数取值范围是2.22507e-308~1.79769e+308(精确到小数点后15位),比float更加常用。
double定义变量的方法为:double 变量名;(定义数组方法为:double 数组名[数组长度];)
以下程序为double的使用:
//double定义变量a并赋值1
double a = 1;
//double定义长度为1005的数组a
double a[1005];
define也可以将float全部转化为double,方法一样,只需要在导入头文件后加入这行代码: #define float double。(初学者了解即可)
float和double的区别见下表:
float | double | |
---|---|---|
所占字节 | 4b | 8b |
可存储数据范围 | 小数点后6位 | 小数点后15位 |
例题:A+B+C Problem
思路 这道题的数据(a,b,c)很大,有1e9,肯定会爆int,因此我们选用long long(当然也可以选择高精度,初学者不建议用高精度)。接下来使用cout(或printf())输出即可。
题解
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,c; //long long定义a,b,c
cin >> a >> b >> c; //输入
cout << a + b + c; //输出
return 0;
}