C 语言算术运算符

2025 年 9 月 5 日 | 阅读 11 分钟

在 C 编程语言中,运算符是特殊的符号,主要用于对给定的操作数执行各种数学和逻辑运算以返回相应的结果。C 编程语言中有多种运算符,例如算术运算符、关系运算符、移位运算符、逻辑运算符按位运算符三元或条件运算符和赋值运算符。在这里,我们将只了解 C 语言中的算术运算符。

Arithmetic Operator in C

在 C 编程中,算术运算符被认为是基本运算符,用于对变量和常量执行其他基本数学运算(包括加法、减法、乘法、除法、取模等)。它们可以被认为是大多数编程的支柱,因为总会涉及算术计算,无论是简单的还是复杂的。

算术运算符的类型

C 编程中的算术运算符主要有两种类型。它们如下

Arithmetic Operator in C

在这里,我们将逐一讨论这些运算符。

二元算术运算符

在 C 编程中,二元算术运算符是需要两个操作数来执行基本数学运算的运算符。它们用于在两个值或给定的变量之间执行加法 (+)、减法 (-)、乘法 (*)、除法 (/) 和取模 (%)。

1) 加法 (+) 运算符

加法 (+) 运算符是一个简单的运算符,用于将两个给定的操作数相加。我们可以将此运算符与不同的数据类型一起使用,例如整数、浮点数、长整型、双精度浮点数、枚举类型和字符串类型数据来添加给定的操作数。

例如,有两个操作数 8 和 15,我们想得到这两个数字的和。因此,我们在给定的数字之间使用 '+' 运算符,它返回整数数据 23。

使用加法 (+) 运算符的 C 示例

让我们举一个例子来说明 C 中的加法运算符。

示例

编译并运行

输出

Enter two integer numbers: 25
35
Enter two float numbers:
79.21
67.79
Enter two double data type numbers:
234.123
345.341
The sum of two integer numbers: 60
The sum of two float numbers: 147.000000
The sum of two double numbers: 579.464000

说明

在此示例中,我们演示了 C 中二元算术加法运算符 (+) 在不同数据类型上的应用。我们输入了两个整数、两个浮点数和两个双精度浮点数,使用 + 运算符将它们相加,然后显示它们各自的和。

2) 减法 (-) 运算符

减法运算符用减号 (-) 符号表示。它用于返回第二个数字减去第一个数字的结果。给定数字的数据类型可以是不同类型,例如 C 语言中的 int、float、double、long double 等。

例如,有两个操作数 10 和 2,我们想要它们的减法结果。所以,我们在给定的数字之间使用 '-' 运算符来返回数据 8。

使用减法 (-) 运算符的 C 示例

让我们举一个例子来说明 C 中的减法运算符。

示例

编译并运行

输出

Enter two integer numbers: 56
11
Enter two float numbers:
78.98
56.45
Enter two double data type numbers:
47789.7149
1234.7987
The subtraction of two integer numbers: 45
The subtraction of two float numbers: 22.530003
The subtraction of two double numbers: 46554.916200

说明

在此示例中,我们演示了 C 中二元算术减法运算符 (-) 在不同数据类型上的应用。我们输入了两个整数、两个浮点数和两个双精度浮点数,使用 (-) 运算符将它们相减,然后显示它们各自的和。

3) 乘法 (*) 运算符

乘法运算符表示为星号 (*) 符号,用于返回 n1 和 n2 两个数字的乘积。给定数字的数据类型可以是不同类型,例如 int、float 和 double。

例如,有两个操作数 10 和 5,我们想得到它们的乘积。所以,我们可以在给定的数字之间使用 '*' 运算符,它返回整数数据 50。

使用乘法 (*) 运算符的 C 示例

让我们举一个例子来说明 C 中的乘法 (*) 运算符。

示例

编译并运行

输出

Enter two integer numbers: 15
12
Enter two float numbers:
2.5
3.5
Enter two double data type numbers:
234.324
798.124
The multiplication of two integer numbers: 180
The multiplication of two float numbers: 8.750000
The multiplication of two double numbers: 187019.608176

说明

在此示例中,我们演示了 C 中二元算术乘法运算符 (*) 在不同数据类型上的应用。我们输入了两个整数、两个浮点数和两个双精度浮点数,使用 (*) 运算符将它们相乘,然后显示它们各自的和。

4) 除法 (/) 运算符

除法运算符是将一个操作数除以另一个操作数的算术运算符。使用除法运算符 (/),我们可以对 int、float、double 和 long 数据类型变量进行除法运算,结果取决于所使用的操作数的类型。如果我们使用整数数据类型,它将返回不带余数的商;而对于浮点数和双精度类型,它将返回精确的小数结果。

例如,有两个操作数 25.5 和 5.0,我们想得到它们的除法结果。所以,我们在给定的数字之间使用 '/' 运算符,它返回浮点数数据 5.1。

使用除法 (/) 运算符的 C 示例

让我们举一个例子来说明 C 中的除法 (/) 运算符。

