C++| 数据类型
发布时间:2023-11-22 15:20:39
C++中, 每个变量在使用之前必须定义其数据类型。本文主要介绍C++中数据类型(布尔型(bool)、、整型(int)、浮点型(float)、双浮点型(double)、字符型(char)、无值型 (void)、宽字符型(wchar_t))。
1、布尔型(bool)
bool是占一个字节的逻辑值,定义出来的变量只有true
和false
两个,分别表示真和假,对应1
和0
两个值。所以比较好理解的是,在C语言中我们常常定义一个int
类型的troop逻辑变量,也只有1
和0
两个值表示真和假。在C++中专门有这样一个数据类型应该是方便我们使用。
例如,
#include <iostream>
using namespace std;
bool compar(int a,int b)
{
if (a>=b)
return true;
else if (a<b)
return false;
}
int main()
{
int a,b;
bool y;
//bool值可以进行运算
cout<<y<<endl<<(y+1)*2<<endl<<2*true+false+1;
y = true;
cin>>a>>b;
cout<<compar(a,b);
return 0;}
2、整数类型(int)
int是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负。int
是整型之一,一般被称为整型。int
代表有符号整数,也就是说,用int
声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数。标准规定int的最小取值范围是 -32767 到 32767。int的取值范围因机器而异,但是一定要大于或者等于 -32767 到 32767。标准整数类型的存储大小和值范围,如下表,
类型 | 位 | 范围 |
int | 4 个字节 | -2147483648 到 2147483647 |
unsigned int | 4 个字节 | 0 到 4294967295 |
signed int | 4 个字节 | -2147483648 到 2147483647 |
short int | 2 个字节 | -32768 到 32767 |
unsigned short int | 2 个字节 | 0 到 65,535 |
signed short int | 2 个字节 | -32768 到 32767 |
long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 个字节 | 0 到 18,446,744,073,709,551,615 |
为了得到某个类型或某个变量在特定平台上的准确大小,可以使用 sizeof
运算符。表达式 sizeof(type)
得到对象或类型的存储字节大小。
#include <iostream>
using namespace std;
int main()
{
int a,b=2;
cin>>a>>b;
cout<<a<<endl<<b;
return 0;
}
3、浮点类型
每当需要带小数的数字(例如,9.99
或3.14515
)时,都应使用浮点类型。标准浮点类型的存储大小、值范围和精度,如下表,
类型 | 位 | 范围 |
float | 4 个字节 | 精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字) |
double | 8 个字节 | 双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字) |
long double | 16 个字节 | 长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。 |
例如,
#include <iostream>
using namespace std;
int main()
{
float distance = 1.496E8;
double mass = 1.989E30;
cout << "distance = " << distance << endl;
cout << "mass = " << mass ;
return 0;
}
4、字符类型
char类型的值占用所有数据类型的最小内存量。通常只需要一个字节。char
不仅是一种整数,也是一种特殊的类型:字符(character)。可以通过字符常量为char类型的变量指定初始值。
1)字符常量可以只是单引号之间的字符。常用单引号表示字符的字面量,如,'a'
,'1'
。单引号''
也是一个字符,例如,
#include <iostream>
using namespace std;
int main()
{
char c;