在 C 语言中计算绝对值表达式

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何在 C 编程中计算绝对值表达式。本实验涵盖以下步骤:读取整数或浮点数,使用 abs()fabs() 函数计算绝对值,并输出结果。你将获得变量声明、输入/输出操作以及使用 C 语言内置数学函数的实践经验。

本实验提供了详细的分步指南,以帮助你理解计算绝对值表达式的过程,这是代数表达式中的一个基本概念。在实验结束时,你将能够编写处理整数和浮点数绝对值计算的 C 程序。

读取整数或浮点数

在这一步中,你将学习如何在 C 编程中读取整数和浮点数。我们将演示输入数值的不同方法,并了解变量声明和输入的基础知识。

声明用于数值输入的变量

首先,让我们创建一个 C 程序来读取整数和浮点数。在 ~/project 目录中打开一个名为 numeric_input.c 的新文件:

nano ~/project/numeric_input.c

现在,输入以下代码:

#include <stdio.h>

int main() {
    int integerValue;
    float floatValue;

    // 读取一个整数
    printf("输入一个整数:");
    scanf("%d", &integerValue);

    // 读取一个浮点数
    printf("输入一个浮点数:");
    scanf("%f", &floatValue);

    // 显示输入的值
    printf("整数值:%d\n", integerValue);
    printf("浮点数值:%f\n", floatValue);

    return 0;
}

让我们来分析一下这段代码:

  • int integerValue; 声明一个整数变量
  • float floatValue; 声明一个浮点数变量
  • scanf("%d", &integerValue); 读取一个整数输入
  • scanf("%f", &floatValue); 读取一个浮点数输入
  • %d 用于整数格式说明符
  • %f 用于浮点数格式说明符

编译并运行程序

使用 gcc 编译程序:

gcc ~/project/numeric_input.c -o ~/project/numeric_input

运行程序:

~/project/numeric_input

示例输出:

输入一个整数:42
输入一个浮点数:3.14
整数值:42
浮点数值:3.140000

使用 abs() 或 fabs() 计算绝对值

在这一步中,你将学习如何在 C 语言中使用内置函数 abs() 计算整数的绝对值,以及使用 fabs() 计算浮点数的绝对值。

理解绝对值函数

首先,在 ~/project 目录中创建一个名为 absolute_value.c 的新文件:

nano ~/project/absolute_value.c

输入以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    // 整数的绝对值
    int intNumber = -42;
    int intAbsolute = abs(intNumber);

    // 浮点数的绝对值
    float floatNumber = -3.14;
    float floatAbsolute = fabs(floatNumber);

    // 显示绝对值
    printf("整数:%d, 绝对值:%d\n", intNumber, intAbsolute);
    printf("浮点数:%f, 绝对值:%f\n", floatNumber, floatAbsolute);

    return 0;
}

让我们来分析一下这段代码:

  • abs() 用于计算整数的绝对值(来自 <stdlib.h>
  • fabs() 用于计算浮点数的绝对值(来自 <math.h>
  • 这两个函数都返回一个数的非负大小

编译并运行程序

使用数学库编译程序:

gcc ~/project/absolute_value.c -o ~/project/absolute_value -lm

运行程序:

~/project/absolute_value

示例输出:

整数: -42, 绝对值: 42
浮点数: -3.140000, 绝对值: 3.140000

处理不同数字类型

注意用于整数和浮点数绝对值的不同头文件和函数:

  • 对于整数:#include <stdlib.h>abs()
  • 对于浮点数:#include <math.h>fabs()

输出结果

在这一步中,你将学习如何在 C 语言中使用不同的格式化选项来格式化和输出绝对值结果。

创建一个完整的绝对值程序

~/project 目录中创建一个名为 absolute_value_print.c 的新文件:

nano ~/project/absolute_value_print.c

输入以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    // 输入变量
    int intNumber;
    float floatNumber;

    // 提示输入
    printf("输入一个整数:");
    scanf("%d", &intNumber);

    printf("输入一个浮点数:");
    scanf("%f", &floatNumber);

    // 计算绝对值
    int intAbsolute = abs(intNumber);
    float floatAbsolute = fabs(floatNumber);

    // 使用不同格式输出结果
    printf("原始整数:%d\n", intNumber);
    printf("绝对值整数:%d\n", intAbsolute);

    printf("\n原始浮点数:%.2f\n", floatNumber);
    printf("绝对值浮点数:%.2f\n", floatAbsolute);

    // 科学记数法
    printf("\n绝对值浮点数(科学记数法):%e\n", floatAbsolute);

    return 0;
}

编译并运行程序

使用数学库编译程序:

gcc ~/project/absolute_value_print.c -o ~/project/absolute_value_print -lm

运行程序:

~/project/absolute_value_print

示例输出:

输入一个整数:-42
输入一个浮点数:-3.14
原始整数:-42
绝对值整数:42

原始浮点数:-3.14
绝对值浮点数:3.14

绝对值浮点数(科学记数法):3.140000e+00

理解输出格式化

展示的关键格式化选项:

  • %d 用于整数
  • %f 用于浮点数
  • %.2f 用于保留两位小数
  • %e 用于科学记数法

总结

在本实验中,你将学习如何在 C 编程中读取整数和浮点数,以及如何使用内置函数 abs()fabs() 计算这些数字的绝对值。首先,你将声明用于整数和浮点数输入的变量,并使用 scanf() 函数读取值。然后,你将使用 abs() 函数处理整数,使用 fabs() 函数处理浮点数来计算绝对值,并输出结果。