C 教程

C 教程 C 语言简介 C 下载安装和环境配置 C 快速入门 C 语法 C 输出 C 注释 C 变量 C 数据类型 C 常量 C 运算符 C 布尔值 C If...Else 语句 C Switch 语句 C While 循环 C For 循环 C Break/Continue 语句 C 数组 C 字符串 C 用户输入 C 内存地址 C 指针

C 函数

C 函数 C 函数参数 C 作用域 C 函数声明 C 递归 C 数学函数

C 文件

C 创建文件 C 写入文件 C 读取文件

C 结构体

C 结构体 C 嵌套结构体 C 结构体和指针 C 联合体 C typedef

C 枚举

C 枚举

C 内存

C 内存管理

C 错误

C 错误 C 调试 C 空值 C 错误处理 C 输入验证

C 更多

C 日期 C 随机数 C 宏 C 代码组织 C 存储类 C 位运算符 C 固定宽度整数

C 项目

C 项目

C 参考资料

C 参考资料 C 关键词 C <stdio.h> C <stdlib.h> C <string.h> C <math.h> C <ctype.h> C <time.h>

C 标准库参考

C 标准库 - 参考手册 C 标准库 - <assert.h> C 标准库 - <ctype.h> C 标准库 - <errno.h> C 标准库 - <float.h> C 标准库 - <limits.h> C 标准库 - <locale.h> C 标准库 - <math.h> C 标准库 - <setjmp.h> C 标准库 - <signal.h> C 标准库 - <stdarg.h> C 标准库 - <stddef.h> C 标准库 - <stdio.h> C 标准库 - <stdlib.h> C 标准库 - <string.h> C 标准库 - <time.h>

C 实例

C 语言实例 C 经典100例 C 编译器 C 测验


C 运算符优先级

运算符优先级

当一个计算包含多个运算符时,C 语言遵循运算顺序规则来决定先计算哪个部分。

例如,乘法先于加法:

示例

int result1 = 2 + 3 * 4;     // 2 + 12 = 14
int result2 = (2 + 3) * 4;   // 5 * 4 = 20

printf("%d
", result1);
printf("%d
", result2);

亲自试一试 »

为什么会这样?

在 2 + 3 * 4 中,先进行乘法运算,所以答案是 14。

如果您希望先进行加法运算,则必须使用括号:(2 + 3) * 4,结果为20。

提示: 如果要确保计算按预期顺序进行,请务必使用括号 ( )。这也有助于提高代码的可读性。


运算顺序

以下是 C 语言中一些常用运算符,按优先级从高到低排列:

  • () - 括号
  • *, /, % - 乘法、除法、取模
  • +, - - 加法,减法
  • >, <, >=, <= - 比较
  • ==, != - 相等
  • && - 逻辑与
  • || - 逻辑或
  • = - 赋值

另一个例子

除非加上括号,否则加减运算都是从左到右进行的:

示例

int result1 = 10 - 2 + 5;    // (10 - 2) + 5 = 13
int result2 = 10 - (2 + 5);  // 10 - 7 = 3

printf("%d
", result1);
printf("%d
", result2);

亲自试一试 »

记住:括号永远放在最前面。使用括号来控制计算顺序。