C语言的运算符

来源:互联网 发布:北京网络咨询招聘 编辑:程序博客网 时间:2024/05/09 22:06

C语言的运算符主要分为三大类:算术运算符、关系运算符与逻辑运算符、按位运算符。

1、算术运算符

在C语言中有两个单目和五个双目运算符。

       +   单目正
        -   单目负
        *   乘法
        /    除法
       %  取模        整数除法会截断结果中的小数部位  表达式a %b 的结果是x除以y的余数,如果为整除,其值为0.它不能应用于float或double
        +  加法
        -   减法

    运算符也有个运算顺序问题,先算乘除再算加减。单目正和单目负最先运算,算术运算符采用从左到右的计算规则。

2、关系运算符与逻辑运算符

 

 (1)关系运算符

   关系运算符是对两个表达式进行比较,返回一个真/假值。
    
        >    大于
        <    小于
        >=   大于等于

        <=   小于等于

        ==   等于

        !=   不等于

    关系运算符的优先级比算术运算符低

    这些运算符大家都能明白,主要问题就是等于==和赋值=的区别了。

  (2)逻辑运算符

   逻辑运算符是根据表达式的值来返回真值或是假值,在C语言中认为非0为真值,0为假值。

        &&   逻辑与
        ||   逻辑或
        !    逻辑非
        ~    求反

   当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的表达式才为真。当表达式进行||运算时,只要有一个为 真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非运算符是将非0的操作数转换为0,将操作数0转换为1.
    
   由&&与||连接的表达式按从左到右的顺序进行求职,并且在知道结果值为真或为假之后立即停止计算。  

3、按位运算符

       & 按位与
       | 按位或
      ∧ 按位异或
      ∽ 取反
      << 左移     首先移位运算分两种:
1、算术移位  左边用符号位填充,右边丢弃     2、逻辑移位 左边补0位填充,右边丢弃
      
>> 右移                    注意:对于移位操作符,不要移动负数位。      
(1)按位与  按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数已补码
方式出现 
(2)按位或  按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的的数均已补码出现
(3)按位异或  按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,
(4)取反    参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即: 0^0=0, 1^0=1, 0^1=1, 1^1=0

    
    
0 0