C语言操作符

来源:互联网 发布:淘宝网中年女羽绒服 编辑:程序博客网 时间:2024/06/07 04:47

C语言操作符简单应用

操作符分类

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

算术操作符

即+、-、*、/、%。
不要上来就讲so easy!还是有几点需要注意的:
1.
%这个操作符,小学课本里面没有,其结果表示前数除以后数的余数。要求取余,自然和小数点没什么关系,所以%前后数,及其结果都是整型。
2.
对于/而言,除数与被除数都是整数,其结果必然是整数,两数中只要有浮点数参与,结果就是浮点型。
3.

移位操作符

                <<……     左移操作符

二进制补码前提下:左边抛弃,右边补0

int num=-1;
num补码:
11111111 11111111 11111111(32位os)
num<<1 补码:
11111111 11111111 11111110
该过程中num依然是-1,自身的值不会改变。

             >>……         右移操作符

1.算术移位
左边用原该值来的符号位填充,右边丢弃(编译器都是采用该移位)
int a=-20;
11111111 11111111 11111111 11101110
a>>1;
11111111 11111111 11111111 11110111
2.逻辑移位
右边抛弃,左边补0。
a>>1;
01111111 11111111 11111111 11110111

位操作符

& 按位与
| 按位或
^ 按位异或

不能创建临时变量(第三个变量),实现两个数的交换。

#include<stdio.h>#include<stdlib.h>int main(){    int a=5;//101    int b=3;//011    printf("a=%d b=%d\n",a,b);    a=a^b;//110    b=a^b;//101    a=a^b;//011    printf("a=%d b=%d\n",a,b);    system("pause");    return 0;}

赋值操作符

注意

区分赋值操作符=和判断运算符==。

复合操作符

+=
-=
*=
/=
%=

=
<<=
&=
|=
^=

int x=10;
x+=10; //x=x+10;

单目操作符


-
+
&
sizeof
~
- -
++
*

注意
sizeof()是单目操作符而不是函数,其作用是求变量(所占空间的大小)。

关系操作符

、>=、<、<=、!=、==

逻辑操作符

&&||


100&&3212——>1
(!0)&&(!0)——>1
(!0)&&(0)——>0

8992||2612——>1
(!0)||(!0)——>1
(0)||(!0)——>1

条件操作符

exp1?exp2:exp3

 y=x>8? 9:-9;

逗号表达式

就是逗号隔开的好几个式子。逗号表达式自左向右依次执行,整个表达式的结果是最后一个表达式的结果

原创粉丝点击