C语言编程规范

2026/1/12 17:26:45

1.8 固有数据类型(或预定义或基本数据类型)

由语言本身定义的数据类型,如int。 1.9 用户定义数据类型

编程人员用struct、union、enum或typedef定义的数据类型。 1.10 范围

标识符的范围是指其可见的环境。环境在这里指可以使用该标识符的函数或程序块。 1.11 全局

使用范围没有限制。 1.12 文件级局部

使用范围局限在一个文件中。 1.13 函数级局部

使用范围局限在一个函数中。 1.14 头文件

C程序中用于保存程序的声明的文件称为头文件;头文件以” .h ”为后缀。 1.15 源文件

C程序中用于保存程序的实现的文件称为源文件,源文件以” .c ”为后缀。 1.16 命名规则(naming conventions)

命名规则见表1。

表 1 命名规则 类 别 规则编号 - - 通用规则 规则2.1 - - - - 规 则 内 容 所有模块、函数、变量、宏的名称均由字母、数字和下划线组成; 名称的开始或最后不得使用下划线”_”,(使用操作系统或第三方软件产生的标识符、或为操作系统或第三方软件定义有特殊要求的标识符,确实无法满足本规则的,可例外); 名称中不得包含两个连续的下划线; 数字不能出现在名称的开头; 名称总长度不得超过48字符; 所有的名称均应具有实际含义、体现用途,不得包含那些 4

不被普遍接受的缩略语。 - - - - 变量名以字母、数字和下划线组合而成; 全局变量以\开头。 模块/子系统名以字母、数字和下划线组合而成; 模块/子系统名的定义及使用应在各项目相关文档中说明并在随后的设计过程中遵守。 处理器名以字母、数字和下划线组合而成; 处理器名的定义及使用应在各项目相关文档中说明并在随后的设计过程中遵守。 函数名以字母、数字和下划线组合而成; 函数名需包含处理器名(可选)、模块/子系统名(必选)和功能名(必选)。 宏名和常量的第一个字母要大写,其余的是大写字母、数字或下划线字符,以下划线作为区分语义各部分的分割符。 文件名必须以小写字母、数字和下划线组合而成; 文件名不得超过48个字符(不含扩展名),扩展名不超过3个字符。下划线作为区分语义各部分的分割符。 RTOS任务名以字母、数字和下划线组合而成; RTOS任务名必须以 ”t” 开头,其余的是字母、数字或下划线字符。 中断服务程序名以字母、数字和下划线组合而成; 中断服务程序命名遵守函数的命名规则,末尾必须添加后缀”_isr”。 变量 规则2.2 模块/子系统 规则2.3 处理器 规则2.4 - - 函数 规则2.5 - - - 宏和常量 规则2.6 文件 规则2.7 - - RTOS任务 规则2.8 - - 中断服务程序 规则2.9 - -

1.17 文件组织(file organization) 1.18 头文件的结构

?

规则5.1.1:头文件中的不同类型声明按照以下顺序排列: 版权声明、公司名称(英文);

文件注释(包括文件名称、功能、编写日期、说明和修改历史); 头文件保护开头(#ifndef 文件名_H #define 文件名_H); 包含文件声明; 宏和常量定义; 类型定义(typedef);

5

全局变量声明(extern); 外部函数原型声明(extern); 头文件保护结尾(#endif);

头文件结束(即在头文件尾加一回车); 头文件模板具体见“头文件模板”。

1.19 源文件的结构

?

规则5.2.1:源文件按照以下顺序组织: 版权声明、公司名称(英文);

文件注释(包括文件名称、功能、版本、编写日期、说明和修改历史); 包含文件声明; 局部宏定义;

局部常数和类型定义; 全局变量定义/初始化; 局部函数原型声明; 函数实现; 源文件结束;

源文件的模板具体见“源文件模板”。

1.20 目录结构

? ?

规则5.3.1:头文件和源文件分别保存于不同的目录。 建议5.3.1:私有的头文件可以直接在源文件中声明。

1.21 其它

?

规则5.4.1:要隔离出依赖于机器硬件的代码(DSP为提高效率,采用处理器提供的专用指令除外)。 ? ?

规则5.4.2:将组成某个软件包的一个或多个源文件的接口声明单独放在一个头文件中 规则5.4.3:在#include指示中不能明确指定操作系统、或文件绝对路径、或相对于当前工作目录的文件路径。用#include <文件名.扩展名>代替#include “文件名.扩展名”;符号<>指示预处理程序到预定义的缺省目录下寻找文件,该路径通常在INCLUDE环境变量中指

6

定的。符号“ ”指示预处理程序先到当前目录下寻找文件,再到预定义的缺省路径下寻找文件。

1.22 程序板式

版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。 1.23 空行

空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。 ?

建议6.1.1:在相对独立的程序块之间、变量说明之后、每个函数定义结束之后都要加一行空行。 ?

建议6.1.2:在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。

1.24 代码行

? ?

规则6.2.1:每行最多包含一个声明。

规则6.2.2:if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加”{}”。 ? ?

建议6.2.1:变量的声明与初始化应该尽可能同时进行。 建议6.2.2:用统一的格式书写预处理指令。

1.25 代码行内的空格

?

规则6.3.1:赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=“、”+=“、 “>=“、”<=“、”+”、” * ”、”%”、”&&”、” || “、”<<“, ”^” 等二元操作符的前后必须加空格。但是,如果将二元操作符以及前后两个操作数作为一个整体使用了括号时,则在该操作符前后可以适当减少空格,以使代码更紧凑,阅读起来更清晰。 ?

规则6.3.2:一元操作符 ”! ” 、”~” 、”++” 、 ”--” ”&(地址运算符) ” 等与操作数之间不得加空格。 ? ? ?

规则6.3.3:在 ”[]” 与数组名之间及 ”.”、”->“ 操作符的前后不得加空格。 建议6.3.1:函数名之后不要留空格,紧跟左括号 ”(”。

建议6.3.2:”(” 向后紧跟;”)”、”,”、”;” 向前紧跟,紧跟处不留空格。

7


C语言编程规范.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言编程规范 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219