c语言书写规范

篇一:C语言书写规范

1.C语言书写规范

1.1符号命名规则

1.1.1符号名包括模块名、常量名、标号名、子程序名等。这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解。命名采用匈牙利命名法。规则如下:

(1)所有宏定义、枚举常数和const变量,用大写字母命名。在复合词里用下划线隔开每个词。

(2)复合词中每个单词的第一个字母大写。除了规则5.1.1.1以外,避免使用下划线。

(3)类、类型定义和枚举型名的第一个字母大写。

(4)函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。

(5)循环变量可采用i, j, k等,不受上述规则限制。

(6) 类的成员变量应采用m_开头。

(7) 全局变量词头为g_ 。

(8) 临时变量词头为tmp_ 。

(9) 对结构体内的变量命名, 遵循变量的具体含义命名原则

(10)用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。

表 1

词 头 类 型 词 头 类 型

ch char l long

i integer u unsigned

b boolean p pointer

f float lp long pointer

d double s string

st structure sz ASCII string

by byte n short int

H handle x,y 分别为x,y坐标

dw DWORD fn function

表 2

词 头 变 量 名 词 头 变 量 名

task task sig signal

sb binary semaphores wd watchdog

sm mutual exclusion

semaphores tm timer

sc counting semaphores msg message

pipe pipe

例:

#define ARRAY_SIZE 24 /*规则5.1.1.1*/

int g_iFlag;

class MyClass /*规则5.1.1.3*/

{

};

void someFunc( ) /*规则5.1.1.2和5.1.1.4*/

{

.2.

Q/ECC/BJ 010—2001

int nArray[ARRAY_SIZE];

unsigned char uchByte;

char szName[ ];

char *pszName = szName;

}

(11)有些词头(如p和u)可以和其它词头组合。

例:WDOG_ID wdId;

WDOG_ID g_wdId; /*全局watchdog Id,故以g_开头*/

1.1.2名字的长度一般不要过长或过短。过长的名字会增加工作量,使程序逻辑流程变得模糊;过短的名字无法表达符号的实际意义。约定长度范围:3-31;

1.2数据和函数说明

1.2.1数据说明次序应当规范化,使数据属性容易查找,也有利于测试、排错和维护。说明的先后次序应固定,应按逻辑功能排序,逻辑功能块内建议采用下列顺序:整型说明、实型说明、字符说明、逻辑量说明。

1.2.2如果设计了一个复杂的数据结构,应当通过注释对其变量的含义、用途进行说明。

1.2.3在函数的声明中使用异常声明。

如:void f() throw(toobig, toosmall, divzero);

在声明一个函数时,将它所抛出的异常列出,便于函数的使用者了解可能会发生哪些异常。

1.3 程序注释

1.3.1程序注释是程序员与日后的程序读者之间通信的重要手段之一,注释分为文件注释、函数注释和功能注释。

1.3.2正规程序的注释应注意:

——注释行的数量占到整个源程序的1/3到1/2。

1.3.3文件注释位于整个源程序的最开始部分,注释后空两行开始程序正文。它包括:

——程序标题。

——目的、功能说明。

——文件作者、最后修改日期等说明。

例:

