数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
1、整型
作用: 整型变是表示的是整类型的数据
语法:int num = 1;
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
数据类型 | 占用空间 |
short(短整型) | 2字节 |
int(整型) | 4字节 |
long(长整型) | Windows为4字节,Linux为4字节(32位),8字节(64位) |
long long(长长整型) | 8字节 |
示例:
#include<iostream>
using namespace std;
int main()
{
//短整型
short int a = 1;
//整型
int b = 3;
//长整型
long int c = 2;
cout << "a:" << a << " b:" << b << endl;
return 0;
}
这里声明了一个短整型(short int
)变量a
并初始化为1。短整型通常是16位的,用于存储较小的整数。
这里声明了一个整型(int
)变量b
并初始化为3。整型通常是32位的,是最常用的整数类型。
这里声明了一个长整型(long int
)变量c
并初始化为2。长整型通常是32位或64位的,用于存储比标准整型更大的整数。在这段代码中,虽然声明了变量c
,但它没有在后面的代码中被使用。
这一行使用cout
输出流输出变量a
和b
的值,以及它们的名称。<<
是流插入运算符,用于将数据插入到输出流中。endl
是一个操纵符,用于在输出流中插入一个换行符,并刷新输出缓冲区。
return 0这一行表示main
函数的结束,并返回0。在C++中,main
函数返回0通常表示程序成功执行结束。
2、浮点型
作用: 用于表示小数
语法: float f = 3.14;
double d = 3.2425926;
浮点型变量分为两种:
- 单精度float
- 双精度double
两者的区别在于表示的有效数字范围不同
数据类型 | 占用空间 |
float | 4字节 |
double | 8字节 |
- 由于
float
类型的有效数字位数较少,它的精度较低,这意味着它在表示非常大或非常小的数值时可能会丢失一些信息。 double
类型由于有效数字位数更多,因此具有更高的精度
在C++中,浮点数字面量(如3.14)默认为double
类型,除非显式地指定为float
(通过在数字后添加f
或F
后缀,如3.14f)
示例:
#include <iostream>
using namespace std;
int main() {
// 声明单精度浮点型变量
float floatValue = 10.5f;
// 声明双精度浮点型变量
double doubleValue = 20.123456789;
// 输出浮点型变量的值
cout << "Float value: " << floatValue << endl;
cout << "Double value: " << doubleValue << endl;
return 0;
}
float floatValue = 10.5f;
这是一个单精度浮点型变量,用float
关键字声明,并初始化为10.5。注意,数字后面的f
后缀表示这是一个float
类型的字面量。double doubleValue = 20.123456789;
这是一个双精度浮点型变量,用double
关键字声明,并初始化为20.123456789。对于double
类型的字面量,不需要特殊后缀。
3、字符型
字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
在C++中,字符型是一种数据类型,用于存储单个字符。字符型在C++中使用char
关键字进行声明。char
类型的变量通常用于存储ASCII字符集中的字符,但它实际上是一个小的整数类型,可以存储任何小于或等于其大小的整数值。
char
类型的大小至少为8位,这意味着它可以表示至少256个不同的值(从0到255)。这足以覆盖标准的ASCII字符集,其中包含了英文字母、数字、标点符号和一些控制字符。
作用: 字符型变量用于显示单个字符
语法:char ch = "a";
注意:
- 在显示字符型变是时,用单引号将字符括起来,不要用双引号注意
- 单引号内只能有一个字符,不可以是字符串
C和C++中字符型变是只占用1个字节
在C++中,char
类型的变量可以用单引号括起来的字符字面量来初始化;
示例:
#include <iostream>
using namespace std;
int main() {
// 声明字符型变量
char ch = 'A';
// 输出字符型变量的值
cout << "Character value: " << ch << endl;
// 输出字符型变量的ASCII值
cout << "ASCII value of character: " << static_cast<int>(ch) << endl;
return 0;
}
-
char ch = 'A';
在这行代码中,我们声明了一个char
类型的变量ch
,并将其初始化为字符'A'
。字符字面量用单引号'
包围。 -
cout << "ASCII value of character: " << static_cast<int>(ch) << endl;
这行代码再次使用cout
输出流,打印字符串"ASCII value of character: "
。然后,它使用static_cast<int>(ch)
将字符ch
转换为其对应的ASCII整数值,这里是65,因为'A'
的ASCII码是65。最后,endl
插入一个换行符并刷新输出缓冲区。
4、字符串类型
在C++中,字符串型指的是用于存储一系列字符的数据类型。C++提供了两种主要的方式来处理字符串:
C风格字符串(字符数组):这是一种使用字符数组来存储字符串的传统方式,它源自C语言。C风格的字符串以空字符'\0'
(ASCII值为0)结尾,这个空字符标记了字符串的结束。
语法:char c[] = "Hello, World!";
C++风格字符串string
类:这是C++标准库提供的一个类,它封装了字符串的操作,使得处理字符串变得更加方便和安全,string
类提供了许多用于操作字符串的成员函数,如添加、删除、查找和替换字符等,也是C++中处理字符串的首选方式,因为它提供了更高级的功能和更好的安全性
语法:string str = "Hello, World!";
示例:
#include<iostream>
#include <string>
using namespace std;
int main()
{
//C风格的字符串
char cstr[] = "Hello, World!";
cout << cstr << endl;
//C++风格的字符串
// 包含一个头文件 #include<string>
string str = "Hello, World!";
cout << str << endl;
return 0;
}
-
#include <string>
:这行代码包含了string
库,它提供了std::string
类的定义,使得程序可以使用这个类来处理字符串。 -
char cstr[] = "Hello, World!":
在这行代码中,我们声明了一个C风格的字符串cstr
,它是一个字符数组,并将其初始化为字符串"Hello, World!"
。C风格的字符串以空字符'\0'
结尾,这个空字符在字符串字面量的末尾隐含地存在。 -
string str = "Hello, World!";
:在这行代码中,我们声明了一个C++风格的字符串str
,它是一个std::string
对象,并将其初始化为字符串"Hello, World!"
。这里,string
是std::string
的别名,因为我们已经声明了using namespace std;
5、sizeof关键字
作用: 利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof( 数据挑型 /变量)
示例:
#include <iostream>
using namespace std;
int main() {
int a;//声明了一个整型变量a。
double b;//声明了一个双精度浮点型变量b。
char c;//声明了一个字符型变量c
cout << "size of int: " << sizeof(int) << " bytes" << endl;
cout << "size of double: " << sizeof(double) << " bytes" << endl;
cout << "size of char: " << sizeof(char) << " bytes" << endl;
cout << "size of variable 'a': " << sizeof(a) << " bytes" << endl;
cout << "size of variable 'b': " << sizeof(b) << " bytes" << endl;
cout << "size of variable 'c': " << sizeof(c) << " bytes" << endl;
return 0;
}
cout << "size of int: " << sizeof(int) << " bytes" << endl;
:输出int
类型的大小。cout << "size of double: " << sizeof(double) << " bytes" << endl;
:输出double
类型的大小。cout << "size of char: " << sizeof(char) << " bytes" << endl;
:输出char
类型的大小。cout << "size of variable 'a': " << sizeof(a) << " bytes" << endl;
:输出变量a
的大小。cout << "size of variable 'b': " << sizeof(b) << " bytes" << endl;
:输出变量b
的大小。cout << "size of variable 'c': " << sizeof(c) << " bytes" << endl;
:输出变量c
的大小。
6、数据的输入
作用:用于从键盘获取数据
关键字: cin
语法:cin >> 变量
示例:
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整型数据" << endl;
//cin从标准输入流中读取一个整数,并将其存储在变量num中。
cin >> num;
cout << "num = "<< num << endl;
return 0;
}
cout << "请输入一个整型数据" << endl;
使用cout
输出流向用户显示提示信息cin >> num;
:使用cin
输入流从用户那里读取一个整数,并将其存储在之前声明的变量num
中。如果用户输入的是一个整数,那么它将被成功读取并存储;如果用户输入的不是整数,cin
将进入错误状态,后续的输入操作将被阻塞。cout << "num = "<< num << endl;
再次使用cout
输出流,这次是为了显示字符串"num = "
,紧接着输出变量num
的值