该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

一个好的程序编写规范是编写高质量程序的保证。清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性。说明

l 本文档主要适用于刚刚开始接触编程的初学者。

l 对于具有一定工程项目开发经验的程序员,建议学习C语言程序代码编写规范—高级版。目录

1 代码书写规范

2 注释书写规范

3 命名规范

4 其它一些小技巧和要求1 代码书写规范1.1函数定义

花括号: { }

每个函数的定义和说明应该从第1列开始书写。函数名(包括参数表)和函数体的花括号应该各占一行。在函数体结尾的括号后面可以加上注释,注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出来函数是否结束。

范例1:函数的声明

void matMyFunction(int n)

{

……

} /* matMyFunction*/1.2空格与空行的使用

要加空格的场合

l 在逗号后面和语句中间的分号后面加空格,如:

int i, j, k;

for (i = 0; i < n; i++)

result = func(a, b, c);

l 在二目运算符的两边各留一个空格,如

a > b a <= b i = 0

l 关键字两侧,如if ()…,不要写成if()…

l 类型与指针说明符之间一定要加空格:

char *szName;

不加空格的场合

l 在结构成员引用符号.和->左右两加不加空格:

pStud->szName, Student.nID

l 不在行尾添加空格或Tab

l 函数名与左括号之间不加空格:

func(…)

l 指针说明符号*与变量名间不要加空格:

int *pInt;不要写成: int * pInt;

l 复合运算符中间不能加空格,否则会产生语法错误,如:

a + = b a < = b 都是错误的

空行与换行

l 函数的变量说明与执行语句之间加上空行;

l 每个函数内的主要功能块之间加空行表示区隔;

l 不要在一行中写多条语句.

范例2:空行与换行

int main()

{

int i, j, nSum = 0; //变量说明

for (i = 0; i < 10; i++) //执行代码

{

for (j = 0; j < 10; j++)

{

nSum += i;

}

}

}1.3缩进的设置

根据语句间的层次关系采用缩进格式书写程序,每进一层,往后缩进一层

有两种缩进方式:1,使用Tab键;2,采用4个空格。

整个文件内部应该统一,不要混用Tab键和4个空格,因为不同的编辑器对Tab键的处理方法不同。1.4折行的使用

· 每行的长度不要超过80个字符,当程序行太长时,应该分行书写。

· 当需要把一个程序行的内容分成几行写时,操作符号应该放在行末。

· 分行时应该按照自然的逻辑关系进行,例如:不要把一个简单的逻辑判断写在两行上。

· 分行后的缩进应该按照程序的逻辑关系进行对齐。例如:参数表折行后,下面的行应该在参数表左括号的下方。

范例2:折行的格式

dwNewShape = matAffineTransform(coords, translation,

rotation);

if (((new_shape.x > left_border) &&

(new_shape.x < right_border)) &&

((new_shape.y > bottom_border) &&

(new_shape.y < top_border)))

{

draw(new_shape);

}1.5嵌套语句(语句块)的格式

对于嵌套式的语句--即语句块(如,if、while、for、switch等)应该包括在花括号中。花括号的左括号应该单独占一行,并与关键字对齐。建议即使语句块中只有一条语句,也应该使用花括号包括,这样可以使程序结构更清晰,也可以避免出错。建议对比较长的块,在末尾的花括号后加上注释以表明该语言块结束。

范例3:嵌套语句格式

if (value < max)

{

if (value != 0)

{

func(value);

}

}

} else {

error("The value is too big.");

} /* if (value < max) */2 注释书写规范

注释必须做到清晰,准确地描述内容。对于程序中复杂的部分必须有注释加以说明。注释量要适中,过多或过少都易导致阅读困难。2.1注释风格

· C语言中使用一组(/* … */)作为注释界定符。

· 注释内容尽量用英语方式表述。

· 注释的基本样式参考范例4。

· 注释应该出现在要说明的内容之前,而不应该出现在其后。

· 除了说明变量的用途和语言块末尾使用的注释,尽量不使用行末的注释方式。

范例4:几种注释样式

/*

* ************************************************

* 强调注释

* ************************************************

*/

/*

* 块注释

*/

/* 单行注释 */

//单行注释

int i; /*行末注释*/2.2何时需要注释

· 如果变量的名字不能完全说明其用途,应该使用注释加以说明。

· 如果为了提高性能而使某些代码变得难懂,应该使用注释加以说明。

· 对于一个比较长的程序段落,应该加注释予以说明。如果设计文档中有流程图,则程序中对应的位置应该加注释予以说明。

· 如果程序中使用了某个复杂的算法,建议注明其出处。

· 如果在调试中发现某段落容易出现错误,应该注明。3 命名规范3.1常量、变量命名

l 符号常量的命名用大写字母表示。如:

#define LENGTH 10

l 如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接。如:

#define MAX_LEN 50

变量命名的基本原则:

