c语言注释符号 井号,读c语言深度剖析 -- 符号 注释符号
标准C语言的基本符号
,逗号 >右尖括号 . 圆点 !感叹号 ;分号 | 竖线 :冒号 /斜杠 ?问号 \反斜杠
’单引号 ~波折号 “双引号 #井号 ( 左圆括号 )右圆括号 [ 左方括号 ]右方括号
{左大括号 }右大括号 % 百分号 &and(与) ^ xor(异或) *乘号 -减号 =等于号
注释符号
几个似非而是的注释问题
C语言的注释可以出现在C语言代码的任何地方。这句话是不对的、
1 int/*...*/i; 编译器的确会将注释剔除,但不是简单的剔除,而是用空格代替原来的注释
2 char*s="abcdefgh //hijklmn";我们知道双引号引起来的是字符串常量,那双斜杠也不例外
3 //Isita \
validcomment? 这是一条合法的注释,因为\是一个接续符
4 //in/*…*/ti;
5 /*这是*/#/*一条*/define/*合法的*/ID/*预处理*/replacement/*指*/list/*令*/
6 y=x/*p 报错 这个表达式其实只是表示把x的值赋给y,/*后面的内容都当作注释。但是,由于没有找到*/,所以提示出错。也就是说只要斜
杠 (/)和星号(*)之间没有空格,都会被当作注释的开始。这一点一定要注意。 修改为y=x/ *p或者y= x/(*p)
出色注释的基本要求
1 注释应当准确、易懂,防止有二义性。错误的注释不但无益反而有害。
2 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要及时删除。
3 注释是对代码的“提示”,而不是文档。程序中的注释应当简单明了,注释太多了会让人眼花缭乱。
4 一目了然的语句不加注释。 例如:i++;/*i加1*/多余的注释
5 对于全局数据(全局变量、常量定义等)必须要加注释。
6 注释采用英文,尽量避免在注释中使用缩写,特别是不常用缩写。因为不一定所有的编译器都能显示中文,别人打开你的代码,
你的注释 也许是一团乱码。还有,你的代码不一定是懂中文的人阅读。
7 注释的位置应与被描述的代码相邻,可以与语句在同一行,也可以在上行,但不可放在下方。同一结构中不同域的注释要对齐。
8 当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。
9 注释的缩进要与代码的缩进一致。
10 注释代码段时应注重“为何做(why)”,而不是“怎么做(how)”。
说明怎么做的注释一般停留在编程语言的层次,而不是为了说明问题。尽力阐述“怎么做”的注释一般没有告诉我们操作的意图,
而指明“怎么做”的注释通常是冗余的。
11 数值的单位一定要注释。注释应该说明某数值的单位到底是什么意思。比如:
关于长度的必须说明单位是毫米,米,还是千米等;关于时间的必须说明单位是时,分,秒,还是毫秒等。
12 对变量的范围给出注释。
13 对一系列的数字编号给出注释,尤其在编写底层驱动程序的时候(比如管脚编号)。
14 对于函数的入口出口数据给出注释。关于函数的注释在函数那章有更详细的讨论。
接续符和转义符
C语言里以反斜杠(\)表示断行。编译器会将反斜杠剔除掉,跟在反斜杠后面的字符自动接续到前一行。
但是注意:反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格。(不太准确)
//Isita \
validcomment? 前边可以有空格
#def\
ine MAC\ 前边不可以有define
RO这是一条合法的\ 前边可以有
宏定义
cha\
r* ch="这是一个合法的\\ 前边不可以有 char
n字符串"; 前边可以有
综上可知当下一行的字符与上一行联系很密切的时候(关键字等等)下一行前边不可有空格
而紧随\ 后是肯定不可以有空格
再例
//这是一条合法的\
单行注释 前边可以有空格
/\
/这是一条合法的单行注释 前边不可以有因为 //注释符不能分开
注释小故事一则
安息吧,路德维希.凡.贝多芬
在《CodeComplete》这本书中,作者记录了这样一个故事:
有位负责维护的程序员半夜被叫起来,去修复一个出了问题的程序。但是程序的原作
者已经离职,没有办法联系上他。这个程序员从未接触过这个程序。在仔细检查所有的说明
后,他只发现了一条注释,如下:
MOVAX723h;R.I.P.L.V.B.
这个维护程序员通宵研究这个程序,还是对注释百思不得其解。虽然最后他还是把程
序的问题成功排除了,但这个神秘的注释让他耿耿于怀。说明一点:汇编程序的注释是以分
号开头。
几个月后,这名程序员在一个会议上遇到了注释的原作者。经过请教后,才明白这条
注释的意思:安息吧,路德维希.凡.贝多芬(Restinpeace,LudwigVanNeethoven)。贝多芬于
1827年逝世,而1827的十六进制正是723。这真是让人哭笑不得!
c语言注释符号 井号,读c语言深度剖析 -- 符号 注释符号相关推荐
- c语言输入字符串以井号结束,C语言中两个井号“##”和一个井号#的使用方法[转]...
最近看了一些dsp的库函数,发现了一些使用##的宏定义,以前没有用到过,后来差了些资料,学习了##的用法. 例如下面的语句: #define CSL_FMK(PER_REG_FIELD, val) ...
- c语言深度剖析(12)—注释符号
1. 似是而非的问题 下面的注释是正确的吗? #include<stdio.h>int main() {int/**/i; //合法int i;char* s = "abcdef ...
- 【原创】【C语言】‘#’(井号)和‘##’(双井号)用法
一,这是个什么玩意 有时候在宏定义或打印语句中经常见到#井号或者##双井号,看着很牛逼的用法 二,有毛用啊 #:表示字符串化:##:表示concatenate(连接) 具体就是,#号的功能是将其后面的 ...
- c语言深度剖析(2)—有符号与无符号
1. 数据类型 1.1 计算机中的符号位 有符号编码规则:数据的最高位用于标识数据的符号 最高位为1,表示这个数为负数 最高位为0,表示这个数为正数 无符号编码规则:数据的最高位不代表符号位 计算机 ...
- 单片机c语言必背代码_【典藏】深度剖析单片机程序的运行(C程序版)
1.日常聊一聊 今天为大家带来一篇对于单片机学习的小伙伴非常重量级的一篇文章<深度剖析单片机程序的运行(C语言版本)>,该文章会比较全面的为大家解析我们的用C语言编译出来的程序是如何在单片 ...
- 树莓派系统无法打出艾特符号井号双引号(@#“)
在terminal里输入 // 编辑映射文件 sudo nano /etc/default/keyboard 可以看到有行 XKBLAYOUT="gb" 将gb改成us,ctrl+ ...
- c语言输入字符串以井号结束,C语言的井号(#)特殊用法(#define)
一:特殊的字符串宏 [cpp] #define A(x) T_##x #define B(x) #@x #define C(x) #x 我们假设x=1, 则上面的宏定义会被解释成以下的样子 A(1)- ...
- c语言磁盘文件只有写没读,C语言的磁盘文件问题
匿名用户 1级 2010-04-06 回答 C语言文件操作函数 1,两种文件存取方式(输入,输出方式) 顺序存取 直接存取 2,数据的两种存放形式 文本文件 二进制文件 13.2文件指针 定义文件类型 ...
- python语言的单行注释以井号开头_python多行注释-注释,python
本教程分享:<python多行注释>, python 多行注释 第一次可以注释,第二次多行注释就不成功... 1. 三引号从来就不是注释而是字符串,是保留原格式的字符串而已,真的会被编译器 ...
最新文章
- shell批量增删改查百库百表(mysql)
- RabbitMQ单机多实例配置
- Java-NIO(三):直接缓冲区与非直接缓冲区
- 【HTML】如何在网页中屏蔽右键 ?
- (90)Verilog HDL系统函数和任务:$fmonitor
- IDEA中Maven项目导入依赖包,出现红线波浪线
- PHP+MYSQL 出现乱码的解决方法
- 我也不知道取什么标题好了!
- Qt + 运动控制 (固高运动控制卡)【2】运动控制卡初始化和关闭
- 从一个路由器里面接出一条网线,连接到另一个路由器
- java怎么给文件加密_java中如何给文件加密
- 计算计算机ip地址,怎么样计算电脑的IP地址、IP掩码、默认网关?
- [数分笔记]关于有限覆盖定理
- 笔记本电脑通过手机蓝牙上网
- 亚马逊、敦煌、速卖通、阿里国际站、lazada、shopee、ebay、wish、wayfair、mercari、沃尔玛、newegg 跨境电商运营实战攻略
- 2013年第十九届全国青少年信息学奥林匹克联赛初赛
- CSS (3) | 盒子
- 转型下一站:IT服务
- 操作系统期末复习重点
- 基于C++实现的股票大数据的统计分析与可视化