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学会编程

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


相关推荐
沐知全栈开发2 小时前
深度优先遍历与连通分量
开发语言
古城小栈2 小时前
Go 1.25 发布:性能、工具与生态的全面进化
开发语言·后端·golang
@syh.3 小时前
【C++】map和set
开发语言·c++
拾光Ծ3 小时前
C++11实用的“新特性”:列表初始化+右值引用与偷懒艺术——移动语义
开发语言·c++
何憶树之長青3 小时前
Kernel
开发语言·php
hardmenstudent3 小时前
Python字典--第1关:元组使用:这份菜单能修改吗?
开发语言·python
John_Rey3 小时前
Rust底层深度探究:自定义分配器(Allocators)——控制内存分配的精妙艺术
开发语言·后端·rust
逻极3 小时前
VS Code之Java 开发完全指南:从环境搭建到实战优化
java·开发语言
月月玩代码3 小时前
SLF4J,简单门面Java日志框架
java·开发语言