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

简单了解C语言操作符

2018-03-29 23:29 302 查看

操作符

分类

算术操作符

移位操作符

位操作符

赋值操作符

单⽬目操作符

关系操作符

逻辑操作符

条件操作符

逗号表达式

下标引⽤用、函数调⽤用和结构成员

算术操作符

+    -   *   /  %


除了了%操作符之外,其他的⼏几个操作符可以作⽤用于整数和浮点数。

对于/操作符如果两个操作数都为整数,执⾏行行整数除法。⽽而只要有浮点数执⾏行行的就是浮点数 除法。

%操作符的两个操作数必须为整数。返回的是整除之后的余数。

移位操作符

<< 左移操作符
>> 右移操作符


左移操作符

左边抛弃、右边补0

右移操作符

移位规则

首先右移运算分两种:

1. 逻辑移位

左边用0填充,右边丢弃

2. 算术移位

左边用原该值的符号位填充,右边丢弃

注意:

对于移位运算符,不不要移动负数位,这个是标准未定义的。

位操作符

位操作符有:

&   // 按位与
|   // 按位或
^   // 按位异或
注:他们的操作数必须是整数


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

比如这个是错误的。

#include <stdio.h>
int main()
{    int a = 10;    i
nt b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d  b = %d\n", a, b);
return 0;
}


赋值操作符

赋值操作符是⼀一个很棒的操作符,他可以让你得到⼀一个你之前不不满意的值。也就是你可以给⾃自⼰己 重新赋值。

符合操作符

+=
-=
*=
/=
%=
>>=
&=
|= =


单目操作符

!           逻辑反操作
-           负值
&           取地址
sizeof      操作数的类型⻓长度(以字节为单位)
~           对⼀一个数的⼆二进制按位取反
--          前置、后置--
++          前置、后置++
*           间接访问操作符(解引⽤用操作符)
* (类型)       强制类型转换


sizeof和数组之前说过。

一堆数组输出的时候用sizeof的用法

关系操作符

>
>=
<
<=
!=      ⽤用于测试“不不相等”
==      ⽤用于测试“相等”


警告

在编程的过程中== 和=不不⼩小⼼心写错,导致的错误。

逻辑操作符

&&          逻辑与
||          逻辑或


1.&是按位与操作,如果两个相应的二进制位都为1,那该位的结果值就是1,否则为0,即0&0=0,0&1=0,1&1=1,1&0=0。

&&是逻辑与运算符,a&&b,若a、b为真,则a&&b,

1&2—–>0

1&&2—->1

2、|是按位或操,如果两个相应的二进制位中只要有一个为1,则该位结果就是1,即为0|1=1、1|1=1、1|0=1、0|0=0。

||是逻辑或运算符,a||b,若a、b中有一个为真,则a||b结果为真。

1|2—–>3

1||2—->1

条件操作符

exp1 ? exp2 : exp3

表示是否是exp1,如果是 运行exp2,否则运行exp3.

逗号表达式

exp1, exp2, exp3, …expN


逗号表达式,就是⽤用逗号隔开的多个表达式。 逗号表达式,从左向右依次执⾏行行。整个表达式的结果是最后⼀一个表达式的结果。

比如

int a = 1;

int b = 2;

int c = (a>b, a=b+10, a, b=a+1);

c=2

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

1.[ ]

操作数:⼀一个数组名 + ⼀一个索引值

2.( ) 函数调⽤用操作符 接受⼀一个或者多个操作数:第⼀一个操作数是函数名,剩余的操作数就是传递给函数的参数。

3.访问⼀一个结构的成员

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