单个变量的类型大概有数值型和字符型这两大类,也可以加上布尔型。
数值型
整型
整型用来表示整数,最常用的是int,以声明一个变量,并赋值为1为例:
//C++可以在声明变量的时候赋值,也可以先声明,之后再赋值,后面不再重复。
int a = 1; //声明的时候同时赋值
int b;
b = 2; //先声明,再赋值
int c = 3, d, e; //可以同时声明多个变量
除此之外,还有很多其他的整型类型,unsigned表示无符号数(0和正数),列举如下:
表格引用自:https://blog.youkuaiyun.com/luyaozhima/article/details/107042303
类型 | 所占字节数 | 表示范围 |
---|---|---|
short int | 2 | -32,768 ~ 32,767 |
unsigned short int | 2 | 0 ~ 65,535 |
int | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned int | 4 | 0 ~ 4,294,967,295 |
long int | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned long int | 4 | 0 ~ 4,294,967,295 |
long long in | 8 | -92233372036854775808 ~ 922333720368547758087 |
unsigned long long int | 8 | 0 to 18,446,744,073,709,551,615 |
其他类型转整型
函数:int(a)或long(a)等
参数:a可以是char,float,double,bool等
返回:整型数值
浮点型
浮点型用来表示小数,有float和double两种,区别在于所占大小和表示精度不同。
如下表所示:
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
定义一个浮点数示例:
float f = 1.5;
其他类型转浮点型
函数:float(a)或double(a)
参数:a可以是char,int,double,bool等
返回:浮点型数值
字符型
字符
字符用单引号’’括起来,
/*
直接赋值字符或者ASCII值,效果是相同的
示例的a和b的值都为字符a
*/
char a = 97;
char b = 'a';
其他类型转char型
函数:char(a)
参数:a可以是int,float,double,bool等(但一般不会把浮点数转为字符)
返回:ASCII码 (0~255)
字符串
string s = "abc";
其他类型和string互转
char和string互转
*string→const char ***
string的成员函数.c_str() //返回const char
string s="abc";
const char *ch=s.c_str();
char[]→string
char ch[]="abcd";
string s(ch); //调用string的拷贝构造函数
string s=ch; //调用string的赋值构造函数
数值和string互转
string→数值
函数:stoi(s)、stol(s)、stof(s)、stod(s)等
参数:string类变量s,或常量字符串
返回:int、long、float、double等
string s="1.56";
int i = stoi(s); // string转int
long l = stol(s); // string转long
float f = stof(s); // string转float
double d = stod(s); // string转double
数值→string
函数:to_string(a)
参数:a可以是int、long、float、double等
返回:string
/*
a可以是int、long、float、double等,
注意float和double转为string有6位小数,不够的话会用0补齐
*/
string s = to_string(a);
布尔型
真被解析成1,假被解析成0。
用数字赋值时,0为假,其他都为真;
用字符赋值时,’\0’为假,其他都为真。
bool a = true; // 1
bool a = false; // 0
bool b = 'a'; // 1
bool c = -5; // 1
bool d = 0; // 0
cout<<c<<endl; // 输出:1
类型转换
可以向上面的例子一样直接赋值,也可以用bool()来进行转换。
函数:bool(a)
参数:a可以是char,float,double,bool等
返回:布尔值,0或1