C语言运算符与表达式详解——算术、逻辑与赋值的全面理解

⚙️ C语言运算符与表达式详解------算术、逻辑与赋值的全面理解

C语言运算符与表达式详解------算术、逻辑与赋值的全面理解

🧩 一、前言

在上一节,我们学习了变量的定义和输入输出函数(printf、scanf)。

但程序真正的"灵魂",在于它能对数据进行运算与逻辑判断。

这节课,我们就来全面掌握 C语言的运算符与表达式 ------

让你的程序不仅能"显示",还能"思考"!


🧮 二、什么是运算符与表达式

✅ 运算符(Operator)

运算符是对变量或常量进行操作的符号。

例如:+、-、*、/、%、==、&& 等。

✅ 表达式(Expression)

表达式是由运算符和操作数组成的式子,计算后能得到一个结果。

例如:

a + b

x * y - 3

(a + b) * c


➕ 三、算术运算符(Arithmetic Operators)

算术运算符用于数学计算,是最常见的运算类型。

运算符 含义 示例 结果

  • 加 3 + 2 5
  • 减 5 - 2 3
  • 乘 4 * 3 12
    / 除 7 / 2 3 (整数相除取整)
    % 取余 7 % 2 1

🧠 注意:

  1. 若两数都是整数,/ 结果为整数。

  2. 想得到小数结果,要用浮点型:

float result = 7.0 / 2;

printf("%.2f", result); // 输出 3.50


⚖️ 四、关系运算符(Relational Operators)

用于比较两个值的大小关系,结果只有两种:

👉 真(1) 或 假(0)。

运算符 含义 示例 结果

== 等于 a == b 若相等则真

!= 不等于 a != b 若不等则真

大于 a > b 若a大则真

< 小于 a < b 若a小则真

= 大于等于 a >= b 条件满足则真

<= 小于等于 a <= b 条件满足则真

✅ 示例:

int a = 5, b = 8;

printf("%d\n", a > b); // 输出0(假)

printf("%d\n", a != b); // 输出1(真)


🧩 五、逻辑运算符(Logical Operators)

逻辑运算符用于组合多个条件,常用于 if 判断中。

运算符 含义 示例 结果

&& 与(and) a > 0 && b > 0 两个条件都真时为真
或(or)

! 非(not) !(a > b) 取反,真变假,假变真

✅ 示例:

int a = 10, b = 20;

if (a > 0 && b > 0) {

printf("a和b都是正数\n");

}


📝 六、赋值运算符(Assignment Operators)

运算符 含义 示例 等价于

= 赋值 a = 5 ---

+= 加后赋值 a += 3 a = a + 3

-= 减后赋值 a -= 2 a = a - 2

*= 乘后赋值 a *= 2 a = a * 2

/= 除后赋值 a /= 2 a = a / 2

%= 取余后赋值 a %= 3 a = a % 3

✅ 示例:

int a = 10;

a += 5; // 等价于 a = a + 5

printf("%d\n", a); // 输出15


🧮 七、自增与自减运算符

运算符 含义 示例 说明

++ 自增1 a++ 或 ++a 变量加1

-- 自减1 a-- 或 --a 变量减1

⚠️ 区别:

int a = 5;

printf("%d\n", a++); // 先使用后加 → 输出5

printf("%d\n", ++a); // 先加后使用 → 输出7


⚙️ 八、综合案例:求三个数的最大值

c 复制代码
#include <stdio.h>
int main() {
    int a, b, c, max;
    printf("请输入三个整数:");
    scanf("%d %d %d", &a, &b, &c);

    max = a;              // 先假设a最大
    if (b > max) max = b; // 比较b
    if (c > max) max = c; // 比较c

    printf("最大值为:%d\n", max);
    return 0;
}

运行结果示例:

请输入三个整数:8 3 9

最大值为:9


🧠 九、课堂小结

✅ 本节我们掌握了:

C语言中各种运算符的分类与用法

表达式计算的基本逻辑

关系与逻辑运算符在判断语句中的作用

赋值、自增、自减的简化写法


📚【IoT智慧学堂】

高职物联网与编程教学 · 从0到1学会编程

关注我,下一节一起掌握程序的"思考力"!


相关推荐
Interview Aid11214 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
CoderIsArt1 天前
C#中UI 线程与 Dispatcher
开发语言·ui·c#
AI情绪识别开源1 天前
检信 ALLEMOTION OS 加密打包可执行程序 — 全面测试报告版本: v1.3功能测试 / 性能测试 /
开发语言·数据结构·人工智能·功能测试
「QT(C++)开发工程师」1 天前
C++ auto 用法详解
开发语言·c++
OPEN-F1 天前
C++STL教程:容器适配器与实用工具
开发语言·c++
yaoxin5211231 天前
507. Java 反射 - 在 BeanFactory 中实现依赖注入
java·开发语言
OPEN-F1 天前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
有点。1 天前
C++二叉搜索树进阶
开发语言·c++
HugoStudio_SWAN1 天前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生