C++ 基本数据类型

简介: 由于考研的编程题很多都需要使用C++语言来写,所以虽然我不太喜欢C++这门语言,那么还是得来看看。算术类型需要提前说明,C++语言属于比较低级的语言,所以没有规定数据类型的具体大小,所有数据类型都可能由于机器不同而产生差异。

由于考研的编程题很多都需要使用C++语言来写,所以虽然我不太喜欢C++这门语言,那么还是得来看看。

算术类型

需要提前说明,C++语言属于比较低级的语言,所以没有规定数据类型的具体大小,所有数据类型都可能由于机器不同而产生差异。标准只规定了这些数据类型的最小范围,这一点我们在使用C++的时候也要注意。

整型

整型数据类型和它们的大小总结在下表:

数据类型 含义 最小单位
bool 布尔类型 未定义
char 字符类型 1字节
wchar_t 宽字符类型 2字节
char16_t Unicode字符类型 2字节
char32_t Unicode字符类型 4字节
short 短整型 2字节
int 整型 2字节
long 长整型 4字节
long long 长整型 8字节

wchar_t、char16_t和char32_t 是扩展字符类型,第一个用于宽字符,后两者用于Unicode字符集。

浮点型

浮点型数据类型和它们的大小总结在下表:

数据类型 含义 最小单位
float 单精度浮点类型 6位有效数字
double 双精度类型 10位有效数字
long double 扩展精度类型 10位有效数字

带符号的类型

在前面介绍的整型类型中,除了布尔类型和扩展的字符类型之外,其他整型都可以是有符号的(signed)和无符号的(unsigned),它们的区别在于取值范围。假如一个有符号变量的取值范围是-128到127,那么相应的无符号数取值范围就是0到255。默认情况下,类型是有符号类型,如果需要无符号类型需要显式指定。

在进行运算的时候,有符号数会被转换为无符号数进行运算,在这个过程中运算结果可能意外改变。所以为了稳妥起见,不要将有符号数和无符号数混合进行计算。

字面量

直接写在程序中的值称为字面量。由于数据类型有不同类型,所以字面量相应的也有不同的类型。

整型字面量

整型字面值可以有十进制、八进制和十六进制的形式。默认的数字就是十进制的,例如100;如果数字以0开头,那么就是八进制的数,例如024;如果数字以0x或0X开头,那么就是16进制的,例如0xcafe。

后缀 含义 例子
u或U 无符号数 1000U
l或L long类型 1000L,由于小写可能引起混淆,所以最好使用大写L
ll或LL long long类型 1000LL,最好采用大写形式

浮点型字面值

浮点数字面值可以有小数和科学计数法两种形式 ,以下都是有效的浮点型字面值。

3.14   0.4   .4   1e10   0.

浮点型字面值的后缀情况见下表。

后缀 含义 例子
f或F 单精度浮点数 0.4F
l或L long double类型 10.00L,最好使用大写L
无后缀 双精度浮点数 3.14

字符和字符串字面值

由单引号包括的单个字符是字符字面量,例如'c'

由双引号包括的一串字符是字符串字面量,例如"abc",需要注意在C++中,字符串字面量会由编译器隐式添加一个\0字符,以兼容C语言。所以"abc"这个字符串的长度其实是4。这一点需要注意。

如果两个字符串字面量仅由空格分隔,那么这两个字符串实际上是相连的。

char long_string[] = "This is a long line "
    "and next line";

字符和字符串字面量也有一些前缀,总结如下。

前缀 含义 例子
u char16_t类型 u'c'
U char32_t类型 U'c'
L 宽字符 L'c'
u8 UTF-8字符串,仅能用于字符串字面量 3.14

布尔值字面量

布尔值字面量只有truefalse两个。

相关文章
|
2月前
|
存储 安全 C++
C++ 用户输入与数据类型详解:建立基本计算器及变量类型
了解C++的用户输入和数据类型。使用`cin`从键盘读取数据,如在简单计算器示例中获取两个数字并求和。C++的数据类型包括:`int`(整数)、`float`(浮点数,约6-7位小数)、`double`(更精确的浮点数,约15位小数)、`bool`(布尔值,true或false)、`char`(单个字符)和`string`(文本字符串)。每种类型都有特定的存储大小和用途。在处理浮点数时,`double`通常更安全。字符串需要包含`<string>`库。更多内容可关注微信公众号`Let us Coding`获取。
40 0
|
2月前
|
存储 安全 编译器
C++系列二:数据类型
C++系列二:数据类型
|
2月前
|
存储 C++
C/C++数据类型从0到内存具体分配详解
C/C++数据类型从0到内存具体分配详解
|
15天前
|
存储 编译器 C++
C++从入门到精通:1.1.2基础语法之数据类型
C++从入门到精通:1.1.2基础语法之数据类型
|
16天前
|
存储 安全 编译器
C/C++(2)基本语法和数据类型
C/C++(2)基本语法和数据类型
4 0
|
24天前
|
C++
C/C++】如何不使用 sizeof 求数据类型占用的字节数
C/C++】如何不使用 sizeof 求数据类型占用的字节数
|
1月前
|
存储 程序员 C++
C++数据类型
C++数据类型
|
2月前
|
存储 安全 编译器
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
59 0
|
2月前
|
存储 编译器 程序员
C++基本数据类型
C++基本数据类型
|
2月前
|
存储 算法 C++
c++复合数据类型
c++复合数据类型