C语言操作符总结

一,分类

算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员

二,

1:算术操作符

 + - * / %

2:移位操作符

①  << 左移操作符:左边抛弃、右边补0   

  eg    :int i=10     I<<1   

                 00000000000000000000000000001010

                 00000000000000000000000000010100

② >> 右移操作符

首先右移运算分两种:1. 逻辑移位:左边用0填充,右边丢弃                      

                                    2. 算术移位:左边用原该值的符号位填充,右边丢弃

3,位操作符

& //按位与 :同真为真,有假为假

 | //按位或  :有1为1,无1为0

 ^ //按位异或:相同为0,相异为1

4,逻辑操作符

&& 逻辑与    eg1&2----->0     1&&2---->1

|| 逻辑或       eg 1|2----->3       1||2---->1

注意:注意:if(a > b && b<c &&c >d)
当a>b不成立时这个表达式就不判断后面的了,同理,如果为||时,一个为真后面就不判断了
5,赋值操作符
  ①   a = x = y+1;//连续赋值(不建议这样使用)
     x = y+1 a =x
  ②   复合赋值符
+=        eg  int x = 10;x = x+10;
                  x+=10;
-=
 *=
/=
%=
>>=
<<=
&=
|=
^=
6,单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置(先++,后使用值     i=3;printf("%d",++i)输出为4)、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
7,关系操作符
>  >=  <  <=  !=
if(x = 5)在编程的过程中== 和=不小心写错,导致的错误
8,条件操作符
exp1 ? exp2 : exp3
eg
if (a > b) max=a;
else max=b
max=(a>b)?a:b
9,逗号表达式
exp1, exp2, exp3, …expN
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
eg :   int a = 1;
            int b = 2;
    int c = (a>b, a=b+10, a, b=a+1);//逗号表达式
     答案:c=13
10,下标引用、函数调用和结构成员
① [ ]
操作数:一个数组名 + 一个索引值
arr[9] = 10;//实用下标引用操作符。[ ]的两个操作数是arr和9。
② ()函数调用操作符接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参
③ 访问一个结构的成员
   . 结构体.成员名
   -> 结构体指针->成员名



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值