ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 【知识精讲】变量与数据类型 ## Part1 在前面的课程中,我们已经引入了“变量”这一概念,接下来我们将对变量和 C++ 语言的基本数据类型做进一步的介绍。 我们知道,程序的本质功能是**对数据进行处理**,而数据本身又可以分类——比如数学上有整数、小数等概念,日常生活中需要用字符串来表示人的姓名和地址,有些问题的回答只能是“是/否”或者“真/假”等。对于不同类型的数据,我们可以使用不同的处理方法——而在处理之前,我们首先需要为不同的数据类型,准备不同的“盒子”,也就是定义不同类型的变量。 C++ 中的数据类型分为基本数据类型和自定义类型——前者是 C++ 编译系统内置的,而后者则是我们自己可以定义的。这一章我们将首先介绍基本数据类型。 ## Part3 那么你可能又要好奇了,C++ 语言中有哪些可以修饰变量的类型呢?相对应的用于格式化输出的占位符又有哪些呢? 在 C++ 语言中,我们常用的基础变量数据类型有: | 数据类型 | 关键字 | 说明 | | --- | --- | --- | | 整数型 | `int` | 反映机器中整数的自然长度 | | 字符型 | `char` | 占 111 字节,可存一个字符 | | 单精度浮点数型 | `float` | | | 双精度浮点数型 | `double` | | | 布尔型 | `bool` | 取值只能是`true`或者`false`,注意首字母必须小写 | ## Part4 除了基础变量数据类型,我们还可以在基本数据类型的前面加一些限定符,比方说`short`和`long`可以加在`int`、`float`、`double`前用于修饰对应的数据类型。比方说,被`short`修饰的整数型变量的存储位数会更小,相应的可存整数范围也就比较小,而如果被`long`修饰则会用更多的存储位数,能存的整数范围也不小于`int`。 我们还可以用`unsigned`来修饰`int`,说明数据类型是无符号的整数。当你写下`unsigned int`的时候,你其实在告诉计算机“这个整数不需要留出一位来存储符号,所有的位数都可以拿来存数字”。相应的,这种类型的变量就可以用于表示更大的正整数。 ## Part5 你可能注意到了,老师一直在强调不同数据的类型。因为,不同类型的变量只能和符合它类型的值相对应。如果我们试图将一个 100000000001000000000010000000000 存到一个`int`类型的变量`d`中的时候,由于存储的位数不够,这个变量`d`就无法正确地存储这个数或将它用于计算了(如果数据比较大,其实可以学习用一下`long long int`的数据类型,具体做法可以自己在互联网上找一找喔)。