C++/C 语言编程规范
作者 刘威 编,******@hust.
版本
日期 2013 年 5 月
说明 本规范列举了一些常见的语法规范方面的问题,对应的课堂教学内容包
括 C 语言基本语法、控制语句、数组、函数、指针、结构体、链表、文
件操作等,主要用于课堂实验教学的代码审查。
本规范的内容主要参考林锐博士编著的《高质量程序设计指南—C++/C
语言》,着重其中 C 语言部分,略去其中 C++语法部分,增补了一些在
课堂 C 语法教学中常见的问题。有兴趣提高编程水平的同学,在学习了
C++的语法之后,进一步阅读文后的关于 C++/C 的高质量编程、编程规
范等方面的参考文献。
******@hust. 第 1 页/共 27 页
第1章. 代码文件组织
文件的扩展名
每个 C++/C 的程序模块(module)通常包括两种文件:一种用于存储程序的声明
(declaration),通常称为头文件(header files),以“.h”为文件扩展名后缀;另外一种用
于存储程序的实现(implementation),通常成为定义文件(definition files),以“.c”、“.cpp”、
“.cc”等为扩展名。
【规则】模块与文件的命名要保持一致。
例如,对于日期进行处理的模块名为 date,则其宏定义、函数声明可以放在 的
头文件中,其函数的定义可以放在 的源文件中。
工程文件的组织
在 C++/C 开发环境(例如 Microsoft Visual C++、Codeblocks)中,把完整 C++/C 的程序
以工程(Project)的形式进行组织,可以将多个头文件、定义文件添加到工程中,也可以从
工程中删除文件。从工程中删除文件,通常只是把该文件从软件开发环境的列表中删除,而
不会在磁盘上物理删除。
【规则】大型项目的文件组织可以引入子目录。如果一个软件的文件数目比较多(如超
过十个),文件分别保存在不同的目录中,以便于维护。
可将头文件保存于 include 目录,将定义文件保存于 source 目录。也可以根据模块的名
称,将相应的头文件、定义文件放入到不同的模块子目录中。
编译与调试
在各种开发环境中,pile),也可以对项目整
体构建(build)。pile + link)。
根据 C++/C 的语法规定,一个工程的源代码文件中,只能包括一个 main()函数。编译器通常
会提示警告(warning)和错误(error)信息。
【规则】编程人员应修改代码,直到消除编译器发出的所有警告和错误信息。尚存在编
译警告信息的代码,不是合格的代码。
在各种开发环境中,通常提供了软件调试(debug)的功能,用于对编译通过的程序进
行跟踪调试。调试需要事先在代码行上做断点(breakpoint)标记,并在监视(watch)列表
中输入需要观察的监视量的名称。启动调试后,通过单步跟踪(包括跟踪进入函数、跟踪不
进入函数等选项)等软件操作,可以看到程序运行时内存中监视量的值的情况。
版权和版本的声明
版权和版本的声明位于头文件和定义文件的开头,通常主要内容有:
******@hust. 第 2 页/共 27 页
(1)版权信息。
(2)文件名称,标识符,摘要。
(3)当前版本号,作者/修改者,完成日期。
(4)版本历史信息。
例如:
/*
*文件名称:
*摘要:简要描述本文件的内容
*
*当前版本:
*作者:输入作者(或修改者)名字
*完成日期:2001 年 7 月 20 日
*/
在本课程中,并不硬性规定各文件版权、版本信息的注释的书写格式,但是每个文件都
必须有这些注释。
头文件的结构
头文件通常由三部分内容组成:
(1)头文件开头处的版权和版本声明。
(2)预处理块。
(3)函数和类结构声明等。
例如:
#ifndef GRAPHICS_H // 防止 被重复引用
#define GRAPHICS_H
#include <> // 引用标准库的头文件
#include “”// 引用非标准库的头文件
…
void Function1(…); // 全局函数声明
…
class Box // 类结构
C++C 语言编程规范 来自淘豆网m.daumloan.com转载请标明出处.