🚀 C++ 编程第三课:算术运算与浮点世界


📚 课程导航

  1. 🔢 算术运算符:加减乘除与求模运算
  1. 📊 数据类型:float与double的原理和应用
  1. 📢 下节预告: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类型和关系运算符

本节课我们学习了如何让程序进行数学计算,以及如何存储和处理小数。

下一节课,我们将学习:

  1. bool 类型:一种只有 true(真)和 false(假)两种值的类型,是进行逻辑判断的基础。
  1. 关系运算符:如 == (等于)、!= (不等于)、> (大于)、< (小于) 等,用于比较两个值的大小或相等性。

这些知识将让我们的程序能够进行逻辑判断,比如 "如果分数大于 60 分,则显示 ' 及格 '",这是编写复杂程序的关键一步!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