在 C 语言中使用取模运算符

CBeginner
立即练习

简介

在本实验中,你将学习如何在 C 编程中使用取模运算符来计算除法运算的余数。本实验涵盖以下步骤:

声明整数变量并从用户那里输入值,然后使用取模运算符计算余数并打印结果。这个实践练习将帮助你理解 C 中的基本算术运算以及如何有效地应用取模运算符。

声明整数变量并输入值

在这一步中,你将学习如何在 C 程序中声明整数变量并输入值,以便进行取模运算。我们将创建一个简单的程序来演示基本的变量声明和用户输入。

首先,让我们在项目目录中创建一个新的 C 文件:

cd ~/project
nano modulus_example.c

现在,输入以下 C 代码:

#include <stdio.h>

int main() {
    // 声明整数变量
    int dividend, divisor;

    // 提示用户输入
    printf("Enter the dividend (number to be divided): ");
    scanf("%d", &dividend);

    printf("Enter the divisor (number to divide by): ");
    scanf("%d", &divisor);

    // 打印输入的值
    printf("Dividend: %d\n", dividend);
    printf("Divisor: %d\n", divisor);

    return 0;
}

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

  • int dividend, divisor; 声明了两个整数变量来存储数字
  • printf() 用于提示用户输入
  • scanf() 从用户读取整数输入
  • %d 是整数的格式说明符
  • &dividend&divisor 传递内存地址以存储输入值

编译程序:

gcc modulus_example.c -o modulus_example

运行程序时的示例输出:

Enter the dividend (number to be divided): 17
Enter the divisor (number to divide by): 5
Dividend: 17
Divisor: 5

使用取模运算计算余数

在这一步中,你将学习如何使用取模运算符(%)在 C 语言中计算除法运算的余数。我们将修改之前的程序来计算并显示余数。

打开现有文件并更新代码:

cd ~/project
nano modulus_example.c

将之前的代码替换为以下内容:

#include <stdio.h>

int main() {
    // 声明整数变量
    int dividend, divisor, remainder;

    // 提示用户输入
    printf("Enter the dividend (number to be divided): ");
    scanf("%d", &dividend);

    printf("Enter the divisor (number to divide by): ");
    scanf("%d", &divisor);

    // 使用取模运算符计算余数
    remainder = dividend % divisor;

    // 打印输入值和余数
    printf("Dividend: %d\n", dividend);
    printf("Divisor: %d\n", divisor);
    printf("Remainder: %d\n", remainder);

    return 0;
}

此版本中的关键更改:

  • 添加了一个新的remainder变量来存储结果
  • 使用取模运算符%计算余数
  • 添加了一条打印语句来显示余数

编译更新后的程序:

gcc modulus_example.c -o modulus_example

运行程序时的示例输出:

Enter the dividend (number to be divided): 17
Enter the divisor (number to divide by): 5
Dividend: 17
Divisor: 5
Remainder: 2

在这个例子中,17 除以 5 得 3 余 2。取模运算符%恰好返回这个余数。

打印结果

在这一步中,你将学习如何以更有意义的方式格式化和打印取模运算的结果。我们将改进之前的程序,以清晰地解释计算过程。

打开现有文件并更新代码:

cd ~/project
nano modulus_example.c

将之前的代码替换为以下内容:

#include <stdio.h>

int main() {
    // 声明整数变量
    int dividend, divisor, remainder, quotient;

    // 提示用户输入
    printf("Enter the dividend (number to be divided): ");
    scanf("%d", &dividend);

    printf("Enter the divisor (number to divide by): ");
    scanf("%d", &divisor);

    // 计算商和余数
    quotient = dividend / divisor;
    remainder = dividend % divisor;

    // 打印除法的详细解释
    printf("\n除法计算:\n");
    printf("%d ÷ %d = %d 余 %d\n",
           dividend, divisor, quotient, remainder);

    // 验证等式
    printf("\n验证:\n");
    printf("%d = %d × %d + %d\n",
           dividend, divisor, quotient, remainder);

    return 0;
}

编译更新后的程序:

gcc modulus_example.c -o modulus_example

运行程序时的示例输出:

Enter the dividend (number to be divided): 17
Enter the divisor (number to divide by): 5

除法计算:
17 ÷ 5 = 3 余 2

验证:
17 = 5 × 3 + 2

此版本中的关键更改:

  • 使用整数除法添加了的计算
  • 包含了更详细的输出,展示除法过程
  • 添加了一条验证行,以证明数学关系

总结

在本实验中,你学习了如何在 C 程序中声明整数变量并输入值以执行取模运算。你创建了一个简单的程序,提示用户输入被除数和除数,然后使用取模运算符计算除法运算的余数。该程序随后显示输入值和计算出的余数。

此外,你还学习了如何编译和运行 C 程序,并观察程序的输出。本实验提供了对取模运算符及其在 C 编程中的实际应用的实践介绍。