操作符和表达式

操作符#

操作符的分类:

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

其中,最需要掌握的操作符时:“与”(&)、“或”(|)、“异或”(^)、“左移”(<<)、“右移”(>>)、“指向符”(->)、“点操作符”(.)等。

算术操作符

+、-、*、/、%

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

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

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

移位操作符:

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

左移操作符移位规则:左边抛弃,右边补0,左移相当于乘法。 

右移操作符移位规则:1.逻辑移位  左边补0,右边丢弃;2.算术移位  左边补符号位,右边丢弃。右移相当于除法。

 注意:对于移位操作符参与运算,不能移动负数位,这个标准未定义。写程序时,移动负数位程序不会报错,但是不符合逻辑,不能这样写。

位操作符:

按位于“&”:全1才1,有0则0

按位或“|”:有1则1,全0才0

按位异或“^”:相同为0,不同为1

注:它们的操作数都必须是整数。

赋值操作符:

赋值操作符可以用于对变量重新赋值,其他的操作符还可以与赋值操作符连接组成复合操作符。

例如:a += b; // a = a + b

单目操作符:

单目操作符有:逻辑反操作“!”、负值“-”、正值“+”、取地址“&”、操作数的类型长度“sizeof”、按位取反“~”、前置或后置“--”、前置或后置“++”、间接访问操作符(解引用操作符)“ * ”、强制类型转换“(类型)”等

其中最需要注意的是sizeof,它用于求字节的大小,在编译时期确定表达式的字节大小,不会影响后面的结果,对于sizeof(表达式)只会判断表达式的类型,但不进行运算。

当用于数组中时,sizeof(数组名)代表的是整个数组的字节大小。

关系操作符:

最需要提的就是测试是否相等,“==”相等、“!=”不相等

逻辑操作符:

逻辑与“&&”、逻辑或“||”

在程序中,对与逻辑与,前面的为假,后面的都不再执行;而对于逻辑或,则是前面的为真,后面的都不再执行。

条件操作符:

exp1  ? exp2 : exp3

当exp1为真时返回exp2,否则返回exp3。

逗号表达式:

exp1 , exp2 , …  , expN

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

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

1.[ ]下标引用操作符

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

2.()函数调用操作符

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

3.访问一个结构体成员

. 结构体 . 成员名

-> 结构体指针->成员名:指向符自带解引用。例如:(*pstu). age==>pstu->age

两者都用于访问结构体成员。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值