当前位置: 首页 > news >正文

C的运算符与表达式

运算符与表达式

运算符是C语言中用于执行各种操作的符号或关键字。运算符与操作数结合形成表达式,表达式可以计算出一个值。理解各种运算符及其优先级与结合性,是编写正确和高效C程序的基础。


1 算术运算符

算术运算符用于执行基本的数学计算,包括加、减、乘、除和取模(余数)等操作。

常见算术运算符
运算符 描述 示例 解释
+ 加法 a + b 将两个操作数相加
- 减法 a - b 从第一个操作数中减去第二个操作数
* 乘法 a * b 将两个操作数相乘
/ 除法 a / b 将第一个操作数除以第二个操作数
% 取模(余数) a % b 计算第一个操作数除以第二个操作数的余数
示例与详细解释
#include <stdio.h>int main() {int a = 15;int b = 4;int sum, difference, product, quotient, remainder;// 加法sum = a + b; // 15 + 4 = 19printf("a + b = %d\n", sum);// 减法difference = a - b; // 15 - 4 = 11printf("a - b = %d\n", difference);// 乘法product = a * b; // 15 * 4 = 60printf("a * b = %d\n", product);// 除法quotient = a / b; // 15 / 4 = 3 (整数除法,舍去小数部分)printf("a / b = %d\n", quotient);// 取模remainder = a % b; // 15 % 4 = 3printf("a %% b = %d\n", remainder);return 0;
}

输出

a + b = 19
a - b = 11
a * b = 60
a / b = 3
a % b = 3
注意事项
  1. 整数除法:当两个整数相除时,结果也是一个整数,任何小数部分都会被舍去。
  2. 取模运算:取模运算仅适用于整数类型,计算两个整数相除后的余数。
更多示例
#include <stdio.h>int main() {float x = 5.5;float y = 2.2;float result;// 加法result = x + y; // 5.5 + 2.2 = 7.7printf("x + y = %.1f\n", result);// 减法result = x - y; // 5.5 - 2.2 = 3.3printf("x - y = %.1f\n", result);// 乘法result = x * y; // 5.5 * 2.2 = 12.1printf("x * y = %.1f\n", result);// 除法result = x / y; // 5.5 / 2.2 = 2.5printf("x / y = %.1f\n", result);return 0;
}

输出

x + y = 7.7
x - y = 3.3
x * y = 12.1
x / y = 2.5

2 关系运算符

关系运算符用于比较两个值,结果是一个布尔值(真或假)。这些运算符常用于条件判断和循环控制。

常见关系运算符
运算符 描述 示例 解释
== 等于 a == b 如果a等于b,结果为真(1)
!= 不等于 a != b 如果a不等于b,结果为真(1)
> 大于 a > b 如果a大于b,结果为真(1)
< 小于 a < b 如果a小于b,结果为真(1)
>= 大于等于 a >= b 如果a大于等于b,结果为真(1)
<= 小于等于 a <= b 如果a小于等于b,结果为真(1)
示例与详细解释
#include <stdio.h>int main() {int a = 10;int b = 20;// 等于if (a == b) {printf("a 等于 b\n");} else {printf("a 不等于 b\n");}// 不等于if (a != b) {printf("a 不等于 b\n");}// 大于if (a > b) {printf("a 大于 b\n");} else {printf("a 不大于 b\n");}// 小于if (a < b) {printf("a 小于 b\n");}// 大于等于if (a >= 10) {printf("a 大于等于 10\n");}// 小于等于if (b <= 20) {printf("b 小于等于 20\n");}
http://www.dtcms.com/a/313062.html

相关文章:

  • iNavFlight飞控固件学习-4《LED初始化》
  • MVCC的实现原理
  • git配置公钥/密钥
  • Android XR SDK深度解析:构建下一代沉浸式体验的开发指南
  • 《从原理到实践:MySQL索引优化与SQL性能调优全解析》
  • Vue中:deep()和 ::v-deep选择器的区别
  • JavaScript:编程世界中的“语盲”现象
  • Java,八股,cv,算法——双非研0四修之路day24
  • ulimit参数使用详细总结
  • ELECTRICAL靶机
  • Transformer模型用于MT信号相关性预测与分析
  • python的易物小店交换系统
  • 2106. 摘水果
  • 数据结构中使用到的C语言
  • RocksDb 是什么?levelDB、LSM 树、SSTable又分别是什么?区别呢?
  • Linux 内存调优之如何限制进程、系统级别内存资源
  • 第二章 矩阵
  • 剥离petalinux设备树,使用 dtc 单独编译
  • 主流身份认证协议都有哪些?应用场景有何区别?
  • BRL贝叶斯规则列表
  • 《C++》stack容器详解
  • 块三角掩码(Block-Triangular Masking)
  • Remix框架:高性能React全栈开发实战
  • 安卓加固脱壳
  • js--2048小游戏
  • C++23 Concepts:用类型约束重构泛型编程的终极方案
  • 构造类型--结构体,共同体联合体,枚举
  • 【AI论文】Rep-MTL:释放表征级任务显著性在多任务学习中的潜力
  • 影响人类发音的疾病类型种类和数据集
  • CMake 命令行参数完全指南(2)