C语言运算符和表达式

发布于:2022-12-15 ⋅ 阅读:(906) ⋅ 点赞:(0)

(一)运算符基本概念

Ⅰ 赋值运算符:

①左值和右值:按字面意思,通俗地说。以赋值符号 = 为界,= 左边的就是左值,= 右边就是右值。 比如:(1) int b = 3;(2) int a = b;第(2)行代码,a为左值,b为右值。--->百度百科

②优先级&结合性

优先级   ————   算法(怎么去算) ——————    先算括号,再算乘除再加减

结合性   ————  读法(怎么去读) ——————    从左到右或从右到左

 优先级和结合性表

Ⅱ 算数运算符

① +- /*:注意1/2=0(类型转换,没有0.5的说法),除号/自动取整

② % 取余正负只和被取余数有关

Ⅲ 位运算

③移位:>> 右移  << 左移 记忆:看箭头方向   

④按位取反~:对一个数的二进制按位取反

⑤ 按位异或∧ : 参加运算的两个数,按二进制位进行“异或”运算。

  运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。(同零异一)

⑥按位或 |: 参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现.(有1则1)

⑦按位与&:参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。(有0则0

Ⅳ 复合赋值运算符:+=、/=、*=等

例子:int num=8;num+=2;等价于num=num+2=8+2;以此类推

 (二)条件与逻辑运算符

①计算机中的成立和不成立:非零值表示成立,只有NULL 0 \0 表示不成立。 

bool类型:头文件:stdbool.h;  bool类型成立打印1,否则打印0;

 

 ②条件运算符:

 ③逻辑运算符:

 (三)特殊运算符

①逗号运算符,:有效值是最右边,执行过程从左往右

②sizeof运算符:作用:统计类型所占用的字节数;工作期:编译期完成。

③三目运算符 表达式1?表达式2:表达式3

用法:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

                  注意:在C语言中,结果1 和 结果2的类型必须一致。

④自增/自减 ++ --: 使操作数的值加1(或-1),其操作数必须为可变左值。

前置/后置:前置:先加1,后参与运算  后置 :先参与运算,再加1;


网站公告

今日签到

点亮在社区的每一天
去签到

热门文章