C语言—— *** 作符

C语言—— *** 作符,第1张

C语言—— *** 作
  • 算术 *** 作符

       加号 (+)、减号 (-)、乘号 (*)、除号 (/)和取模 (%)运算。

       %相当于商几余几,取模 *** 作符只能用于·整型,不能用于浮点数。

  • 移位 *** 作符

       移位运算符在程序设计中,是位 *** 作运算符的一种。

       移位运算符可以在二进制的基础上对数字进行平移。 按照平移的方向和填充数字的规则分为三种:<< (左移)、>> (带符号右移)和>>> (无符号右移)。

       在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。 移位运算符组成的表达式也属于算术表达式,其值为算术值。 左移运算是将一个二进制位的 *** 作数按指定移动的位数向左移动,移出位被丢弃,右边移出的空位一律补0。  

  • 位 *** 作符
  1. ^按位异或    对应的二进制数字相同为0,相异为1

  2. & 按位与      对应的二进制有0则为0,全1才为1

  3. | 按位或       对应的二进制有1则为1,全0才为0

(在32位机里的32个用1/0表示的数字进行与,或等运算) 

  • 赋值 *** 作符  

       =    +=    -=     *=     /=     &=     ^=     |=      >>=      <<= 

    赋值   加    减    乘    除     与     异或   或    右移      左移   

  • 单目 *** 作符  
  1. !           逻辑反 *** 作(!是逻辑反 *** 作,c语言中,用0表示假,非0表示真。运算符就是 *** 作符)
  2. -           负值
  3. +           正值
  4. &           取地址
  5. sizeof       *** 作数的类型长度(以字节为单位)
  6. ~           对一个数的二进制按位取反
             

~  叫做按位取反  二进制位(二进制位都是内存里的二进制位)

-1是负整数,负整数的二进制有源码,补码,反码

二进制中最高位是1,表示是负数;最高位是0,表明是正数

(-1表示为

10000000000000000000000000000001        表示-1的源码

11111111111111111111111111111110      表示反码

最高位不变,其余全部取反 ,给反码加1  11111111111111111111111111111111     表示补码)

~给-1按位取反后    00000000000000000000000000000000

      7.--          前置、后置--

      8.++          前置、后置++

先前后置,再使用

先使用,再前后置

        9. *         间接访问 *** 作符 ( 解引用 *** 作符 )       10.( 类型 )       强制类型转换

     关系 *** 作符

     逻辑 *** 作符

  • &&逻辑与     并

  • ||逻辑或        或

  •  关系 *** 作符
> >= < <= !=   用于测试 “ 不相等 ” ==       用于测试 “ 相等 ”
  • 逻辑 *** 作符
&&     逻辑与 ||           逻辑或 (优先顺序上,先执行与,再执行或)
  • 条件 *** 作符

简化if语句 

表达式为:表达式1?表达式2:表达式3

                  exp1 ? exp2 : exp3

先求解表达式1,

若其值为真(非0)则将表达式2的值作为整个表达式的取值,

否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。

  • 逗号表达式
exp1 , exp2 , exp3 , …expN

在C语言和C++语言中,可以把多个表达式用逗号联接起来(或者说,把这些表达式用逗号分开),构成一个更大的表达式。其中的逗号称为逗号运算符,所构成的表达式称为逗号表达式。逗号表达式中用逗号分开的表达式分别求值,以最后一个表达式的值作为整个表达式的值。

  • 下标引用,函数调用和结构成员

             []         ()        .          ->  

[]下标引用 *** 作符: *** 作数是arr  和  4

()函数调用 *** 作符    *** 作数是Add和3,5,共三个 *** 作数(不是三个 *** 作数,一个两个也行)

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4949731.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存