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

C语言运算符

自增自减运算符

自增自减运算符

++ 变量中的值+1

-- 变量中的值-1

计算规则:单独写成一行,(先/后)的结果一样

应用于+1计算、统计

练习:

实际上a++;与a = a + 1;运行结果相同

自增自减参与计算

  • 情况一:先用后加

int a = 10;

int b = a++;

则该结果为10,因为是a是先赋值给b,然后再加一,故b = 10

  • 情况二:先加后用

int a = 10;

int b = ++a;

则该结果为11,因为a是先加一,然后再赋值给b,故b = 11

  • 情况三:不管是先加后用,还是先用后加,继续计算时所用的值是计算后新的值,不是原来的了

eg.:

  1. 练习

前提注意:

  • 前缀优先于后缀
  • 前缀统一自增/自减,再把结果拿出来用
  • 后缀统一先用,等整个表达式算完结果,再进行自增,此时会改变自身的值,但是要注意此时自增的值要在前缀已经自增好的值上自增
  • 后缀先用后加一定要等式子中的变量都用完了计算完了,才能进行自增或自减(混搭2)

例如:

分析过程:先算前缀,++i = 11,--j = 4,此时i = 11,j = 4,然后统一用后缀,即k = 11 + 11 - 4 -11 = 7,最后再算后缀,即i = 11,j = 4(此处i为11是因为i++和i--抵消了)

但是,以上是在Windows中的情况,

若是在mac、Linux中,则:

  • 前缀和后缀的优先级一样
  • 是从左到右依次计算的
  • 每一个前缀和后缀都是一个独立的个体

所以,在mac、Linux中,结果为6,k = 10 + 12 - 4 - 12 = 6,分析:根据先用后加i++为10,此时i = 11,根据先加后用,i++为12,此时i = 12,--j为4,i--为12(先用后减),此时i = 11,故结果为k = 6,i = 11, j = 4

混搭1:

混搭2:

其他运算符

1.赋值运算符

+=

-=

*=

/=

%=

把左边和右边进行计算,然后把结果赋值给左边,右边不变,没有影响

eg.: a += b;就是把a+b的结果赋值给a,然后b不变,对b没有影响

( =为赋值 )

此处同样要注意计算完第一步赋值后a的值发生改变,到第二部时要用新的值计算

2.关系运算符

==

!=

>

>=

<

<=

关系运算符是用来判断该等式或不等式关系是否成立,若成立则为1,反之则为0

( != 为不等于 )

注意:关系运算符不能连着写,比如:1 < a <10,这是错误写法,赋值也不能连着写,比如:a = b + 2 = c + 1

运用:

注意: 关系运算符得到的结果只有0和1, 不会有计算结果的

3.逻辑运算符

符号

作用

说明

&&

与(而且)

两边都成立,结果才成立,否则就不成立(同时满足)

||

或(或者)

两边都不成立,结果才不成立(二选一)

非(取反)

原本是成立,取反结果就是不成立,反之一样(取反)

  • &&是两者都,即两边都要成立才行
  • ||是或者,即只要有一边成立就行,两边都不成立,结果才不成立
  • !是取相反意思
  • 结果:1就是成立,0就是不成立
  • 注意:若两次取反,则结果又变回去了,但实际只用一个取反
  • && || 可以连续写多个
  • 多个&&表示同时满足多个条件
  • 多个 || 表示在多个条件中,只要满足一个即可

运用:

混搭:

  • 若在式子中出现++b,则若++b结果为0,则不成立,若非0,则成立

4.三元运算符

格式: 关系表达式 ? 表达式1 : 表达式2

举个例子:

分析:

关系表达式:a > b 表达式1:a 表达式2:b

若关系表达式成立,则结果为表达式1,若不成立,则为表达式2

5.逗号运算符(分隔符)

格式:表达式1,表达式2,表达式3,……,表达式n

规则:

  • 从左到右
  • 最后一个子表达式的结果,是整表达式的结果
  • 优先级最低(永远是最后执行)

注意:

  • 若表达式中含有自增自减,则不用按照先用后加,不需要等所有变量用完再加,因为是按从左往右进行,逗号是最后执行的
  • 若有多个逗号,要把整个表达式用括号括起来,不然在输出时就会被当做多个参数无法运行

