C++零基础通关教程第三课 算术运算与浮点世界
🚀 C++ 编程第三课:算术运算与浮点世界
📚 课程导航
- 🔢 算术运算符:加减乘除与求模运算
- 📊 数据类型:float与double的原理和应用
- 📢 下节预告:bool类型和关系运算符
1. 🔢 算术运算符:让程序学会计算
计算机最强大的功能之一就是进行数学计算。C++ 提供了和我们数学课上一样的算术运算符。
(一)基础运算符:+, -, *, /
这些是最常用的运算符,分别对应加、减、乘、除。
|
运算符 |
名称 |
示例代码 |
结果 |
|
+ |
加法 |
5 + 3 |
8 |
|
- |
减法 |
10 - 4 |
6 |
|
* |
乘法 |
4 * 7 |
28 |
|
/ |
除法 |
15 / 2 |
??? |
编程案例:基础四则运算
#include <iostream>
using namespace std;
int main() {
int a = 15;
int b = 2;
int sum = a + b; // 加法
int difference = a - b; // 减法
int product = a * b; // 乘法
int quotient = a / b; // 除法
cout << "a = " << a << ", b = " << b << endl;
cout << "a + b = " << sum << endl;
cout << "a - b = " << difference << endl;
cout << "a * b = " << product << endl;
cout << "a / b = " << quotient << endl; // 猜猜结果是多少?
return 0;
}
运行结果:
a = 15, b = 2
a + b = 18
a - b = 13
a * b = 30
a / b = 7
💡 注意: 当使用 int(整数)类型进行除法时,结果会舍弃小数部分,而不是四舍五入。15 / 2 的结果是 7,而不是 7.5。
(二)特殊的运算符:% (求模 / 取余)
% 运算符计算的是除法运算后的余数。
|
运算符 |
名称 |
示例代码 |
计算过程 |
结果 |
|
% |
求模 / 取余 |
15 % 2 |
15 = 2 * 7 + 1 |
1 |
|
% |
求模 / 取余 |
10 % 3 |
10 = 3 * 3 + 1 |
1 |
|
% |
求模 / 取余 |
8 % 4 |
8 = 4 * 2 + 0 |
0 |
编程案例:求模运算的应用
求模运算非常有用,比如判断一个数是奇数还是偶数。
#include <iostream>
using namespace std;
int main() {
int number = 7;
// 如果一个数除以2的余数是0,它就是偶数;否则是奇数
if (number % 2 == 0) {
cout << number << " 是偶数。" << endl;
} else {
cout << number << " 是奇数。" << endl;
}
return 0;
}
运行结果:
7 是奇数。
2. 📊 数据类型:float与double的原理和应用
上一课我们学习了 int 类型,它用于存储整数。但如果我们需要处理带小数点的数字(比如身高 1.75 米,体重 62.5 公斤),int 就不够用了。这时我们需要 float 和 double。
(一)float 和 double 是什么?
float 和 double 都是用于存储浮点数(Floating-Point Number)的,也就是我们常说的小数。
- float:是 "floating point" 的缩写,意为单精度浮点数。
- double:是 "double precision" 的缩写,意为双精度浮点数。
(二)核心区别:精度和范围
它们的主要区别在于精度(能表示的小数位数)和存储范围(能表示的最大 / 最小数值)。
|
类型 |
中文名称 |
存储大小 (约) |
有效数字 (约) |
主要特点 |
|
float |
单精度浮点数 |
4 个字节 |
6 - 7 位 |
占用内存小,精度相对较低 |
|
double |
双精度浮点数 |
8 个字节 |
15 - 16 位 |
占用内存大,精度更高 |
💡 通俗理解:
float 就像一个普通的尺子,能精确到毫米;
double 就像一个高精度的卡尺,能精确到微米。
在大多数情况下,推荐使用 double,因为它的精度更高,能避免很多计算误差,而且在现代计算机上,double 的运算速度并不比 float 慢多少。
(三)编程案例:使用 double 进行精确计算
让我们重写之前的除法案例,这次使用 double 类型。
#include <iostream>
using namespace std;
int main() {
// 使用 double 类型来存储带小数的数字
double a = 15.0;
double b = 2.0;
// 现在进行除法
double precise_quotient = a / b;
cout << "a = " << a << ", b = " << b << endl;
cout << "a / b = " << precise_quotient << endl; // 这次结果会是多少?
// 再来看一个例子
double height = 1.75; // 身高1.75米
double weight = 62.5; // 体重62.5公斤
double bmi = weight / (height * height); // 计算BMI指数
cout << "\n身高: " << height << " m" << endl;
cout << "体重: " << weight << " kg" << endl;
cout << "BMI指数: " << bmi << endl;
return 0;
}
运行结果:
a = 15, b = 2
a / b = 7.5
身高: 1.75 m
体重: 62.5 kg
BMI指数: 20.4082
💡 注意: 为了确保运算结果是浮点数,我们把其中一个或两个操作数写成了小数形式(如 15.0 和 2.0),而不是整数 15 和 2。
3. 📢 下节预告:bool类型和关系运算符
本节课我们学习了如何让程序进行数学计算,以及如何存储和处理小数。
下一节课,我们将学习:
- bool 类型:一种只有 true(真)和 false(假)两种值的类型,是进行逻辑判断的基础。
- 关系运算符:如 == (等于)、!= (不等于)、> (大于)、< (小于) 等,用于比较两个值的大小或相等性。
这些知识将让我们的程序能够进行逻辑判断,比如 "如果分数大于 60 分,则显示 ' 及格 '",这是编写复杂程序的关键一步!

更多推荐



所有评论(0)