l 可以选择有意义的英文(小写字母)组成变量名,使人看到该变量就能大致清楚其含义。

l 不要使用人名、地名和汉语拼音。

l 如果使用缩写,应该使用那些约定俗成的,而不是自己编造的。

l 多个单词组成的变量名,除第一个单词外的其他单词首字母应该大写。如:

dwUserInputValue。3.2函数命名

函数命名原则与变量命名原则基本相同。对于初学者,函数命名可以采用“FunctionName”的形式。4 其它一些小技巧和要求

l 函数一般情况下应该少于100行

l 函数定义一定要包含返回类型,没有返回类型加void

l 写比较表达式时,将常量放在左边

10 == n

NULL != pInt

l 指针变量总是要初始或重置为NULL

l 使用{}包含复合语句,即使是只有一行,如:

if (1 == a)

{

x = 5;

}

c语言程序前言,C语言 程序代码编写规范前言相关推荐

  1. c语言程序报告的前言,C语言 程序代码编写规范前言

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性 ...

  2. C语言 程序代码编写规范

    前言 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性. 说明 l 本文档主要适用于刚刚开始接 ...

  3. 程序详细设计之代码编写规范_我在不编写任何代码的情况下建立了一个设计策划网站

    程序详细设计之代码编写规范 It's been just over a month since MakeStuffUp.Info - my first solo project as an indep ...

  4. .NET代码编写规范 整理

    .NET代码编写规范 - [ASP.NET] 2009-02-26 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lenspe.blogbus.com/ ...

  5. J2EE项目代码编写规范分享

    码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 servle ...

  6. 微课|中学生可以这样学Python(1.3节):Python代码编写规范

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第1章  Python概述 1.3  Python代码编写规范 京东购买链接:https://it ...

  7. 长沙北大青鸟java 学费_长沙北大青鸟学校好不好 长沙北大青鸟实力学费一览表:Java代码编写规范(二)...

    原标题:长沙北大青鸟学校好不好 长沙北大青鸟实力学费一览表:Java代码编写规范(二) 文件名规范 1.一个Java源文件只能存储个Java类. 2.文件名与Java类名相同. 3.一个类文件的代码行 ...

  8. 软件开发php代码规范,php开发规范_PHP代码编写规范

    摘要 腾兴网为您分享:PHP代码编写规范,篆刻字典,优酷,学习计时,小t智联等软件知识,以及我爱写真网,哔哩哔哩唧唧app,碟中碟虚拟光驱,鬼泣31.3,西伯利亚t18,兄弟7450打印机驱动,活动a ...

  9. 高质量JAVA代码编写规范

    1. Java 命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符.此外,一般应采用小写字母,但类名.接口名以及任何非初始单词的第一个字母要大写. 1.1 一般概念 * 尽量使用完整的英 ...

最新文章

  1. DataGrid连接Access的快速分页法(1)——需求与现状
  2. CISCO上ADSL配置的方法
  3. Python实战2 - 200行Python代码实现2048(控制台)
  4. IIS+php无法上传图片(转载自http://hi.baidu.com/0wem/blog/item/d222db163c3c831e972b4306.html)...
  5. TableView下拉图片放大
  6. 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
  7. java PKCS7Padding 加密Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
  8. C语言fgets函数了解
  9. 保卫Google!刻不容缓
  10. Atitit.数据检索与网络爬虫与数据采集的原理概论
  11. PowerDesigner 报错 Could not Initialize JavaVM!
  12. 黑鲨给电脑重装系统的详细步骤
  13. 阅读野火stm32代码思考
  14. 非常好用的桌面壁纸更换软件
  15. 中山西路620号 的人才服务中心搬到 梅园路77号去了
  16. 致中小保险企业——活下去,活的久,才有更多机会...
  17. win7计算机无法最大化,win7系统窗口老是以最大化显示且不能还原的具体方法
  18. 中国人民解放军郑州计算机学院官网,解放军信息工程大学录取分数线2021
  19. AutoWare install
  20. python折叠次数计算、一张纸5毫米_一张纸折叠多次后会怎样?计算机模拟得出,它能突破宇宙范围...

热门文章

  1. php开发添加表情功能,WordPress网站评论区如何实现添加表情包功能?
  2. Java 判断目录是否为空
  3. Redis发布订阅模式
  4. C++ 读取单个字符
  5. Jsoup从元素中抽取属性 文本和HTML
  6. python编码和解码_uu --- 对 uuencode 文件进行编码与解码 — Python 3.7.9 文档
  7. jsp论坛网站模版_网站被降权了?看看这些解决方法,或许有帮助哦
  8. 【OpenCV 例程200篇】99. 修正阿尔法均值滤波器
  9. 【OpenCV 例程200篇】94. 算术平均滤波器
  10. matlab压控振荡器,MATLAB仿真应用_第5章(1)解析.ppt