2-C语言的运算符和表达式

语句:A=B;

表达式:A=B

两者区别就是有没又分号

运算符

1.算术运算符
  • + (加法)

  • - (减法)

  • * (乘法)

  • / (除法)

  • % (取模,即求余数)

  • ++ (自增,使变量值增加1)

  • -- (自减,使变量值减少1)

注意:整数相除结果会是整数,如果想要得到一个实型(浮点型)可以在最前面*1.0进行类型转换。

注意:%(取余)符号,在C语言中要求两个操作数都是整数,并且不能对0进行取余操作。

常见错误

  1. 除以零:尝试除以零会导致运行时错误。

  2. 整数除法:当两个整数相除时,结果也是整数,小数部分会被截断。

  3. 自增自减位置 :i++ 和 ++i 的区别,前者是后增,后者是前增。

2.逻辑运算符

逻辑运算符用于表示程序中的逻辑关系,主要有以下几种:

  • ! (逻辑非):用来表示逻辑上的取反。

    • 用法示例:!(1 > 0) // 表示对表达式的结果进行取反操作。如果表达式为真,则取反为假;如果为假,则取反为真。
  • && (逻辑与):用来表示逻辑上的"并且"。

    • 用法示例:1 > 0 && 1 > 2 // 表示两个式子中只要有一个式子逻辑不成立,那么整个表达式就为假。
  • || (逻辑或):用来表示逻辑上的"或者"。

    • 用法示例:1 > 0 || 2 > 0 // 表示两个式子中只要有一个式子的逻辑成立,那么整个表达式就为真。

注意事项

  • 惰性运算(Short-circuit evaluation):在逻辑运算中,如果可以通过部分表达式提前知道整个表达式的结果,那么剩余的表达式就不会再进行计算。这种操作称为惰性运算。

    • 逻辑或(||):如果第一个表达式为真,则不再计算第二个表达式,因为整个表达式的结果已经确定为真。

    • 逻辑与(&&):如果第一个表达式为假,则不再计算第二个表达式,因为整个表达式的结果已经确定为假。

这种特性在编写程序时非常有用,特别是当你需要避免在已知结果的情况下执行可能引发错误的代码时。例如,你可以在访问对象成员之前检查对象是否为null,从而避免空指针异常。

前缀自增和后缀自增的求值顺序在标准中有明确的规定,前缀自增会先于后缀自增执行。

cpp 复制代码
#include<stdio.h>
int main(){
    int i = 2;
    printf("%d\n",i++ + ++i);//6
    return 0;
}

//1.先执行++i->i变成3 i=再执行i++ 但是他是先计算,再自增,所以先执行**i++ + 3,**所以i++整体为3,所以结果是6.

3.位运算符

tips:判断一个数的二进制最低位是否为1

4.赋值运算符
5.复合赋值远算符
6.条件远算符

tips:C语言中怎么区分或者说辨别出表达式这种东西?

  1. 包含运算符 :如 +、-、*、/ 等。

  2. 函数调用 :如 sqrt(9)。

  3. 赋值语句 :如 a = 3。

  4. 括号内的代码 :如 (2 + 2)。

  5. 条件运算符 :如 a > b ? x : y。

语句:A=B;

表达式:A=B

两者区别就是有没又分号

7.逗号运算符
8.指针运算符
9.自增运算符

......

其他
相关推荐
Wang's Blog13 小时前
Java 项目实战: 交友项目:登录链路回顾与今日任务地图
java·开发语言·状态模式·交友
inrichtt13 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
砚底藏山河14 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年14 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym14 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
DongQiShanRen14 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CS创新实验室14 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
quantdash_cc15 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
yu_zhidun15 小时前
企业电脑监控软件怎么选:别只看功能清单,先看这 6 个底层能力
开发语言·电脑·php·域智盾系统
无忧.芙桃15 小时前
C++语言原理与实践(十六):多态机制讲解
开发语言·c++·多态