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

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

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. c语言实验报告实验要求,c语言实验报告格式要求.doc

    c语言实验报告格式要求.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档 ...

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

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

  5. c语言程序报告样例,C语言个人实习报告定稿(样例3)

    <C语言个人实习报告.doc>由会员分享,可免费在线阅读全文,更多与<C语言个人实习报告[定稿]>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1 ...

  6. c语言程序报告学分信息管理,C语言程序报告学生学籍信息管理系统(总21页

    <C语言程序报告学生学籍信息管理系统(总21页>由会员分享,可在线阅读,更多相关<C语言程序报告学生学籍信息管理系统(总21页(21页珍藏版)>请在人人文库网上搜索. 1.C语 ...

  7. c语言程序报告学分信息管理,c语言程序报告学生学籍信息管理系统.docx

    文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] C语言程序报告学生学籍信息管理系统 C语言课程设 ...

  8. 哈工大威海c语言实验报告 第八章 无法运行程序,哈工大威海c语言实验报告.doc...

    哈工大威海c语言实验报告 PAGE PAGE 25 哈工大威海c语言实验报告篇一:C语言实验报告2至4章实验2(1)#includemain(){int s=1,n;scanf("%d&qu ...

  9. c语言实验报告5数组,c语言实验报告五一维数组.doc

    c语言实验报告五一维数组 <C程序设计>课程实验报告 学院: 班级: 姓名: 学号: 实验设备:计算机1台2011年3月1日 实验项目名称一维数组 掌握一维数组的定义.初始化,以及一维数组 ...

最新文章

  1. 【Qt】Qt再学习(十二):QGraphicsItem
  2. 网络编程试卷选择解析
  3. android 输入法 suretype,没输入法的年代,黑莓都有哪些经典键盘?
  4. 虚幻争霸服务器维护,《虚幻争霸》将于4月停止运营 玩家可全额退款
  5. 如何更改微调器的文字大小和文字颜色?
  6. Centos 7 下 Corosync + Pacemaker + DRBD + psc + crmsh 实现 mysql 服务高可用
  7. 分布式计算引擎MapReduce
  8. 【2016年第2期】大数据时代下中国社会调查的科学新观
  9. 使用shell测试cdn状态
  10. 备份long字段数据
  11. path的图片下拉效果
  12. conn (php)
  13. itools苹果录屏大师_如何录制ZOOM视频会议?实用的录屏软件
  14. fiddler抓不到pc微信小程序包解决办法
  15. xmapp下mysql的密码更改
  16. linux考试不及格反思100字,考试没考好的反思总结(精选10篇)
  17. MySQL知识点整理汇总
  18. MySQL无效的月份_ORACLE 插入时间时显示'无效的月份'的问题
  19. 码蹄集 - MT3029 - 新月轩就餐
  20. 2022年这5款熟悉的软件退出了历史舞台

热门文章

  1. 计算机 图论基础知识,计算机基础知识
  2. 【前端周刊】20190606
  3. 12.2 asmca fails with 'ORA-00845'
  4. 通过jQuery EasyUI实现基本的拖放,此为转发!!大家学习讨论
  5. 详述怎么使用Linux救援模式
  6. 新冠感染池检测选取最优池检测人数(概率模型理论公式+蒙特卡洛matlab仿真)
  7. java创建线程的两种方法是_java创建线程的两种方法
  8. oracle共享内存不足,Oracle数据库共享内存分配不足怎么办
  9. java 调试js_Java与JS代码调试技巧
  10. fastjson maven依赖_Spring Boot 使用 Maven 定制一个 parent 简化开发