ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:71.45KB ,
资源ID:2805913      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2805913.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言编程规范10.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言编程规范10.docx

1、C语言编程规范10C编码规范109条规则49条建议杨福田 1.文件结构(4条规则6条建议)C程序文件通常分为两类文件:一类文件用于保存程序的声明(declaration),称为头文件。头文件以“.h”为后缀。另一类文件用于保存程序的实现(implementation),称为定义(definition)文件。定义文件以“.c”为后缀。对于简单的C语言程序,一般在把头文件和程序定义文件放在一起,只有一个.c定义文件即可。而对于复杂的程序,则多采用头文件包含的形式并通过多个定义文件实现。1.1 版权和版本的声明 版权和版本的声明一般应该位于头文件和定义文件的开头(参见示例1-1),主要内容包括:(1

2、)版权信息;(2)文件名称、文件标识、摘要;(3)当前版本号、作者/修改者、修改日期、修改描述等;(4)版本历史信息、原作者、完成日期等。/* Copyright (c) 2008,上海海同信息科技有限公司* All rights reserved.* 文件名称:filename.h* 文件标识:根据软件工程设置* 摘要:简要描述本文件的作用和内容等*/下面其它的声明代码/下面是原作者、版本、完成、日期和当前版本的信息/* 当前版本:1.0.1* 作者:修改者名字,修改日期:2005年4月5日* 修改的地方描述:*/* 取代版本:1.0.0* 原作者:原作者名字,完成日期:2004年12月31

3、日*/示例1-1 版权和版本的声明版本标识:采用. 来命名自己产品的编号。一般这样约定,如果次版本号是偶数(如0、2、4等),代表正式版本,如果次版本号是奇数(如1、3、5等),代表开发过程中的测试版本。修订号则相当于Build号,用来标识一些小的改动。1.2 头文件的结构头文件由三部分内容组成:(1)文件开头处的版权和版本声明(参见示例1-1);(2)预处理块;(3)声明函数原型和声明数据结构或变量等。假设头文件名称为filename.h,头文件的结构参见示例1-2。/* Copyright (c) 2004,北大青鸟培训中心* All rights reserved.* 文件名称:file

4、name.h* 文件标识:根据软件工程设置* 摘要:简要描述本文件的作用和内容等*/#include #include #include / 引用头文件struct studentstructint no; char name20; char sex; float score;void GetValue()void SetValue(int no)/后面同示例 1-1。示例1-2 C头文件结构1.3 定义文件的结构定义文件有三部分内容:(1)定义文件开头处的版权和版本声明(参见示例1-1);(2)对一些头文件的引用;(3)程序的实现体(包括数据和代码)。假设定义文件的名称为filename.c

5、,定义文件的结构参见示例1-3/* 版权和版本声明见示例1-1,此处省略。*/#inlcude “filename.h”#ifndef GRAPHICS_H / 防止graphics.h 被重复引用#define GRAPHICS_H/* 函数的实现体*/void GetValue() /* 函数的实现体*/void SetValue(int no)void main() 示例1-3 C定义文件的结构1.4头文件和定义文件使用(4条规则6条建议)【规则1-2-1】在复杂的工程文件中,为了防止头文件被重复引用,应使用ifndef/define/endif 结构产生预处理块。【规则1-2-2】用#

6、include 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。【规则1-2-3】用#include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。【规则1-2-4】只引用必需的头文件,不要为了防止忘记包含头文件而在每个文件开始添加很多的头文件。【建议1-2-1】不要在头文件中定义常量或变量,注意头文件只是用来声明。【建议1-2-2】不提倡使用全局变量,尽量不要在头文件中出现像“extern int width;”这类声明。【建议1-2-3】将非系统的函数库放在一个单独的目录下引用。【建议1-2-4】头文件应按功能组织在一起,即对单独子系统

7、的声明应放在单独的头文件中。此外,当代码从一个平台移植到另一个平台时有可能发生更改的声明应位于单独的头文件中,并进行相应的注释。【建议1-2-5】避免使用与函数库中专用头文件名相同的头文件名。语句 #include math.h 如果在当前目录中找不到所期望文件的话,会包括标准库 math 头文件。【建议1-2-6】包含头文件时一般不使用绝对路径名。2.程序版式(35条规则2条建议)2.1 空行(4条规则)空行起着分隔程序段落的作用,空行得体将使程序的布局更加清晰。空行不会浪费内存,所以不要舍不得用空行。【规则2-1-1】在函数内部局部变量定义结束之后处理语句之前要加空行。【规则2-1-2】在

8、每个函数定义结束之后都要加空行。参见示例2-1(a)。【规则2-1-3】函数返回语句和其他语句之间使用空行分开。【规则2-1-4】在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应加空行分隔。参见示例2-1(b)。示例2-1(a) 函数之间的空行 示例2-1(b) 函数内部的空行2.2 代码行(5条规则1条建议)【规则2-2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便写注释。【规则2-2-2】if、for、while、do 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加表明是一个语句块。【规则2-2-3】一对花括号要单独各

9、占一行。但是在do-while、struct和union及其后有;的除外,要同在一行。例如:do while(i0); 【规则2-2-4】switch语句中的每个case语句各占一行,当某个case语句不需要break语句最好加注释声明。【规则2-2-5】并列的语句行应该按照字母顺序排序,如变量定义和switch中的case语句等。【建议2-2-1】尽可能在定义变量的同时初始化该变量(就近原则),如果变量的引用处和其定义处相隔较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如:int width=20; /* 定义并初绐化width*/in

10、t height=20; /* 定义并初绐化height*/int depth=20; /* 定义并初绐化depth*/风格良好的代码行风格不良的代码行int width; /* 宽度*/int height; /* 高度*/int depth; /* 深度*/int width, height, depth; /* 宽度高度深度*/x=a+b;y=c+d;z=e+f;x=a+b;y=c+d;z=e+f;if( width height )dosomething();if( width =”、“=”、“+”、“*”、“%”、“&”、“|”、“”这类操作符前后不加空格。 例如:big.bar,p

11、File-bar,bigbar【建议2-3-1】对于表达式较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格. 例如:for( i=0; i10; i+ )和if( (a=b) & (c= 2000 )if( (a=b) & (c=2000)if(a=b&c=d)for( i=0; i10; i+ )for(i=0;i10;i+) for (i = 0; i 10; i +)x = a b ? a : b;x=aFunction();array 5 = 0;a.Function();b - Function();2.4 对齐(4条规则)【规则2-4-1】程序的分界符和应独占一行并且位于同一列,同时与引用它们的语句左对齐。【规则2-4-2】水平缩进每次使用四个空格即可(定义一个tab键为四个空格。有的要求缩进两个空格)。【规则2-4-3】同属于一个语句块的代码对齐。【规则2-4-4】 之内的代码块在右边一个tab键处左对齐。风格良好的对齐风格不良的对齐void Function(int x) program codevoid Function(int x)program codeif( condition ) program codeelse program codeif(condition)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1