C语言运算符总结心得

一、逻辑运算符:

包括:①&&逻辑与 ②||逻辑或 ③!逻辑非

逻辑运算符用于对包含关系运算符的表达式进行合并或取非

对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释

请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。

假设一个程序在同时满足条件a<10和b==7时,必须执行某些操作。应使用关系运算符和逻辑运算符“与”来写这个

条件的代码。用&&表示“与”运算符,该条件代码如下:

(a<10) && (b==7);如果左侧为真再计算右侧是否为真,如果左测为假,直接跳出,不计算右侧。

类似地,“或”是用于检查两个条件中是否有一个为真的运算符。它由(||)表示。左侧如果为假,计算右侧是否为真。左侧如果为真,直接跳出,不计算右侧。

如果上例

改为:如果任一语句为真,则程序需执行某些操作,则条件代码如下:

(a<10) || (b==7);

第三个逻辑运算符“非”用一个感叹号(!)表示。这个运算符对表达式的真值取反。例如,如果变量s小于20,程序

程序需执行某些操作,则条件代码如下:

(s<20)

(!(s>=20)) //s不大于等于20

关系运算符和逻辑运算符的优先级一般都低于算术运算符。

下面的语句

printf("%d",5>4+3);

将输出 0

可以总结为:&&的结果是真真为真,真假为假。||的结果是假假为假,真假或者真真为真。

二、位运算符(必须是整数):

①&位与符     ②|位或符      ③^位异或符       ④~位取反符

以操作数10为例。位运算符将数字10视为1010。位运算符将操作数视为位而不是数值。数值

可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。

位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。

例如:

表达式10&14表示(1010 & 1110),它将返回表示1010的值10。因为真真得真。

表达式10|14表示(1010 | 1110,它将返回表示1110的值14。假假得假。全零得零。

表达式10^14表示(1010 ^ 1110), 它将返回表示0100的值4。此时是同性相斥,相同的就为假。

表达式~10表示(~1010),它将返回表示0101的值 -11。此号好理解,按位取反.

三、条件操作符

exp1? exp2 : exp3

如果exp1条件为真,那么执行exp2语句,否则执行exp3语句。

四、逗号表达式
exp1, exp2, exp3, …expN 
逗号表达式,就是用逗号隔开的多个表达式。  逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

五、移位操作符(移位之后数本身并没有发生变化)
<< 左移操作符 >> 右移操作符 

右移>>分为算术移位和逻辑移位 

           算术移位:右移后左侧补符号位,正数补0,负数补1;

                           左移后,右侧补0;

           逻辑移位:左侧补0;

左移<<只有算术移位,左侧补0;

六、单目操作符

!   逻辑反操作 

- 负值 + 正值 &  取地址 sizeof 操作数的类型长度(以字节为单位) ~   对一个数的二进制按位取反 --  前置(先用后减)、(先减后用)后置-- ++ 前置(先加后用)、后置++(先用后加)  * 间接访问操作符(解引用操作符)    (类型) 强制类型转换


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值