运用:

注意:(在实践中产生的一些问题)

6.运算符的优先级

运算符

名称

()

括号

++、--

自增自减

+、- 、!

正号、负号、逻辑运算符(取反)

*、/、%

乘、除、取余

+、-

加、减

>、>=、<、<=

关系运算符

==、!=

关系运算符

&&

逻辑运算符(而且)

||

逻辑运算符(或者)

? :

三元运算符

=、*=、/=、%=、+=、-=

赋值运算符

逗号运算符

混搭练习:

技巧:

  • 从左边的第一个问号开始往后找冒号
  • 如果过程当中,遇到了其他问号,那么找冒号的数量要加一

优先级混搭练习:


文章转载自:

http://VlPPqg9s.sfgtp.cn
http://hB7hqclC.sfgtp.cn
http://2Lv12l7b.sfgtp.cn
http://SRl6xC42.sfgtp.cn
http://l8LFVjO6.sfgtp.cn
http://eNkYHsi0.sfgtp.cn
http://zPKd092t.sfgtp.cn
http://lyl1foB3.sfgtp.cn
http://J39zpHWe.sfgtp.cn
http://ErDvPevL.sfgtp.cn
http://SqI8G7ed.sfgtp.cn
http://VoX9el6o.sfgtp.cn
http://yzJJIBEH.sfgtp.cn
http://M3JgDDAr.sfgtp.cn
http://wozeZ4AU.sfgtp.cn
http://66MKry0u.sfgtp.cn
http://KsWSSWPR.sfgtp.cn
http://wzWZ3O38.sfgtp.cn
http://fptkbYrj.sfgtp.cn
http://De1VZWN6.sfgtp.cn
http://pIRmWydX.sfgtp.cn
http://l739eyYI.sfgtp.cn
http://GvLtw1WO.sfgtp.cn
http://RvmtYyB1.sfgtp.cn
http://3U2L0X7t.sfgtp.cn
http://y9vI1J9S.sfgtp.cn
http://AisTWy54.sfgtp.cn
http://o6tDoUxu.sfgtp.cn
http://eX9DDK1A.sfgtp.cn
http://EB8tEH6q.sfgtp.cn
http://www.dtcms.com/a/372439.html

相关文章:

  • 知识库AI问答重新设计,新增文档引用功能,zyplayer-doc 2.5.3 发布啦!
  • 从Sonnet到Opus:一次解决RAG知识库流式输出难题的探索
  • 【Javaweb学习|实训总结|Week1】html基础,CSS(选择器、常用样式、盒子模型、弹性盒布局、CSS定位、动画),js(基本类型、运算符典例)
  • PPP协议概念及流程
  • pytorch的两大法宝函数
  • JAVA:IO流非文本形式文件拷贝
  • Tesseract,Tika 解析文件内容保存到ES
  • Redis中的Set数据类型
  • 2025算法八股——深度学习——优化器小结
  • Hash桶的讲解
  • [SWERC 2020] Safe Distance题解
  • 【.Net技术栈梳理】01-核心框架与运行时(CLR)
  • 《十字军东征》游戏出现0xc0000022报错的解决办法
  • 个人博客系统_测试报告
  • 第四项修炼:多元权衡——告别“单点最优”,在矛盾中编织和谐
  • Claude 4深度解析:AI编程新王者,双模型重塑行业标杆
  • 个人pytorch安装配置:cuda12.6 python3.13
  • 全栈经验之谈系列:(阶段一)架构思维与全局观
  • 【CMake】变量作用域3——目录作用域
  • 【系统分析师】第10章-关键技术:系统规划与分析(核心总结)
  • PINN驱动的高阶偏微分方程求解MATLAB代码
  • synchronized同步机制
  • 前端实现埋点的方式
  • 免费的GB28181平台,EasyNVR和EasyGBS应该怎么选?
  • ubuntu 24.10 忘记密码进入恢复模式重置密码
  • 缓存无处不在
  • 工具读取分析bmp文件
  • 多线程之HardCodedTarget(type=OssFileClient, name=file, url=http://file)异常
  • HTTP协议​​和​​API设计规范​​
  • 三种傍路设备配置实验