您的位置:首页 > 编程语言 > C语言/C++

C语言操作符总结

2018-02-11 20:11 676 查看
         
 C语言操作符主要分为以下几类:
                                                        算数操作符
                                                        关系操作符
                                                        逻辑操作符
                                                        移位操作符
                                                        位操作符
                                                        赋值操作符
                                                        单目操作符
                                                        条件操作符
                                                        逗号表达式
                                                       下标引用、函数调用和结构成员
 接下来分别介绍下可爱的操作符们吧:
   一. 算数操作符           
                 + - * / % ++(自加) --(自减)
1.除了“%”以外(“%”只可以作用于整型),其余的算数运算符都可以作用于浮点型和整型。 
2.对于/操作符来说,如果两边的数据类型都是整型时,执行整型除法(即返回的值类型也为整型),而只要有浮点数执行的就是浮点数除法.
3.”a++“表示当程序执行到这句时,先使用”a“当前的值,然后给a加上1,再将a加上1之后的值赋给”a“。 
4.”++a“表示当程序执行到这句时,先给a加上1,将此值赋给”a“,然后再使用加上1之后a的值进行运算。
一句话: a++——先使用后++
++a——先++后使用
二、关系操作符
> < 大于等于>= 小于等于<= 不等于!= 等于==

三、逻辑操作符
&&(逻辑与) ||(逻辑或)
&&——只要有一个为假,后面不用看,直接为0;
||——只要有一个为真,后面不用看,直接为1;
四、移位操作符
        <<为左移操作符                >> 右移操作符
 1. 左移操作符移位规则:      左边抛弃,右边补零 
例如:   
           


但实际上,num在没被赋值的情况下,自身的值不会发生变化。
2.右移运算分为两种: 逻辑移位和算术移位
    移位规则:
                      左边用零填充,右边丢弃(逻辑移位)
                      左边用原该值的符号位填充,右边丢弃(算术移位)
例如:
               


五、位操作符
     按位与 &    按位或 |    按位异或 ^
注:它们的操作数必须是证整数。
六、赋值操作符—— 可以重新赋值,包括复合赋值操作符: =         +=      -=      *=      /=      %=        左移赋值<<=      右移赋值 >>=        按位与并赋值&=  按位或并赋值|=         按位异或并赋值^= 

七、单目操作符 ——  只有一个操作数的运算符
 (1)逻辑反操作:! 
 (2)取地址:&    
 (3)对一个数的二进制数按位取反:~                                                                    eg: a的值  10000000000000000000000000000011                                                               ~a的值11111111111111111111111111111100    
 (4) 正值+  负值-   正值加号一般省略
 (5)自增自减:++a, --a,  a++, a--
(6)间接引用操作符(解引用):*
(7)(类型):强制类型转换
(8)操作数的类型长度(以字节为单位):sizeof   注意:sizeof不是函数;             sizeof(数组名)——表示整个数组大小             sizeof(&数组名)——表示整个数组*只有以上两种情况的数组名表示整个数组,除此之外,之后遇到的所有数组名指的都是数组的首元素地址。             sizeof(数组名+0)——表示数组首元素的第一个地址
  八.条件操作符   格式:exp1?exp2:exp3九、逗号表达式  格式:exp1,exp2,exp3,·····expN逗号表达式就是用逗号隔开的多个表达式,整个表达式从左到右依次执行,整个表达式的结果就是最后一个表达式的结果;例如: c=get_val;
count_val(a);
while(a>0)
{
//执行业务;
c=get_val;
count_val(a);
}

改用逗号表达式如下:while(c=get_val,count_val(a),a>0)
{
//执行业务;
}
 十、 下标引用、函数调用和结构成员    
1.[]操作数,一个数组名+一个索引值.2.()函数调用操作符,接受一个或多个操作数,第一个操作数是函数名,剩余的操作数就是传给函数的参数.3.访问一个结构体的成员    .     结构体.成员名   ->   结构体指针->成员名

       





  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: