C 语言运算符详解

C 语言中的运算符

运算符用于对变量和值进行操作。

在下面的示例中,我们使用 + 运算符将两个值相加:

c 复制代码
int myNum = 100 + 50;

虽然 + 运算符通常用于将两个值相加,就像上面的示例一样,它还可以用于将变量和值相加,或者将变量和另一个变量相加:

c 复制代码
int sum1 = 100 + 50;      // 150 (100 + 50)
int sum2 = sum1 + 250;   // 400 (150 + 250)
int sum3 = sum2 + sum2;   // 800 (400 + 400)

C 将运算符分为以下几组:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符

算术运算符

算术运算符用于执行常见的数学运算。

运算符名称 描述 示例
+ 加法 x + y
- 减法 x - y
* 乘法 x * y
/ 除法 x / y
% 模运算 x % y
++ 增量 ++x
-- 减量 --x

赋值运算符

赋值运算符用于将值赋给变量。

在下面的示例中,我们使用 赋值 运算符 (=) 将值 10 赋给一个名为 x 的变量:

c 复制代码
int x = 10;

加法赋值 运算符 (+=) 将值添加到变量中:

c 复制代码
int x = 10;
x += 5;

所有赋值运算符的列表:

| 运算符 | 示例 | 等同于 |
|-------|-----------|--------------|-----|-------|---|
| = | x = 5 | x = 5 |
| += | x += 3 | x = x + 3 |
| -= | x -= 3 | x = x - 3 |
| *= | x *= 3 | x = x * 3 |
| /= | x /= 3 | x = x / 3 |
| %= | x %= 3 | x = x % 3 |
| &= | x &= 3 | x = x & 3 |
| | = | x | = 3 | x = x | 3 |
| ^= | x ^= 3 | x = x ^ 3 |
| >>= | x >>= 3 | x = x >> 3 |
| <<= | x <<= 3 | x = x << 3 |

比较运算符

比较运算符用于比较两个值(或变量)。这在编程中很重要,因为它可以帮助我们找到答案和做出决策。

比较的结果返回值是 1 或 0,分别表示 true (1) 或 false (0)。这些值称为布尔值

在下面的示例中,我们使用 大于 运算符 (>) 来判断 5 是否大于 3:

c 复制代码
int x = 5;
int y = 3;
printf("%d", x > y); // 返回 1 (true) 因为 5 大于 3

所有比较运算符的列表:

运算符名称 示例
== x == y
!= x != y
x > y
< x < y
>= x >= y
<= x <= y

逻辑运算符

您还可以使用逻辑运算符测试 true 或 false 值。

逻辑运算符用于确定变量或值之间的逻辑关系:

| 运算符名称 | 描述 | 示例 |
|-------|-----|------------------------|-----|--------|---|--------|
| && | 逻辑与 | x < 5 && x < 10 |
| | | | 逻辑或 | x < 5 | | x < 4 |
| ! | 逻辑非 | !(x < 5 && x < 10) |

sizeof 运算符

可以使用 sizeof 运算符查找数据类型或变量的内存大小(以字节为单位):

c 复制代码
int myInt;
float myFloat;
double myDouble;
char myChar;

printf("%lu\n", sizeof(myInt));
printf("%lu\n

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关推荐
闭着眼睛学算法2 分钟前
【双机位A卷】华为OD笔试之【哈希表】双机位A-跳房子I【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·c++·python·算法·华为od·散列表
开发者驿站22 分钟前
2025年保姆级C++环境配置教程(Windows/macOS双平台)
c++·windows·macos
青皮桔29 分钟前
Java+OpenCV实现图片切割
java·后端·opencv·计算机视觉
辰尘_星启30 分钟前
『CMake』关于使用CMake构建项目时的现代/传统指令
c++·架构·系统·cmake·项目·构建
兮动人34 分钟前
Spring中@Configuration注解的proxyBeanMethods属性详解
java·后端·spring
AA陈超1 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-13 属性菜单 - 边框值
c++·游戏·ue5·游戏引擎·虚幻
在未来等你1 小时前
Kafka面试精讲 Day 25:Kafka与大数据生态集成
大数据·分布式·面试·kafka·消息队列
姝孟1 小时前
C++学习——类与对象详细知识点总结
c++·笔记·学习
Jing_jing_X2 小时前
Spring 自动注入是怎么实现的?从 @Component 到 @Autowired 的完整流程
java·后端·spring
IT_陈寒2 小时前
5个Vue3性能优化技巧,让你的应用提速50% 🚀(附实测对比)
前端·人工智能·后端