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

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


相关推荐
曹牧16 小时前
C#:<SubType>Component</SubType>
开发语言·c#
Pou光明16 小时前
7_线程安全_线程间的内存可视性2缓存_内存屏障_读写排序
java·开发语言·缓存
嵌入式研究僧16 小时前
【嵌入式项目分享】ESP32红外热成像仪
c语言·stm32·嵌入式硬件
点亮一颗LED(从入门到放弃)16 小时前
C语言学习笔记(1)——输入输出,数据类型
c语言·笔记·学习
m***667316 小时前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
Zsy_05100316 小时前
【数据结构】二叉树介绍及C语言代码实现
c语言·数据结构·算法
IMPYLH16 小时前
Lua 的 select 函数
java·开发语言·笔记·后端·junit·游戏引擎·lua
JienDa16 小时前
JienDa聊PHP:知乎仿站实战中PHP框架的协同架构方略
开发语言·架构·php
hashiqimiya16 小时前
android将json数据传递到后端springboot
java·开发语言
lijiatu1008616 小时前
[C++] 上锁、解锁、获取锁、释放锁的区别
开发语言·c++