读书笔记(一)《C语言精彩编程百例》

1、数据类型转换

不同数据类型变量混合运算时,要升级。

short->int(字符型与整形通用)->float->double。

指针不与以上类型发生类型转换。

等号右边的转化成等号左边的类型。

并按照运算符优先级顺序进行。

 

2、转义字符

用来表示ASCII码中无法表示的字符,用\+字符或者8或16进制数来表示。

\n  转到下一行

\b  退一格

\r  跳到本行最前

\t  向后跳4个字符长度

转义字符占一个字符长度。eg:  \t  为两个字符长度。

注意:

(1)\后只能用小写

(2)\v 垂直制表符和 \f 换页符 对屏幕没有影响,对打印有影响

 

3、关系和逻辑运算

运算符优先级:

 

留一道题,我当初做错的:    !(a<c)+b!=1&&(a+c)/2             

 

4、自增自减

注意:

(1)只能作用于变量

(2)放在变量之前,先增(或先减)再运算,放在变量之后,先运算,之后变量自身再增(或减)。

(3)结合方向:自右向左。

 

5、普通位计算

分享一下我自己总结的位运算,还没写完,写完后我会更新,有不对的地方欢迎大家斧正。

按位与(&)作用:
1、置零  43位与148 结果等于00000000
2、若想要取一个数的低字节(就是这个数的二进制的最后八位),只需将这个数与8个1位与即可。
3、保留指定位  只需将这个数 与 另一个这些指定位为1的二进制数相与即可  example:
100110001  想要保留他左边的的3,4,5,7位  则将他跟 101110100相与即可

按位或(|)作用:
如果想将一个数的 后四位置为1  则将这个数的后四位跟1111或 即可

异或(^)运算方法:两个数相同则结果为0  不同结果为1
异或运算应用:
1、使特定位翻转  例如:想将01111010低四位翻转(就是让低四位1变0,0变1),可以将该数跟00001111进行异或运算。
2、与0相异或 保留原值
3、交换两个值,不用临时变量
例如:a=3,即11(2);b=4,即100(2)。 想将a和b的值互换,可以用以下赋值语句实现:     a=a∧b;     b=b∧a;     a=a∧b; a=011(2)     (∧)b=100(2) a=111(2)(a∧b的结果,a已变成7)     (∧)b=100(2) b=011(2)(b∧a的结果,b已变成3)     (∧)a=111(2)  a=100(2)(a∧b的结果,a已变成4) 等效于以下两步:     ① 执行前两个赋值语句:“a=a∧b;”和“b=b∧a;”相当于b=b∧(a∧b)。     ② 再执行第三个赋值语句: a=a∧b。由于a的值等于(a∧b),b的值等于(b∧a∧b), 因此,相当于a=a∧b∧b∧a∧b,即a的值等于a∧a∧b∧b∧b,等于b。 很神奇吧


c语言源代码: #include <stdio.h> main() {  int a=3;  int b = 4;  a=a^b;  b=b^a;  a=a^b;  printf("a=%d b=%d",a,b); }

取反(~)运算符
他是一元运算符,用于求整数的二进制反码,即分别将操作数各二进制位上的1变为0,0变为1

 

6~17位移运算及循环判断语句重点内容

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值