示例

编译并运行

输出

Enter two integer numbers: 125
15
Enter two float numbers:
214.32
248.56
Enter two double data type numbers:
4243.7691
687.434
The division of two integer numbers: 8
The division of two float numbers: 0.862247
The division of two double numbers: 6.173348

说明

在此示例中,我们演示了 C 中除法 (/) 运算符在不同数据类型上的应用。在这里,我们分别输入两个整数、浮点数和双精度浮点数,用第一个数除以第二个数,并显示结果。如果我们使用整数值,结果将是不带余数的商;而对于浮点数和双精度值,它将显示精确的小数结果。

5) 取模 (%) 运算符

取模运算符由百分号 (%) 表示,用于返回第一个数字除以第二个数字的余数。在 C 编程中,它与整数一起使用,而不是与浮点数或双精度浮点数一起使用。

例如,有两个操作数 25 和 4,我们想得到它们的取模结果。所以,我们在给定的数字之间使用 '%' 运算符来返回余数 1。

使用取模 (%) 运算符的 C 示例

让我们举一个例子来说明 C 中的取模 (%) 运算符。

示例

编译并运行

输出

Enter two integer numbers: 35
3
The modulus of two integer numbers: 2

说明

在此示例中,我们输入了两个整数。之后,我们计算第一个操作数除以第二个操作数的余数,并显示结果。

一元算术运算符

在 C 编程中,一元运算符是作用于单个操作数的运算符。一元算术运算符主要有两种类型。它们如下

1) 自增 (++) 运算符

在 C 编程中,自增运算符是一种算术运算符,由双加号 (++) 表示。它用于将整数值增加 1。

语法

它具有以下语法:

例如,假设 A 的整数值为 10,自增运算符会将操作数的值增加 1,返回 11。

使用自增 (++) 运算符的 C 示例

让我们举一个例子来说明 C 中的自增 (++) 运算符。

示例

编译并运行

输出

Pre-increment: 6
Post-increment: 5
After Post-increment: 6

说明

在此示例中,我们演示了前缀自增和后缀自增运算符。在前缀自增 (++a) 中,先增加 a 的值,然后打印。在后缀自增 (a++) 中,先打印当前值,然后自增生效。

2) 自减运算符

自减运算符由双减号 (--) 符号表示,它将操作数的值减去 1。

语法

它具有以下语法:

例如,假设 A 的整数值为 10,自减运算符会将操作数的值减去 1,返回 9。

使用自减 (--) 运算符的 C 示例

让我们举一个例子来说明 C 中的自减 (--) 运算符。

示例

编译并运行

输出

Pre-decrement: 9
Post-decrement: 10
After Post-decrement: 9

说明

在此示例中,我们演示了前缀自减和后缀自减运算符。如果我们执行前缀自减操作,则先减去 b 的值,然后显示结果。如果我们执行后缀自减操作,则先显示当前值,然后自减生效。

使用多个算术运算符的 C 示例

让我们举一个例子来演示 C 编程中的多个算术运算符。

示例

编译并运行

输出

Dimensions: length = 15, width = 10, height = 8
Volume = 1200
Perimeter = 50
Surface Area = 700
Average Dimension = 11
Complex Calculation = -13

说明

在此示例中,我们演示了在单个程序中使用多个算术运算符。在这里,我们使用各种运算来计算长方体的体积、周长和表面积。之后,我们使用除法运算符计算尺寸的平均值,并执行一个复杂的计算,该计算结合了除法、取模、减法和乘法运算符。

结论

总而言之,算术运算符是 C 编程中必不可少的工具。它们使我们能够执行多种数学运算(加法、减法、乘法、除法等等)。这些运算符主要用于多个领域,包括数学计算、问题解决和实际应用。通过理解这些运算符,我们可以创建有效的逻辑和数值程序。

算术运算符常见问题解答

1) 运算符优先级如何影响 C 中的算术表达式?

在 C 编程中,运算符优先级决定了复杂表达式中算术表达式的执行顺序。例如,乘法和除法比加法和减法具有更高的优先级。如果没有括号,优先级可能会导致不期望的行为。

2) C 中的整数除法和浮点除法有什么区别?

使用整数除法时,会丢弃剩余的小数部分,只保留整数商。在浮点除法中,小数不会被舍入,从而得到更准确的结果。根据操作数的类型,它将决定发生的除法类型。

3) C 中取模运算符 (%) 与负数的行为是什么?

在 C 中,被除数(分子)的符号成为取模结果的符号。例如,-10 % 3 = -1,而 10 % -3 = 1。它在某些语言中略有不同,但在 C 中是相同的。

4) 是否可以将算术运算符与赋值运算符组合在 C 中?

是的,+=、-=、*=、/= 和 %= 等运算符在一次操作中同时执行算术运算和赋值。因此,x +=5 与 x =x+5 的含义相同。缩写形式提高了代码的可读性和性能。

5) C 语言中使用 %d 有什么作用?

在 C 编程中,%d 用于表示有符号十进制整数。