第二章——C程序设计的初步知识 第五节——常见算术运算符的使用

第二章——C程序设计的初步知识 第五节——常见算术运算符的使用

亓翎_Re-Tikara Lv5

常见算术运算符

在C语言中,我们常见的算术运算符及其作用如下表所示:

算术运算符一览

运算符 名称 示例 说明
+ 加法 a + b 计算两个数的和
- 减法 a - b 计算两个数的差
* 乘法 a * b 计算两个数的积
/ 除法 a / b 计算两个数的商(整数除法会舍去小数部分)
% 取模 a % b 返回两个数相除的余数(仅适用于整数)
++ 自增 a++++a 将变量的值增加1
-- 自减 a----a 将变量的值减少1

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>

int main() {
int a = 10, b = 3;

printf("加法: %d + %d = %d\n", a, b, a + b);
printf("减法: %d - %d = %d\n", a, b, a - b);
printf("乘法: %d * %d = %d\n", a, b, a * b);
printf("除法: %d / %d = %d\n", a, b, a / b); // 整数除法
printf("取模: %d %% %d = %d\n", a, b, a % b);

float c = 10.0f, d = 3.0f;
printf("浮点除法: %.1f / %.1f = %.2f\n", c, d, c / d);

int e = 5;
printf("自增前: %d\n", e);
printf("自增后: %d\n", e++);
printf("再次查看: %d\n", e);

return 0;
}

注意事项

  • 整数除法:当两个整数相除时,结果会被截断为整数部分(例如 10 / 3 的结果是 3)。
  • 浮点数除法:如果希望得到精确的小数结果,至少有一个操作数应为浮点类型。
  • 取模运算符 %:只能用于整数类型的操作数。
  • 自增/自减运算符++a 是先自增再使用,a++ 是先使用再自增。

常见运算符

  在C语言中,我们常见的有以下这几类算术运算符,在其中分别起着不同的作用。


类型 算术符
算术运算符 + - * / % ++ --
关系运算符 < <= == > >= !=
逻辑运算符 ! && ||
位运算符 << >> ~ | ^ &
赋值运算符 = 及其扩展
条件运算符 ?:
逗号运算符 ,
指针运算符 * &
求字节数 sizeof
强制类型转换 (类型)
分量运算符 . ->
下标运算符 []
其它 () -

注意事项

  在学习运算符时应注意:

  • 运算符的功能
  • 与运算量的关系
    • 要求运算量个数
    • 要求运算量类型
  • 运算符的优先级别
  • 结合方向
  • 结果的类型

  接下来基础讲解一下。

知识点

1. 基本的算术运算符有:

  • + : 加法
  • - : 减法或取负
  • * : 乘法
  • / : 除法
  • % : 取余

2. 关于除法运算 /

  C语言规定:两个整数相除,其商为整数,小数部分舍弃。也就是说,若除数和被除数均为整数,那么只保留商的整数部分,如下:

1
2
3
4
5
6
7
8
9
# include <stdio.h>

int a = 10,b = 3;
int c = a / b;

printf("%d", c);

return 0;

  上面这段示例代码中,a / b 的结果为 3,而不是 3.333333…。因为a与b均是整数,所以商为整数,但是当把a或者b定义为浮点数时,结果就不同了。

1
2
3
4
5
6
7
8
9
10
11
12
13
# include <stdio.h>

int main()
{
float a = 10.0;
int b = 3;
float c = a / b;

printf("%f", c);

return 0;
}

  这时,输出的结果便是3.333333,因为我们有一个我们有一个浮点数,所以结果也是浮点数。

3. 关于求余数运算%

  取余运算在C语言中,要求%两边的数据类型均是整型数据。如下所示:

  • 5 % 2 = 1 (√)
  • -5 % 2 = -1 (√)
  • 1 % 10 = 1 (√)
  • 5 % 1 = 0 (√)
  • 5.5 % 2 (×)

4. 关于两边运算数类型不一致

  系统将自动进行按照优先级转换,使两边一致后运算。详细请参照上一节。

5. 运算精度

  所有的实型数的运算均是以双精度方式进行,若是单精度,则在末尾处添0,转换为双精度。

6. 算数表达式的概念

(1)表达式的概念

  用运算符和括号将运算对象(常量、变量和函数等)连接起来的、符合C语言语法规则的式子,称为表达式。

(2)算术表达式的概念

  算术表达式是表达式的一种,它将运算对象(常量、变量和函数等)连接起来,并使用运算符进行运算,得到一个结果。

  例如:

1
2
a = 3 + 6 * 9
b = (x + y) / 2 - 1;

7. 强制类型转换表达式

  在C语言中,我们可以使用强制类型转换表达式将一个数据类型转换为另一个数据类型。转换格式为:

1
2
3
4
5
6
7
8
9
10
(类型名)(表达式)

(double) (a) //等价于(double) a

(int) (x+y)

(float) a + b //需要注意这个,只会强制转换前面的a,相当于(float) (a) + b

(float)(a + b) //这个才是整体转换a+b的值为float

  注意:强制转换类型得到的是一个所需类型的中间量,原表达式类型并不发生变化。例如,(double)a 只是将变量a的值转换成一个double型的中间量,其数据类型并未转换成double型。

  • 标题: 第二章——C程序设计的初步知识 第五节——常见算术运算符的使用
  • 作者: 亓翎_Re-Tikara
  • 创建于 : 2026-02-07 02:21:28
  • 更新于 : 2026-02-10 02:48:46
  • 链接: https://re-tikara.fun/Blog/posts/64c569a5/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。