语句:A=B;
表达式:A=B
两者区别就是有没又分号
运算符
1.算术运算符
+(加法)
-(减法)
*(乘法)
/(除法)
%(取模,即求余数)
++(自增,使变量值增加1)
--(自减,使变量值减少1)
注意:整数相除结果会是整数,如果想要得到一个实型(浮点型)可以在最前面*1.0进行类型转换。
注意:%(取余)符号,在C语言中要求两个操作数都是整数,并且不能对0进行取余操作。
常见错误
-
除以零:尝试除以零会导致运行时错误。
-
整数除法:当两个整数相除时,结果也是整数,小数部分会被截断。
-
自增自减位置 :
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语言中怎么区分或者说辨别出表达式这种东西?
包含运算符 :如
+、-、*、/等。函数调用 :如
sqrt(9)。赋值语句 :如
a = 3。括号内的代码 :如
(2 + 2)。条件运算符 :如
a > b ? x : y。语句:A=B;
表达式:A=B
两者区别就是有没又分号

7.逗号运算符

8.指针运算符

9.自增运算符
......
其他


