尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

解码C语言运算符

解码C语言运算符
📅 发布时间:2026/6/19 1:40:55

算术运算符

运算符 描述 示例 结果
+ 加法 5 + 3 8
- 减法 5 - 3 2
* 乘法 5 * 3 15
/ 除法 5 / 2 2
% 取模 5 % 2 1
++ 自增 a++ a+1
-- 自减 a-- a-1

注意:

  • 整数除法会截断小数部分
  • 取模运算只能用于整数类型

关系运算符

运算符 描述 示例 结果
== 等于 5 == 3 0
!= 不等于 5 != 3 1
> 大于 5 > 3 1
< 小于 5 < 3 0
>= 大于等于 5 >= 3 1
<= 小于等于 5 <= 3 0

C语言中前缀与后缀自增自减运算符的区别

基本概念

前缀形式(先增减)
  • ++variable:先自增,后使用
  • --variable:先自减,后使用
后缀形式(后增减)
  • variable++:先使用,后自增
  • variable--:先使用,后自减

区别对比表

特性 前缀形式 (++a, --a) 后缀形式 (a++, a--)
执行顺序 先增减,后使用 先使用,后增减
返回值 返回增减后的值 返回增减前的值
性能 通常更高效 可能稍低(需要临时变量)
常见用途 需要立即使用新值 需要先使用原值

代码示例

示例:基本区别
#include <stdio.h>int main() {int a = 5, b = 5;int x, y;// 前缀:先自增,后赋值x = ++a;printf("前缀: a = %d, x = %d\n", a, x); // a=6, x=6// 后缀:先赋值,后自增y = b++;printf("后缀: b = %d, y = %d\n", b, y); // b=6, y=5return 0;
}

逻辑运算符

运算符 描述 示例 结果
&& 逻辑与(全真为真,有假为假,若第一个为假则第二个不判断(短路) (5>3) && (2>1) 1
|| 逻辑或(全假为假,有真为真,若第一个为真则第二个不判断(短路)) (5>3) || (2<1) 1
! 逻辑非 !(5>3) 0

位运算符(以二进制形式进行位或)

运算符 描述 示例 结果
& 按位与 5 & 3 1
| 按位或 5 | 3 7
^ 按位异或 5 ^ 3 6
~ 按位取反 ~5 -6
<< 左移(移出丢弃,空出补0) 5 << 1 10
>> 右移(移出丢弃,空出补符号位) 5 >> 1 2

赋值运算符

运算符 描述 等价于
= 简单赋值 a = 5
+= 加后赋值 a += 5 → a = a + 5
-= 减后赋值 a -= 5 → a = a - 5
*= 乘后赋值 a *= 5 → a = a * 5
/= 除后赋值 a /= 5 → a = a / 5
%= 取模后赋值 a %= 5 → a = a % 5
&= 按位与后赋值 a &= 5 → a = a & 5
` =` 按位或后赋值
^= 按位异或后赋值 a ^= 5 → a = a ^ 5
<<= 左移后赋值 a <<= 5 → a = a << 5
>>= 右移后赋值 a >>= 5 → a = a >> 5

其他运算符

运算符 描述 示例
sizeof() 返回变量或类型的大小 sizeof(int)
& 取地址运算符 &a
* 指针运算符 *ptr
?: 条件运算符 a > b ? a : b
, 逗号运算符 a = (b=3, b+2) → a=5
[] 下标运算符 arr[5]
-> 结构体指针成员访问 ptr->member
. 结构体成员访问 struct.member

运算符优先级

从高到低排列:

  1. () [] -> .
  2. ! ~ ++ -- + - * & (type) sizeof
  3. * / %
  4. + -
  5. << >>
  6. < <= > >=
  7. == !=
  8. &
  9. ^
  10. |
  11. &&
  12. ||
  13. ?:
  14. = += -= *= /= %= &= ^= |= <<= >>=
  15. ,

代码示例

#include <stdio.h>#include <stdio.h>int main() {// 算术运算符int a = 10, b = 3;printf("算术运算:\n");printf("%d + %d = %d\n", a, b, a + b);  // 10 + 3 = 13printf("%d / %d = %d\n", a, b, a / b);  // 10 / 3 = 3(整数除法,小数部分被截断)// 关系运算符printf("\n关系运算:\n");printf("%d > %d = %d\n", a, b, a > b);  // 10 > 3 = 1(真)// 逻辑运算符printf("\n逻辑运算:\n");printf("(%d>%d) && (%d<%d) = %d\n", a, b, a, b, (a>b) && (a<b));  // (10>3) && (10<3) = 0(真 && 假 = 假)// 位运算printf("\n位运算:\n");printf("%d & %d = %d\n", a, b, a & b);  // 10 & 3 = 2// 10的二进制: 1010, 3的二进制: 0011// 按位与结果: 0010 = 2// 赋值运算int c = a;      // c = 10c += 5;         // c = 10 + 5 = 15printf("\n赋值运算: c = %d\n", c);  // 输出: c = 15// 条件运算符int max = (a > b) ? a : b;  // 10 > 3 为真,所以 max = a = 10printf("最大值: %d\n", max);  // 输出: 最大值: 10return 0;
}

相关新闻

  • Sort方法学习(伪代码记录)
  • 完整教程:一篇读懂Pormise!!【前端ES6】
  • P9753 [CSP-S 2023] 消消乐

最新新闻

  • 从CVE-2026-24763看沙箱逃逸:环境变量注入如何攻破AI智能体安全防线
  • 【人员】人员批量处理与外部数据导入
  • 5分钟快速上手OpenVSP:NASA开源飞机设计软件的完整教程
  • 从人脸识别到AR面具:技术实现与创意应用全解析
  • MPC801外部信号全景解析:从引脚到系统交互
  • 2026 年 6 月上海婚姻律师榜 专业靠谱婚家纠纷处理律师执业全梳理 - 外贸老黄

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号