c语言之运算符
逻辑运算符
! && ||
C语言对真假的处理
非零是真
零是假
真是1表示
假是0表示
&& 左边的表达式为假,右边的表达式肯定不会执行
|| 左边的表达式为真,右边的表达式肯定不会执行
# include <stdio.h> int main(void) { int i = 10; int k = 20; int m; m = (1 > 2) && (k = 5); //不含有分号的是表达式 含义分号的是语句 printf("m=%d, k=%d\n", m, k); return 0; }
自增或自减
分类:
前自增 ++i
后自增 i++
前自增和后自增的异同:
相同:
最终都使i的值加1
不同:
前自增整体表达式的值是i加1之后的值
后自增整体表达式的值是i加1之前的值
为什么会出现自增
代码更精炼
自增的速度更快
学习自增要明白的几个问题
- 我们编程时应该尽量屏蔽掉前自增和后自增的差别
- 自增表达式最好不要作为一个更大的表达式的一部分来使用
- 如 int m=i++ + ++i + i + i++ ; //这样写不但是不规范的代码,而且是不可移植的代码
- 如 printf("%d %d %d",i++,++i,i) ; //同上
三目运算符
A?B:C
等价于
if(A)
B;
else
C;
逗号表达式
A,B,C,D
功能:
从左到右执行
最终表达式的值是最后一项的值
# include<stdio.h> int main(void) { int i; i = (2, 3, 5, 6); printf("%d\n", i); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通