C语言操作符的学习

操作符的分类

>算数操作符

>移位操作符

>位操作符

>赋值操作符

>单目操作符

>关系操作符

>逻辑操作符

>条件操作符

>逗号表达式

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

一、算术操作符

包括 + (加法), - (减法), * (乘法), / (除法), % (取余)。

这些都是较为简单的操作符,但需要注意的有以下几点:

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

2.对于/操作符,如果两个操作数都为整数,执行整数除法;而只要有浮点数执行浮点数除法。

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

二、移位操作符

  <<  左移操作符

  >>  右移操作符

1.左移操作符(<<

移位规则:左边抛弃、右边补0       

注意:浮点数不能向左移动。左移操作有乘2的效果。

2.右移操作符(>>

移位规则:

1.逻辑移位:左边用0填充,右边丢弃

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

警告!

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

三、位操作符

按位与     ———全为1则为1

|    按位或     ———有一个1就为1

^   按位抑或 ———相同为0,相异位1

注意:1.它们的操作数必须是整数。

          2.任何数按位与(&1,若结果是1,则说明这个数最低位是1;若结果是0,则说明这个数最低位是0

          3.任何数按位抑或(^)它自己结果是0

          4.任何数按位抑或(^0结果是它自己。

四、赋值操作符

赋值操作符(=)几乎是所有程序都会用到的操作符,较为简单,不多做说明。

下面了解复合赋值符

+=           -=             *=             /=                  %=                      

>>=         <<=         &=            |=                   ^=

例如:x = x + 1可写作x +=1,以此类推,其余的不做说明。

五、单目操作符

单目操作符包括:

             逻辑反操作

-                负值

+               正值

&              取地址

sizeof         操作数的类型长度

~               对一个数的二进制按位取反

--               前置、后置--

++             前置、后置++

*                 间接访问操作符(解引用操作符)

(类型)      强制类型转换

简单讲讲取地址操作符、sizeof操作符、++--操作符,其余的简单不做讲解。

1.&(取地址操作符)

打印地址以“%p”形式打印。

可以取变量地址,取数组地址,取函数地址。

注意:数组名相当于首元素的地址;函数名是个地址。

2.sizeof

首先提醒sizeof是操作符不是函数,很多不清楚操作符的大概都会认为这是个函数。谨记!

siaeof后跟类型时必须加括号;sizeof内的表达式不参与运算。

3.++--

前置++--:先++--,后使用

后置++--:先使用,后++--

六、关系操作符

· >

· >=

· <

· <=

· !=            用于测试不相等

· ==           用于测试相等

警告!!!

在编程过程中不要把“==”“=”写错,导致出错。

 

七、逻辑操作符

&&                  逻辑与(有一方为0,则为假)

 |  |                   逻辑或(有一方为真,则为真)

注意区分逻辑与和按位与,逻辑或和按位或!!!

1&2--------------->0    二进制与

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

1|2-------------->3      二进制或

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

 

八、条件操作符

exp1  exp2   exp3

这表示 若表达式1exp1)成立,则执行表达式2exp2,否则执行表达式3exp3)。

九、逗号表达式

exp1,exp2,exp3,expN

逗号表达式,就是用逗号隔开的多个表达式。

逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

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

1.[] 下标引用操作符

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

2.()  函数调用操作符

接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

3.访问一个结构的成员

. 结构体.成员名

-> 结构体指针->成员名

 

猜你喜欢

转载自blog.csdn.net/dongying_/article/details/80710457
今日推荐