2025-03-13 学习记录--C/C++-PTA 练习2-6 计算物体自由下落的距离 + 整数除法 和 浮点数除法 的区别

发布于:2025-03-18 ⋅ 阅读:(41) ⋅ 点赞:(0)

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

练习2-6 计算物体自由下落的距离

一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒^2。

输入格式:
本题目没有输入。

输出格式:
按照下列格式输出

height = 垂直距离值

结果保留2位小数。

二、解题思路 ⭐️

在这里插入图片描述

三、代码(C语言)⭐️

#include <stdio.h>

int main() {
    int a = 10,
        t = 3;
    double height;

    // 使用浮点数除法
    height = 1.0 / 2.0 * a * t * t; // 或者 height = 0.5 * a * t * t;
    printf("height = %.2f", height);

    return 0;
}

四、知识点 ⭐️

(一)、整数除法 和 浮点数除法 的区别 🍭

1、整数除法 🎀
  • 操作数类型 🍓:两个操作数都是整数(如 int)。

  • 结果类型 🫐:结果也是整数。

  • 计算规则 🍇:

    • 如果除法的结果有小数部分,小数部分会被直接丢弃(截断),只保留整数部分

    • 例如 🌰:5 / 2 的结果是 2,而不是 2.5。

在这里插入图片描述

int a = 5;
int b = 2;
int result = a / b; // result = 2
2、浮点数除法 🎀
  • 操作数类型 🍓:至少有一个操作数是浮点数(如 floatdouble)。

  • 结果类型 🫐:结果是浮点数。

  • 计算规则 🍇:

    • 如果除法的结果有小数部分,小数部分会被保留

    • 例如 🌰:5.0 / 2 的结果是 2.5。

在这里插入图片描述

double a = 5.0;
int b = 2;
double result = a / b; // result = 2.5
3、关键区别 🎀
特性 整数除法 浮点数除法
操作数类型 两个整数 至少一个浮点数
结果类型 整数 浮点数
小数部分 丢弃(截断) 保留
示例 5 / 2 结果是 2 5.0 / 2 结果是 2.5
4、C 语言中的注意事项 🎀
  • 隐式类型转换
    • 如果表达式中同时包含整数和浮点数,C 语言会将整数隐式转换为浮点数,然后进行浮点数除法。
    • 例如 🌰:5 / 2.0 会被转换为 5.0 / 2.0,结果是 2.5
  • 显式类型转换
    • 可以通过强制类型转换将整数转换为浮点数,从而进行浮点数除法。
    • 例如 🌰:(double)5 / 2 的结果是 2.5
5、代码示例 🎀
#include <stdio.h>

int main() {
    // 整数除法
    int a = 5;
    int b = 2;
    int int_result = a / b; // 结果是 2
    printf("Integer division: %d\n", int_result);

    // 浮点数除法
    double c = 5.0;
    double d = 2.0;
    double float_result = c / d; // 结果是 2.5
    printf("Floating-point division: %.2f\n", float_result);

    // 混合类型除法(隐式转换)
    double mixed_result = a / d; // 5 / 2.0 = 2.5
    printf("Mixed division: %.2f\n", mixed_result);

    // 显式类型转换
    double explicit_result = (double)a / b; // 5.0 / 2 = 2.5
    printf("Explicit conversion division: %.2f\n", explicit_result);

    return 0;
}

输出结果: 👇🏻

Integer division: 2
Floating-point division: 2.50
Mixed division: 2.50
Explicit conversion division: 2.50
6、总结 🎀
  • 整数除法:丢弃小数部分,结果只保留整数。

  • 浮点数除法:保留小数部分,结果是浮点数。

  • C 语言中,如果希望得到精确的浮点数结果,需要确保至少有一个操作数是浮点数,或者使用显式类型转换

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到