./********************************************************************(空一行)

标题: Demo.c

功能: 测试VxWorks的各种系统调用.

说明:

该程序测试各种VxWorks的系统调用函数。包括任务(taks)的创建、挂起及任务间通过信号灯实现同步,通过消息队列进行通讯。

程序创建了两个任务:一个高优先级的任务和一个低优先级的任务。两个任务间通过一个二进制的信号灯进行同步,通过消息队列进行通讯。

当前版本: x.x

修改信息: 2000.06

C语言头文件一般以什么名称结尾,c语言书写规范.doc相关推荐

  1. c语言头文件编写范例,编写自己的C语言头文件

    编写自己的C语言头文件 1. 头文件用于声明而不是用于定义 当设计头文件时,记住定义和声明的区别是很重要的.定义只可以出现一次,而声明则可以出现多次(2.3.5节).下列语句是一些定义,所以不应该放在 ...

  2. c语言程序头文件作用,C语言头文件

    C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...

  3. C语言头文件、库文件的查找路径

    一.讨论环境 *操作系统:Redhat5/Fedora14 *编译器:gcc 4.5.1 以下言论仅确保在以上环境中,绝对正确.别的环境,大家可以通过类比方法,得到启示. 二.C语言头文件的查找路径 ...

  4. C语言头文件 “ 细节 ”

    很多事不深入以为自己懂了,但真正用到项目上,才发现了问题.曾以为自己写C语言已经轻车熟路了,特别是对软件文件的工程管理上,因为心里对自己的代码编写风格还是有自信的.(毕竟刚毕业时老大对我最初的训练就是 ...

  5. C语言头文件#includestdlib.h的作用

    stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C.C++语言的最常用的系统函数 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五种类 ...

  6. c语言中的头文件stdlib.h的作用,C语言头文件#includestdlib.h的作用

    stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C.C++语言的最常用的系统函数 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五种类 ...

  7. vhdl文件添加c语言头文件,C语言对VHDL设计文件的协同仿真 - 基于Modelsim FLI接口的协同仿真技术...

    4 C语言对VHDL设计文件的协同仿真 4.1 构成框图 仿真文件的构成如图3所示,包括HDL文件和动态链接库(即c程序).图中c程序对应的VHDL文件要负责声明对应的动态链接库文件名及初始化函数,另 ...

  8. C语言头文件深入理解

    C语言程序中,源文件通常分为两种:一种用于保存程序的声明(declaration),称为头文件:另一种用于保存程序的实现(implementation),称为定义(definition)文件. C程序 ...

  9. C语言头文件避免重复包含

    C语言头文件避免重复包含 假定有以下几个头文件及其包含关系为: File1.h,file2.h,file3.h,file4.h,file5.h,main.cpp 那么:file3.h包含file1.h ...

最新文章

  1. 【MATLAB】数据分析之多项式及其函数
  2. mysql zookeeper 切换_zookeeper在mysql主库选举切换中的应用
  3. The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf
  4. c++ 程序时间运算 函数;
  5. AWARD BIOS设置(INTEL芯片组)
  6. 使用SoapUI调用安全WCF SOAP服务–第1部分,该服务
  7. ZOJ 2562 More Divisors
  8. 安卓注册手机短信验证码验证的案例-02
  9. 从事前端开发必须要了解的CSS原理(转)
  10. DSF深搜入门全排列笔记nyoj366
  11. python 强类型 弱类型_强类型、弱类型
  12. 德标螺纹规格对照表_多大的螺栓用多大规格的扳手,一文看懂!
  13. Python 如何从字符串中提取 URL 链接
  14. 爱剪辑手机版 v51.0 至尊内购专业破解版的视频剪辑软件
  15. 数值运算pythonmopn_python – 计算每列的Pandas DataFrame的自相关性
  16. 滚石特写: 沉默7年后, Magic Leap用魔幻现实主义式科技重新定义了自己
  17. 联想SR590服务器管理界面配置
  18. Google Coral USB加速器介绍
  19. 网易新财报:游戏养家,教育维稳、音乐快走
  20. 缓冲进度条或加载进度条

热门文章

  1. 几个有趣的Javascript Hack
  2. 第二个冲刺期的第四天
  3. Oracle数据库中文乱码问题
  4. Elasticsearch查询之term/match解析
  5. 探究Ubuntu如何存储用户登录密码
  6. [转]大学里面一定要了解十五件事
  7. 99年毕业设计获优的程序-图书管理程序 续
  8. 莫比乌斯反演习题总结
  9. poj 1088(记忆化搜索)
  10. 【改进】用Log4net建立日志记录