📦 基本数据类型
数据有很多种样子,要用不同的「盒子(类型)」来装。认识一级要掌握的四种基本类型。
考纲知识点:整数型:int,long long
实数型:float,double
字符型:char
布尔型:bool
实数型:float,double
字符型:char
布尔型:bool
📖
考纲 · 知识点详述
摘自《CCF编程能力等级认证 C++&Python 认证标准》C++ 一级
- (9)掌握基础的数据类型的定义和使用(整型、实数型、字符型、布尔型)。
📚
先学一学
花 5 分钟读完下面 5 课,再去闯关就不慌啦
1
📦 为什么要有「类型」?
收拾房间时,铅笔要进笔筒、水要装进杯子、衣服要叠进柜子——不同的东西用不同的盒子装。程序里的数据也一样,每种数据都要先说清楚它是什么类型。
告诉电脑一个数据的类型,其实是在回答三个问题:
- 📏装得下什么:是整数、小数、字符,还是真 / 假?
- 🧠占多少内存:大盒子费地方,小盒子省空间。
- 🛠️能做什么运算:整数能求余,小数不行;字符能拼,数字不好拼。
🗂️ 一级要掌握的四种基本类型
· 整数型:int、long long
· 实数型(小数):float、double
· 字符型:char
· 布尔型:bool
· 实数型(小数):float、double
· 字符型:char
· 布尔型:bool
💡 口诀:选类型就像选盒子——先看要装什么,再看装多大。
2
🔢 整数型:int 和 long long
装不带小数点的数,就用整数型。
📗 int:最常用的小盒子
大约能装 −21 亿 ~ +21 亿(准确说是 −2147483648 ~ 2147483647)。平时数人数、算分数够用了。行业里常说:int 占 4 个字节。
📘 long long:超大号盒子
能装到大约 ±922 亿亿(19 位数),占 8 个字节,是 int 的两倍。遇到「100 亿」这种 int 装不下的大数,一定要用 long long。
💥 溢出:装不下就「转圈」了
每个盒子都有极限。超过极限就叫「溢出」,数字会像钟表一样转回去,甚至从很大的正数突然变成负数,程序却一点错都不报。所以做大数运算,第一步就是把 int 换成 long long。
🔤 整数字面量的类型
直接写出来的整数常量,比如 10,默认就是 int 类型。想让它变成 long long,可以在后面加 LL(如 10000000000LL)。
💡 口诀:超过 21 亿,long long 安排上;int 4 字节,long long 8 字节。
3
🌊 实数型:float 和 double
装带小数点的数(身高、价格、圆周率),要用实数型。
🥤 float:单精度,小杯子
占 4 个字节,大约能保住 7 位有效数字。写 float a = 3.5f; 时,数字后面常加个 f。
🍺 double:双精度,大杯子(更常用)
占 8 个字节,能保住约 15 ~ 16 位有效数字,精度更高。程序员默认就用 double。
⭐ 超常考:7.0 是什么类型?
是 double,不是 float!规则很简单:带小数点的实数常量,默认是 double。所以 7.0、3.14 都是 double;而 7 这种不带小数点的才是 int。
🔬 小误差从哪来?
小数在计算机里只能用「有限位」去凑,所以 0.1 + 0.2 可能得到 0.30000000000000004 这种怪值。判断两个小数是否相等时,不要直接用 ==,而是看它们的差是不是很小。
📝 真题小练:float a = 3 + 3.5; cout << a; → 3 是 int、3.5 是 double,混在一起会「升级」成小数,结果是 6.5,输出 6.5。
💡 口诀:带小数点的常量默认 double;小数有微小误差,别直接比相等。
4
🔤 字符型:char 装一个字符
装一个字母、数字或符号,用 char。写的时候要加单引号:'A'、'好'。
🔑 秘密:字符其实存的是编号(ASCII 码)
电脑只认识数字。所以每个字符都被编了号,这套编号表叫 ASCII 码:'A' 的编号是 65,'a' 是 97,'0' 是 48。这就是为什么 char 也能当小整数参与运算。
⭐ 超常考:'3' 是什么类型?
是 char(字符型),不是 int!'3' 是「数字 3 这个字符」,就像 'A' 是字母一样;而数学上的 3 要写成 3。加不加单引号,决定了它是不是字符。
⚠️ char 的三条规矩
1️⃣ 只能用单引号,双引号 "A" 是字符串(一整串字符),塞不进 char。
2️⃣ 只能装一个字符,'ABC' 是不合法的。
3️⃣ 正确写法是 char c = 'A';。
2️⃣ 只能装一个字符,'ABC' 是不合法的。
3️⃣ 正确写法是 char c = 'A';。
💡 口诀:char 用单引号、只装一个;'3' 是字符不是数字。
5
✅ 布尔型:只有「真」和「假」
有些问题的答案只有两种:「作业写完了吗?」——写完了 / 没写完。装这种「是或否」的数据,用 bool(布尔型)。它只有两个值:true(真)和 false(假)。
🔢 真和假其实就是 1 和 0
在 C++ 里,true 本质是 1,false 本质是 0。所以 cout << true; 输出 1,cout << false; 输出 0。
🔁 非零即真
反过来也成立:把数字当条件时,0 算「假」,不是 0 的数全都算「真」。这一条叫「非零即真」,是 C++ 判断条件的通用规则。所以 if (5)、if (-1) 里的代码都会执行,只有 if (0) 才不执行。
🎯 bool 从哪来?
所有比较和逻辑运算的结果都是 bool:6 > 2 → true;3 == 4 → false。它主要用来给 if 和循环当「开关」。
💡 口诀:bool 只有 true / false 两个值,本质是 1 / 0,非零即真。
🎯
闯关小锦囊 · 考点提醒
- 四类取值范围:int 约 ±21 亿(4 字节)、long long 约 ±922 亿亿(8 字节)、float 约 7 位有效数字(4 字节)、double 约 15~16 位有效数字(8 字节)。
- 装不下就用 long long:int 溢出会「转圈」变成负数还不报错;100 亿这种大数必须用 long long。
- 7.0、3.14 是 double,不是 float;不带小数点的 10 是 int。小数有微小误差,别直接用 == 比较。
- '3' 是 char(字符),不是数字 3;char 只用单引号、只能装一个字符,双引号 "A" 是字符串。
- bool 只有 true 和 false 两个值,本质是 1 和 0;C++ 里「非零即真」。
- 选类型三问:装得下什么、占多少内存、能做什么运算。% 只能用于整数,小数和 bool 都不能求余。
🎮
学完了?来闯关!
下面 13 个小挑战,点一点就能玩
Demo 原型 · 每个知识点独立页面 · 暂不含真实编译与进度存储。