变量与数据类型
上次的分享中我们也使用到了变量但没有进行正式的介绍。今天我们来说一下变量。变量是编程中最基础的概念之一,理解变量的使用和数据类型的选择是编写高效程序的关键。我们将通过生动的比喻和实际的代码示例,帮助大家掌握这些知识点。
1. 变量的概念
变量类似于我们日常生活中的箱子。我们需要装入不同的物品,就会选择不同尺寸、不同规格的箱子。在 C++ 中,变量就是用来存储数据的“箱子”,而数据类型决定了这个“箱子”能装什么样的数据。
2. 整数类型的变量
2.1 普通整数类型 (int
)
代码示例:
int a; // 申请一个存放普通整数的箱子,名字为 a a = 5; // 把 5 放入箱子 a 中
知识点:
-
int
:表示普通整数类型,占用 4 个字节的内存空间。 -
取值范围:-2,147,483,648 到 2,147,483,647。
-
命名规则:变量名只能包含字母、数字和下划线,且不能以数字开头。
2.2 长整数类型 (long long
)
代码示例:
long long b; // 申请一个存放长整数的箱子,名字为 b b = 9223372036854775807; // 把一个大整数放入箱子 b 中
知识点:
-
long long
:表示长整数类型,占用 8 个字节的内存空间。 -
取值范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
-
适用场景:当需要存储非常大的整数时使用。
3. 浮点数类型的变量
3.1 短浮点数类型 (float
)
代码示例:
float c; // 申请一个存放短浮点数的箱子,名字为 c c = 3.14f; // 把 3.14 放入箱子 c 中
知识点:
-
float
:表示短浮点数类型,占用 4 个字节的内存空间。 -
取值范围:-3.4 × 10³⁸ 到 3.4 × 10³⁸。
-
精度:大约 6-7 位有效数字。
3.2 长浮点数类型 (double
)
代码示例:
double d; // 申请一个存放长浮点数的箱子,名字为 d d = 3.1415926535; // 把 π 的近似值放入箱子 d 中
知识点:
-
double
:表示长浮点数类型,占用 8 个字节的内存空间。 -
取值范围:-1.7 × 10³⁰⁸ 到 1.7 × 10³⁰⁸。
-
精度:大约 15 位有效数字。
-
适用场景:日常计算中,通常使用
double
来表示浮点数。
4. 变量的命名规则
在 C++ 中,变量的命名需要遵循以下规则:
-
只能包含字母、数字和下划线。
-
不能以数字开头。
-
区分大小写。
-
见名知意:变量名应尽量描述其用途。
示例:
int studentAge; // 合法 double averageScore; // 合法 float _temperature; // 合法 int 2ndPlace; // 非法:以数字开头
5. 变量的赋值
变量的赋值有两种方式:
-
先声明,后赋值:
int a; a = 10;
-
声明时直接赋值:
int b = 20;
知识点:
-
赋值运算符
=
:将右边的值赋给左边的变量。
6. 实际应用:计算圆形泳池的体积
题目描述:
编写一个程序,计算圆形泳池的体积,并保留小数点后两位。
代码实现:
#include <iostream> #include <iomanip> // 用于控制输出格式 using namespace std; int main() { cout << "请输入半径:" << endl; double r; cin >> r; cout << "请输入水深:" << endl; double s; cin >> s; double volume = 3.14 * r * r * s; cout << fixed << setprecision(2) << volume << endl; // 保留两位小数 return 0; }
知识点:
-
浮点数计算:使用
double
类型存储半径和水深。 -
输出格式控制:使用
fixed
和setprecision(2)
保留两位小数。
7. 实际应用:计算平均分数
题目描述:
编写一个程序,计算五个分数的平均值。
代码实现:
#include <iostream> using namespace std; int main() { double a, b, c, d, e; cin >> a >> b >> c >> d >> e; double aveScore = (a + b + c + d + e) / 5; cout << aveScore << endl; return 0; }
知识点:
-
多变量输入:可以在一行中连续输入多个变量。
-
算术运算:使用
+
和/
进行加法和除法运算。
8. 实际应用:计算最终成绩
题目描述:
编写一个程序,根据作业、小测验和期末成绩计算最终成绩。
代码实现:
#include <iostream> using namespace std; int main() { double homework, quiz, finalExam, totalScore; cout << "请输入作业成绩:" ; cin >> homework; cout << "请输入小测验成绩:" ; cin >> quiz; cout << "请输入期末成绩:" ; cin >> finalExam; totalScore = homework * 0.2 + quiz * 0.3 + finalExam * 0.5; cout << "最终成绩为:" << totalScore << endl; return 0; }