C语言深度剖析(第二章要点)

本文详细介绍了C语言中的注释使用规范、特殊字符的作用、字符与字符串的区别、位运算符的应用及运算符的优先级等内容,并提供了实用建议。
  • 一、1.注释符号:注释替换不是简单的剔除,而是用空格替换注释。例如:in/*qwe*/t=0;此语句就是非法的。  双引号括起来的都是字符串常量,即使是双斜杠也不例外。   另外注释的嵌套如:/*/**/*/是非法的。在此推荐是用:#if0 #endif
  1. 语句 y = x/*p;  是非法的   因为编译器会把/*当作注释的开始  正确:y = x/(空格)*p;   y = x/(*p);
  2. 对于注释的基本要求:1.准确,易懂,无二义性 2.不加多余注释 3.对全局数据要加注释  4.英文注释 5.注释缩进与代码缩进一致 6.数值单位要注释 7.函数的出入口数据进行注释
  • 二、持续符和转义符:持续符(\)将下一句接在上一句的后面,但是不能有空格   转义字符:(\)\n 回车换行  \t下一个制表符  \v竖向跳格  \b退格  \r回车  \f走纸换页  \a鸣铃  \’单引号符  \ddd一到三位8进制数所代表的字符  \xhh一到两位16进制数所代表的字符
  • 三、单双引号:括起来的都是字符常量’’  “”不一样 前者内存中占一位 而后者内存中占两位  1  ‘1’   “1”    1:32位系统下占4byte  ‘1’字符常量:1byte   “1”字符串常量:2byte
  • 四、位运算符: &按位与   |按位或   ^按位异或    ~按位取反   <<左移  >>右移  

0x01<<2+3;    答案是32  +运算符的优先级比移位运算符要高

0x01<<2+30    结果会发生溢出现象

  • 五、++ -- 运算符:后置++均是在本单位计算结束后在进行自增的操作   a+++b   ------->  a++ +b   
  • 六、运算符的优先级:
  1. 数组下标:[]     圆括号()   成员选择.(对象)   成员选择->(指针)
  2. 负号运算符 -   强制类型转换  ++   --   取值运算符*  &取地址运算符   逻辑非!  按位取反~  长度运算符sizeof   
  3. 除/   乘*   取余%
  4. 加+   减-
  5. <<  >>
  6. >    >=    <    <=
  7. 等于==     不等于!=
  8. 按位与 &
  9. 按位异或 ^
  10. 按位或 |
  11. 逻辑与 &&
  12. 逻辑||
  13. ?:条件运算符
  14. =    /=   *=   %=   +=   -=   <<=   >>=   &=   ^=   |=  
  15. 逗号表达式

容易混淆的: 1  .优先级高于*  ->       *p.f    --->   *(p.f)    2.   []  高于  *   int *p[]   --->   int *(p[])                   3.函数()高于*    int *p()  --->   int *(p())

  1. ==  !=   高于  位运算   (val & mask != 0)  val &(mask != 0)
  2. ==   !=   高于  赋值    c = getchar()  != EOF
  3. 算术运算符高于位运算符   msb  <<    4 + lab
  4. 逗号运算符最低:   i= 1,2    (i= 1),2;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值