C和指针读书笔记(第五章)

1. 算术操作符:+,-,*,/,%
除了取模运算,其余几个操作符既可以用于整型值也可用于浮点型值。


2. 移位操作符:<<,>>


3. 位操作符:AND(&),OR(|),XOR(^)【异或(相同为0,相异为1)】


4. 复合赋值符:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,!=
赋值运算符:=


5. 单目运算符:

  • !:逻辑反
  • ++和–:自增和自减
  • -和+:用于产生操作数的负值和操作数的值
  • &:取操作数地址
  • sizeof:判断它的操作数的类型长度,单位为字节
sizeof(int) //返回int整形变量的字节数,结果取决于使用的环境
sizeof x    //返回变量x所占的字节数
sizeof (x)  //返回变量x所占的字节数
sizeof a[]  //返回数组a的长度,以字节为单位。
  • ~:求补
  • *:间接访问操作符,与指针一起使用,用于访问指针指向的值
int a, *b;
b = &a; //&取a的地址并将其赋予给指针b
  • (类型):强制类型转换,用于显式地把表达式的值转换为另外的类型
int a;
(float)a;   //将整形变量a的值转换为浮点型

6. 关系操作符:>,>=,<,<=,!=,==


7. 逻辑操作符:&&,||


8. 条件操作符:

expression1? expression2 : expression3

9.

  • C的下标总是从0开始,并且不会对下标进行有效性检查,除了优先级不同,下标引用操作和间接访问表达式时等价的。映像关系如下:
array[NUM];
*( array + (NUM) ); //下标引用实际上时通过这种形式实现的
  • 函数调用接受一个或多个操作数。第一个操作数是希望调用的函数名,剩余的操作数就是传递给函数的参数。把函数调用以操作符的方式实现意味着“表达式”可以代替“常量”作为函数名。
  • 操作符 -> 用于访问一个结构的成员。当由一个指向结构的指针而不是结构本身想要去访问它的成员时,就需要使用 -> 操作符而不是 . 操作符。

10. C不具备任何的布尔类型,所以用整数来代替。规则为:0是假,任何非零值为真。


11. 如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转化为另一个操作数的类型,否则操作无法进行。
寻常算数转换:
long double
double
unsigned long int
long int
unsigned int
int
如果某个操作数的类型在上面这个列表排名较低,那么它首先将转换为另一个操作数的类型然后执行操作。


12. 表达式的值如果依赖于求值的顺序,那么它在本质上就是不可移植的。如:有符号值的右移操作数是不可移植的。


2016.9.26

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值