【C语言】运算符总结

C语言运算符总结

                   

## 乘除运算符
 1. 双目*运算符      a*b     a和b的积
 2. /运算符          a/b     a除以b所得到的商 (整数之间运算的时候需要舍弃小数点之后的值)
 3. %运算符          a%b     a除以b所得到的的余数(a和b之间必须都是整数)
                                   
## 加减运算符
 4. 双目+运算符      a+b     a和b的值
 5.  双目-运算符     a-b     a减去b的值          

## 单目算数运算符
 6. 单目+运算符       +a     a的值
 7. 单目-运算符       -a     对a进行符号取反后的值            

## 基本赋值运算符(赋值运算符)
 8. 基本赋值运算符    a=b    把b的值赋给a                 

 ## 类型转换运算符
 9. 类型转换运算符   (类型名)a   把a的值转换为指定数据类型对应的值
 
 ## 相等运算符
 10. ==运算符        a==b    如果a和b的值相等则为1,不等则为0(结果的类型为int)
 11. !=运算符        a!=b    如果a和b的值不等则为1,相等则为0(结果的类型为int)
 【注】在=和=之间以及!和=之间不可加空格。

## 关系运算符
 12. <运算符         a<b      a小于b时结果为1,反之为0(结果的类型为int)
 13. >运算符         a>b      a大于b时结果为1,反之为0(结果的类型为int)
 14. <=运算符        a<=b     a小于等于b时结果为1,反之为0(结果的类型为int)
 15.  >=运算符       a>=b     a大于等于b时结果为1,反之为0(结果的类型为int)
 【注】=只能放右边,其它格式都是错误的。
 
## 条件运算符
 16. 条件运算符      a?b:c     如果a不为0,则结果是b的值,否则结果为c的值
 【注】只有条件运算符属于三目运算符,其他的运算符都是单目或者双目运算符。

## 逻辑运算符
 17. 逻辑与运算符     a&&b      如果a和b都不为0,则表达式的结果为1,否则结果为0(结果的类型int)
 18. 逻辑或运算符     a||b      如果a和b中有一个不为0,则表达式的结果为1,否则结果为0(结果的类型int)
 【注】&&运算符在a的判断结果为0时不会对b进行判断。而||运算符相反,当a的判断结果不为0时不会对b进行判断。此种情况称之为短路求值。

## 逻辑非运算符
 19. 逻辑非运算符      !a       当a的值是0的时候值为1,当a的值不是0的时候值为0(它的结果是int类型)
 【注】德摩根定律:x&&y和!(!x||!y)相等
                  x||y和(!x&&!y)相等

## 复合赋值运算符
 20. 复合赋值运算符    a@=b     和a=a@b一样(只是对a的判断仅进行一次)@=是这其中的一个:*=   /=  %=  +=  -=  <<=  >>=  &=  ^=  |=
 
## 后、前置递增、递减运算符
 21. 后置递增运算符    a++      使a的值增加1(该表达式的值是增加前的值)
 22. 后置递减运算符    a--      使a的值减少1(该表达式的值是减少前的值)
 23. 前置递增运算符    ++a      使a的值增加1(该表达式的值是增加后的值)
 24. 前置递减运算符    --a      使a的值减少1(该表达式的值是减少后的值)

## 下标运算符
 25. 下标运算符       a[b]     从数组a的首个元素算起,访问b个元素后的元素
【注】第一个元素的下标为0。元素个数为n的数组的各元素为a[0]到a[n-1]。

## 函数调用运算符
 26. 函数调用运算符   x(arg)    向函数x传递实参arg并调用(当实参有多个时,用逗号分隔)。(如果返回值类型不是void)生成函数x返回的值
【注】函数调用的时候传递的只是参数的值,因此调用函数时使用的实参既可以是变量,也可以是常量。

## sizeof运算符
 27. sizeof运算符    sizeof a   求a(对象、常量、类型名等)的长度
【注】其可判断包括char型在内的所有数据类型的长度。sizeof(char)为1,sizeof(short)为2,sizeof(int)为2,sizeof(long)为4。

## 按位运算符
 28. 按位与运算符       a&b         按位计算a和b的逻辑与
 29. 按位或运算符       a|b         按位计算a和b的逻辑或
 30. 按位异或运算符     a^b   	   按位计算a和b的逻辑异或
 31. ~运算符(按位求反运算符)  ~a   计算a的反码(将每一位取反之后的值)
【注】这些运算符的操作数必须是整数类数据类型或者枚举型。如果应用于浮点型等数据类型的操作数,编译时就会出错。

## 位移运算符
 32. <<运算符          a<<b        将a左移b位。右面空出的位用0填充
 33. >>运算符          a>>b        将a右移b位
【注】这些运算符的操作数必须是整数类数据类型或者枚举型。

## 逗号运算符
 34. 逗号运算符         a,b        按顺序判断a和b,整个表达式最终生成b的判断结果
【注】对a仅进行判断,判断结果会被省去。而对b进行判断所得到的类型和值,就是逗号表达式“a,b”的类型和值。

## 取址运算符
 35. 单目运算符&         &a        取得a的地址(生成指向a的指针)

## 指针运算符
 36. 单目运算符*         *a        a指向的对象

 ## 句点运算符
37. .运算符             a.b        表示结构体a的成员b
 
## 箭头运算符
38. ->运算符           a->b        用指针访问结构体a中的成员b
 

                                                                                   {参考书籍:第三版明解c语言入门篇}
发布了33 篇原创文章 · 获赞 7 · 访问量 4567

猜你喜欢

转载自blog.csdn.net/qq_45239614/article/details/98104503
今日推荐