第2章 符号

1.注释符号

  编译器会将注释剔除,用空格代替原来的注释

  y=x /* p; 编译器提示出错的原因:实际上,编译器会把“/*”当作一段注释的开始,直到出现“*/”为止。

【规则 2-1】注释应当准确,易懂,防止二义性

【规则 2-2】注释是对代码的提示,而不是文档

【规则 2-3】边写代码边写注释

【规则 2-4】一目了然的语句不加注释

【规则 2-5】全局数据必须加注释

【规则 2-6】注释采用英文(不一定所有的编译器都能显示中文)

【规则 2-7】注释的位置与被描述的代码相邻,可以同一行或上一行

【规则 2-8】当代码比较长,特别是有多重嵌套时,应当在段落的结束处加注释

【规则 2-9】注释的缩进与代码的缩进一致

【规则 2-10】注释代码时应注重“为何做(why)”,而不是“怎么做(how)”

【规则 2-11】数值的单位一定要注释

【规则 2-12】对变量的范围一定要注释,尤其是参数

【规则 2-13】对一系列数字编号给出注释

【规则 2-14】函数的入口出口数据,条件语句,分支语句给出注释

【规则 2-15】避免在一行代码或表达式中间插入注释

2.接续符

  反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格。

3.单引号,双引号

  双引号括起来的是字符串常量,单引号括起来的是字符常量。

3.位运算符

  按位异或操作可以实现不用第三个临时变量交换两个变量的值,如下:

a ^= b;
b ^= a;
a ^= b;

  余数与被除数的正负号相同。

4.一些优先级问题

  • int *fp(); //等价于 int *(fp());

    fp是个函数,返回 int *.

  • c = getchar() != EOF;

   != 优先级高于赋值符。 c = (getchar() != EOF);