C++从入门到精通:1.1.2基础语法之数据类型

简介: C++从入门到精通:1.1.2基础语法之数据类型

在C++编程中,数据类型是一个核心概念,它决定了如何在内存中存储数据以及可以对这些数据执行哪些操作。理解数据类型是编写高效、可靠C++代码的基础。本文将详细介绍C++中的基本数据类型,并通过代码示例展示如何在实际编程中使用它们。


一、整型


整型(Integer)是C++中最基本的数据类型之一,用于存储整数。C++提供了多种整型,包括短整型(short)、整型(int)、长整型(long)和长长整型(long long)。它们的存储大小和取值范围因编译器和平台而异。

示例:

image.png

在上面的代码中,我们声明了四种整型变量,并给它们赋了值。注意,长整型和长长整型字面量通常需要使用L或LL后缀来标识。


二、浮点型


浮点型(Floating-point)用于存储小数。C++提供了单精度浮点型(float)和双精度浮点型(double)。它们的主要区别在于存储大小和精度。

示例:

image.png

在上面的代码中,我们声明了一个单精度浮点型变量和一个双精度浮点型变量,并给它们赋了值。注意,单精度浮点型字面量通常需要使用f或F后缀来标识。


三、字符型


字符型(Character)用于存储字符。在C++中,字符型用char关键字表示。字符型变量可以存储ASCII码表中的字符。

示例:

image.png

在上面的代码中,我们声明了一个字符型变量,并给它赋了一个字符值。


四、布尔型


布尔型(Boolean)用于存储逻辑值,即真(true)或假(false)。在C++中,布尔型用bool关键字表示。

示例:

image.png

在上面的代码中,我们声明了一个布尔型变量,并给它赋了一个真值。我们使用条件运算符(?:)来输出布尔值的文本表示。


五、宽字符型


宽字符型(Wide Character)用于存储宽字符,主要用于支持国际化字符集。在C++中,宽字符型用wchar_t关键字表示。

示例:

image.png

在上面的代码中,我们声明了一个宽字符型变量,并给它赋了一个中文字符值。注意,宽字符字面量需要使用L前缀来标识。我们还使用了setlocale函数来设置本地化,以便正确显示宽字符。同时,输出宽字符

需要使用wcout而不是cout。


六、枚举类型


枚举类型(Enumeration)是一种用户定义的数据类型,它包含了一组命名的整数值。在C++中,可以使用enum关键字来定义枚举类型。

示例:

image.png

image.png

在上面的代码中,我们定义了一个名为Color的枚举类型,并包含三个命名常量:RED、GREEN和BLUE。然后,我们声明了一个Color类型的变量myColor,并给它赋了RED值。最后,我们使用switch语句根据myColor的值输出相应的信息。


七、指针类型


指针类型(Pointer)用于存储内存地址。在C++中,指针是一个变量,其值为另一个变量的地址。指针类型通过在变量类型后添加星号(*)来定义。

示例:

image.png

在上面的代码中,我们首先声明了一个整型变量x,并给它赋了一个值。然后,我们声明了一个指向整型的指针ptr,并将其初始化为x的地址。接着,我们输出了x的值、x的地址、ptr的值(即x的地址)以及ptr指向的值(即x的值)。


八、自定义类型


除了上述基本数据类型外,C++还允许用户通过结构体(struct)、类(class)、联合体(union)等方式定义自己的数据类型。这些自定义类型可以包含基本数据类型、其他自定义类型以及成员函数等。

示例(使用结构体):

image.png

在上面的代码中,我们定义了一个名为Person的结构体类型,它包含两个成员:name(字符串类型)和age(整型)。然后,我们声明了一个Person类型的变量p1,并给它的成员赋了值。最后,我们输出了p1的成员值。


九、类型别名


C++11引入了类型别名(Type Alias),允许我们为现有类型创建新的名称。这可以通过使用using关键字或typedef关键字来实现。

示例(使用using):


image.png

在上面的代码中,我们使用using关键字定义了一个名为IntArray的类型别名,它表示int数组。然后,我们使用IntArray来声明一个大小为10的整型数组。


总结:


C++提供了丰富的数据类型,包括整型、浮点型、字符型、布尔型、宽字符型、枚举类型、指针类型以及自定义类型等。理解并掌握这些数据类型是编写高效、可靠C++代码的基础。通过本文的介绍和示例代码,相信读者对C++中的数据类型有了更深入的了解。



相关文章
|
9天前
|
Java API C++
Java JNI开发时常用数据类型与C++中数据类型转换
Java JNI开发时常用数据类型与C++中数据类型转换
13 0
|
20天前
|
存储 程序员 C++
C++数据类型
C++数据类型
24 2
|
1天前
|
JavaScript 前端开发 编译器
【C++初阶】C++模板编程入门:探索泛型编程的奥秘
【C++初阶】C++模板编程入门:探索泛型编程的奥秘
|
1天前
|
存储 编译器 C语言
【C++入门】—— C++入门 (下)_内联函数
【C++入门】—— C++入门 (下)_内联函数
|
1天前
|
存储 安全 编译器
【C++入门】—— C++入门 (中)_引用
【C++入门】—— C++入门 (中)_引用
|
1天前
|
人工智能 安全 编译器
【C++入门】—— C++入门 (上)_命名空间
【C++入门】—— C++入门 (上)_命名空间
|
2天前
|
C语言 C++ 编译器
C++入门攻略
C++入门攻略在代码中引用的格式:类型& 引用变量名(对象名) = 引用实体; 5.2 引用的特性: #include<stdio.h>
C++入门攻略
|
10天前
|
编译器 C语言 C++
C++初阶学习第二弹——C++入门(下)
C++初阶学习第二弹——C++入门(下)
10 0
|
10天前
|
C语言 C++
C++初阶学习第一弹——C++入门(上)
C++初阶学习第一弹——C++入门(上)
17 0
|
12天前
|
JSON 开发工具 C语言
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
20 0