C语言 —— 符号(C语言的基本符号)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42167759/article/details/85248733

C 语言的基本符号就有 20 多个,每个符号可能同时具有多重含义,而且这些符号之间
相互组合又使得 C 语言中的符号变得更加复杂起来。

符号 名称 符号 名称
逗号 > 右尖括号
. 圆点 ! 感叹号
分号 | 竖线
冒号 / 斜杠
问号 \ 反斜杠
单引号 ~ 波折号
双引号 # 井号
( 左圆括号 ) 右圆括号
[ 左方括号 ] 右方括号
{ 左大括号 } 右大括号
% 百分号 & and(与)
^ xor(异或) * 乘号
- 减号 = 等于号
< 左尖括号 + 加号

注意1:C 语言的注释可以出现在 C 语言代码的任何地方。这句话对不对?
答:不对。
原因:例如:in/*…*/t i;
C 语言里可以有两种注释方式: /* */ 和//。
编译器的确会将注释剔除,但不是简单的剔除,而是用空格代替原来的注释。所以上述例子不会被编译器解析成 int i;
但注意: /*…*/这种形式的注释不能嵌套,如:
/*这是/*非法的*/*/
因为/*总是与离它最近的*/匹配。
出色注释的基本要求
【规则 2-1】注释应当准确、易懂,防止有二义性。错误的注释不但无益反而有害。
【规则 2-2】边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
不再有用的注释要及时删除。
【规则 2-3】注释是对代码的“提示”,而不是文档。程序中的注释应当简单明了,注释太
多了会让人眼花缭乱。
【规则 2-4】一目了然的语句不加注释。
例如: i++; /* i 加 1 */
多余的注释
【规则 2-5】对于全局数据(全局变量、常量定义等)必须要加注释。
【规则 2-6】注释采用英文,尽量避免在注释中使用缩写,特别是不常用缩写。
因为不一定所有的编译器都能显示中文,别人打开你的代码,你的注释也许是一团乱
码。还有,你的代码不一定是懂中文的人阅读。
【规则 2-7】注释的位置应与被描述的代码相邻,可以与语句在同一行,也可以在上行,但
不可放在下方。同一结构中不同域的注释要对齐。
【规则 2-8】当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于
阅读。
【规则 2-9】注释的缩进要与代码的缩进一致。
【规则 2-10】注释代码段时应注重“为何做(why)”,而不是“怎么做(how)”。
说明怎么做的注释一般停留在编程语言的层次,而不是为了说明问题。尽力阐述“怎么做”
的注释一般没有告诉我们操作的意图,而指明“怎么做”的注释通常是冗余的。
【规则 2-11】数值的单位一定要注释。
注释应该说明某数值的单位到底是什么意思。比如:关于长度的必须说明单位是毫米,
米,还是千米等;关于时间的必须说明单位是时,分,秒,还是毫秒等。
【规则 2-12】对变量的范围给出注释。
【规则 2-13】对一系列的数字编号给出注释,尤其在编写底层驱动程序的时候(比如管脚
编号)。
【规则 2-13】对于函数的入口出口数据给出注释。
关于函数的注释在函数那章有更详细的讨论。
 

注意2:c语言的接续符和转义符
C 语言里以反斜杠(\)表示断行。编译器会将反斜杠剔除掉,跟在反斜杠后面的字符自动接续到前一行。
但是注意:反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格。
#def\
ine MAC\
RO 这是一条合法的\
宏定义
反斜杠除了可以被用作接续符,还能被用作转义字符的开始标识。
常用的转义字符及其含义:

转义字符 转义字符的意义
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
\\ 反斜扛符"\"
\' 单引号符
\a 鸣铃
\ddd 1~3 位八进制数所代表的字符
\xhh 1~2 位十六进制数所代表的字符
 

注意3:左移与右移

注意4:++、--操作符

A) 例子为逗号表达式, i 在遇到每个逗号后,认为本计算单位已经结束, i 这时候自加。
关于逗号表达式与“++”或“--”的连用,还有一个比较好的例子:
int x;
int i = 3;
x = (++i, i++, i+10);

问 x 的值为多少? i 的值为多少?
逗号表达式中, i 在遇到每个逗号后,认为本计算单位已经结束, i 这时候自加。所以,本例子计算完后,i的值为5,x的值为 15。
B) 例子 i 与 10 进行比较之后,认为本计算单位已经结束, i 这时候自加。
C) 例子 i 遇到分号才认为本计算单位已经结束, i 这时候自加。
也就是说后缀运算是在本计算单位计算结束之后再自加或自减。 C 语言里的计算单位大体分为以上 3 类。

注意5:2/(-2)的值是多少

2/(-2)的值为多少? 2%(-2)的值呢?
如果与你想象的结果不一致,不要惊讶。我们先看看下面这些规则:
假定我们让 a 除以 b,商为 q,余数为 r:
q = a/b;
r = a%b;
这里不妨先假定 b 大于 0。
我们希望 a、 b、 q、 r 之间维持什么样的关系呢?
1,最重要的一点,我们希望 q*b + r == a,因为这是定义余数的关系。
2,如果我们改变 a 的正负号,我们希望 q 的符号也随之改变,但 q 的绝对值不会变。
3,当 b>0 时,我们希望保证 r>=0 且 r<b。

C 语言或者其他语言在实现整数除法截断运算时,必须放弃上述三条性质中的至少一条。

大多数编程语言选择了放弃第三条,而改为要求余数与被除数的正负号相同
2/(-2)的值为-1      2%(-2)的值0

参考书籍 《C语言深度剖析》
 

猜你喜欢

转载自blog.csdn.net/weixin_42167759/article/details/85248733
今日推荐