c 程序的书写格式

合集下载

C语言格式书写指导规范

C语言格式书写指导规范

C语言书写规范指南第1章文件结构每个C程序通常分为两个文件。

一个文件用于保存程序的声明(declaration),称为头文件。

另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。

C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀。

1.1版权和版本的声明版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:(1)版权信息。

(2)文件名称,标识符,摘要。

(3)当前版本号,作者/修改者,完成日期。

(4)版本历史信息。

/**Copyright(c)2001,吉林大学物理学院无线电*Allrightsreserved.**文件名称:filename.h*文件标识:*摘要:简要描述本文件的内容**当前版本:1.1*作者:输入作者(或修改者)名字*完成日期:2007年7月20日**取代版本:1.0*原作者:输入原作者(或修改者)名字*完成日期:2007年5月10日*/示例1-1版权和版本的声明1.2头文件的结构头文件由三部分内容组成:(1)头文件开头处的版权和版本声明(参见示例1-1)。

(2)预处理块。

(3)函数和类结构声明等。

假设头文件名称为SCL_SPI.h,头文件的结构参见示例1-2。

【规则1-2-1】为了防止头文件被重复引用,应当用#ifndef/#define/#endif结构产生预处理块。

【规则1-2-2】用#include <filename.h>格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。

【规则1-2-3】用#include “filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。

【规则1-2-4】#include 后面使用TAB键控制排版。

【规则1-2-5】头文件中只存放“声明”而不存放“定义”【规则1-2-6】全局变量在头文件中声明,在.c文件中定义.h extern in tvalue; 声明。

C语言格式书写规范

C语言格式书写规范

C语言书写规范指南第1章文件结构每个C程序通常分为两个文件。

一个文件用于保存程序的声明(declaration),称为头文件。

另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。

C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀。

1.1版权和版本的声明版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:(1)版权信息。

(2)文件名称,标识符,摘要。

(3)当前版本号,作者/修改者,完成日期。

(4)版本历史信息。

/**Copyright(c)2001,吉林大学物理学院无线电*Allrightsreserved.**文件名称:filename.h*文件标识:*摘要:简要描述本文件的内容**当前版本:1.1*作者:输入作者(或修改者)名字*完成日期:2007年7月20日**取代版本:1.0*原作者:输入原作者(或修改者)名字*完成日期:2007年5月10日*/示例1-1版权和版本的声明1.2头文件的结构头文件由三部分内容组成:(1)头文件开头处的版权和版本声明(参见示例1-1)。

(2)预处理块。

(3)函数和类结构声明等。

假设头文件名称为SCL_SPI.h,头文件的结构参见示例1-2。

【规则1-2-1】为了防止头文件被重复引用,应当用#ifndef/#define/#endif结构产生预处理块。

【规则1-2-2】用#include <filename.h>格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。

【规则1-2-3】用#include “filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。

【规则1-2-4】#include 后面使用TAB键控制排版。

【规则1-2-5】头文件中只存放“声明”而不存放“定义”【规则1-2-6】全局变量在头文件中声明,在.c文件中定义.h extern in tvalue; 声明。

C语言程序书写格式

C语言程序书写格式

C语言程序书写格式
C语言程序书写格式
引导语:为了增强C语言的可读性,正确的书写格式就显得十分重要。

以下是店铺分享给大家的'C语言程序书写格式,希望大家喜欢!
例.习分析下列程序的输出结果:
程序内容如下:
Multiply(x,
y)
int
x,y;return(x,Y);
}main (){
int a,
b;a=5}
B=6;printf(
”%d\n”,
multiply
(a,b)
);
)
读者一定会发现这个程序不容易读懂。

主要是书写上没有按照习惯的格式。

语言书写要求比较自由,一般只要一个单词不得分开写,单词之间用空白符分隔,而空白符包含空格符、水平制表符和换行符等。

因此,例1. 3中的程序书写上并没有词法错误。

执行该程序后,会在屏幕上显示出如下结果:
30
如果将该程序重新书写一遍,如下所示。

例1. 4〕将例1. 3程序重新书写如下:
rnultiply(x,y)
Int,x,y;
{
return(x * y);

main()
{
Int a,b;
printf ("%d\n" , multiply La, b)); 【C语言程序书写格式】。

C语言教案

C语言教案

重庆市农业学校
理论课程教师教案本
(2013 —2014 学年第二学期)
专业名称农村电气技术
课程名称C语言程序设计
授课教师甘雨
学校重庆市农业学校
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排
授课主要内容或板书设计
课堂教学安排。

c语言选择判断题

c语言选择判断题

判断题:1、在C语言中,枚举元素表中的元素有先后次序,可以进行比较。

2、当需要接受用户从键盘输入的含有空格的字符串时,应使用gets()函数。

3、在C语言中,枚举元素表中的元素有先后次序,可以进行比较。

4、使用联合体union的目的是,将一组具有相同数据类型的数据作为一个整体,以便于其中的成员共享同一存储空间。

5、系统中标准输入文件是指硬盘。

6、已知函数调用形式:fread(buffer,size,count,fp);其中buffer代表的是一个指针,指向要读入数据的存放地址。

7、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是追加。

8、枚举元素的值可以是整数或字符串。

9、可以在定义枚举类型时对枚举元素进行初始化。

10、若要"为读/写建立一个新的文本文件",在fopen函数中应使用的文件方式为"w+"。

11、标准输入输出函数中,将一个字符写到磁盘文件上去,应调用fputc函数。

12、在c语言中,库函数fprintf是按指定的格式将数据写入文件,如果执行成功,函数返回的是结束符。

13、操作系统是以文件为单位对数据进行管理的。

14、"C"指字符常量C。

15、字符串"china"在内存中占据的存储空间是5个字节。

16、char *name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。

17、调用strlen("abc\0ef\0g")的返回值为8。

18、if(a==b)语句可用于判断两个字符串a和b是否相等。

19、两个字符串所包含的字符个数相同时才能比较字符串大小。

20、字符个数多的字符串比字符个数少的字符串大。

21、字符数组的字符串可以整体输入输出。

22、C语言本身没有输入输出语句。

23、在C程序中,注释说明只能位于一条语句的后面。

24、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为:char = int < long int <= float < double25、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为7。

C语言判断题(部分)

C语言判断题(部分)

第一章C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。

TC语言中,关键字及编译预处理命令用小写字母书写。

T二元运算符均可以和赋值运算符构成复合的赋值运算符。

TC语言中,不能在变量名、函数名、关键字中插入空格和空行。

TVasual c++6.0中可以使用“//”和“/* */”注释程序,注释部分不编译。

TC语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。

TC语言中,为了区别一般的变量,符号常量必须用大写字母表示。

F执行语句++i ; i=3;后变量i的值为4。

F程序中的“=”是赋值号,与数学中等号的功能相同。

FC语言中,在进行混合运算时,数据类型由高级向低级转换。

F 将C程序编译成目标文件,其扩展名为EXE。

F整数在存储时不会产生误差,实数在存储时也不会产生误差。

F 用float定义的实型变量在内存占8个字节,输入/输出格式符是%f。

fC语言中,putchar函数的功能是把一字节代码输出到标准输出设备。

T字符数据与整型数据可互相赋值。

T增1(或自增)、减1(或自减)运算符都是双目运算符。

F逗号表达式的值是第一个表达式的值。

FC语言中,强制类型转换后,原变量的值和数据类型不变。

T字符数据在内存以ASCII码存储,占2个字节,用7位二进制表示。

FC程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句。

T第二章if(表达式)语句1 else 语句2 结构中,如表达式为a>10,则else的条件隐含为a<10。

FC语言规定,else总是与它上面、最近的、尚未配对的if配对。

Tswitch…case结构中case后的表达式必须为常量表达式。

T可以用swicth结构实现的程序都可以使用if语句来实现。

T switch…case结构中条件表达式和常量表达式值可以为float类型。

C语言基础及程序设计格式

C语言基础及程序设计格式

\‘ 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符

如‘\2’ 代表笑脸 , ‘\22’ 代表箭头
• \xhh 1~2位十六进制数所代表的字符
• 如 ‘\x23’ 代表#
例6
设有语句char a=‘\72’,则变量a是 • (1)包含1个字符 (2)包含2个字符 • (3)包含3个字符 (4)说明不合法
int x, y, z; x=2; y=3; z=x+y; printf("x+y=%d\n",z); }
• 程序格式
• 关键字及编译预处理命令成。
• 以分号(;)作为语句的结束符, (不是分隔符)。
• 没有行的概念,可任意书写。
• 用大括号对{}表示程序的层次 范围,一个完整的程序模块要 用一对{}包括。
• 整型常量又有短整型(shot int)、基本整型(int)、长 整型(long int)和无符号型(unsigned)
以下均是合法整型常量的是
A 160
-0xffff 011
B
-0xcdf 01a
0xe
C
-01
986,012
0668
D
-0x48a -068
0xf
A
浮点型常量
• 就是平常所说的实数,有两种表示方法 • (1)十进制小数形式。0.123、123.、123.0、0.0、都是十进制小数形式 • (2)指数形式。如123e3或123E3都代表123*103 。 • 注意:字母e(或E)之前必须有数字,e后面的指数必须为整数,如e2、 3.2e2.8、 e2等都
• 下列不正确的转义字符是 。 (1)'\\' (2)'\" (3)'74' (4)'\ddd'

c语言知识点

c语言知识点

程序中的任何部分作注释。

2、标识符、常量和变量0704X13 0709X12(1)标识符1)关键字:在程序中都代表着固定的含义,不能另作他用2)预定义标识符:在程序中预先定义并具有特定含义的标识符,并且允许把它重新定义另作他用,但会失去原有的意义。

3)用户标识符:由用户根据需要定义的标识符。

(2)常量:在程序运行过程中,其值不能被改变的量。

符号常量:用标示符代表一个常量。

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。

符号常量在使用之前必须先定义,其一般形式为:#define 标识符常量(3)变量:在程序运行过程中,其值可以改变的量称为变量。

变量名和变量值变量名每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。

定义变量名:C语言规定标识符只能由字母、数字、下划线三种字符组成,且第一个字符必须是字母或下划线。

注意:大写字母和小写字母被认为是两个不同的字符。

sum和SUM是两个不同的变量名。

C语言规定:对所有用到的变量要“先定义,后使用”。

a)凡未被事先定义的,不作为变量名。

b)每一个变量被指定为一确定类型3、整型数据0704X13整型常量的表示方法C整常数有三种表示方法:(1)十进制整数。

如123,0.,56(2)八进制整数。

以0开头的数是八进制。

如0123表示八进制123。

(3)十六进制整数。

以0x开头的数是十六进制数。

如0x123整型变量a)整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。

b)整型变量的分类基本整型,以int 表示值的范围是-215-(215- 1)即-32768~32767 短整型,以short int 表示,或以short表示长整型,以long int 表示,或以long 表示。

Unsigned short [int] 16 0-655350-(216-1)Long [int] 32 -2147483648-2147483647-231-(231-1)Unsigned long [int] 32 0-42949672950-(232-1)整型常量的类型一个整常量后面加一个字母u或U,认为是unsigned int型,如12345u,在一个整常量后面加一个字母l或L,则认为是long int型常量。

《C语言程序设计(第五版)》习题答案

《C语言程序设计(第五版)》习题答案

各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。

答:(1) 一个C语言源程序由一个或多个源文件组成。

每个源文件由一个或多个函数构成,其中有且仅有一个主函数(main函数)。

(2) 一个函数由函数首部(即函数的第一行)和函数体(即函数首部下面的大括号内的部分)组成。

函数首部包括函数类型、函数名和放在圆括号内的若干个参数。

函数体由声明部分和执行部分组成。

(3) C程序书写格式自由,一行内可以写多条语句,一个语句也可以分写在多行中,每个语句必须以分号结尾。

(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。

2. 分析例1.3程序的结构。

答:下面是例1.3的程序,它的结构是:有且只有一个主函数main以及若干个其它函数,还有一个被主函数调用的sumab函数。

函数有首部,包括类型和名称,首部下的大括号中有变量定义、输入、计算和输出等语句。

#include <stdio.h>int sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输入变量a与b的值:"); /*提示信息*/scanf ("%d %d", &a, &b); /*输入变量a和b的值*/sum=sumab(a,b); /*调用sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运行。

(1) 输出两行字符,第1行是“The computer is our good friends!”,第2行是“We learnC language.”。

山东春考C语言知识点

山东春考C语言知识点

山东省春季高考C 语言知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。

2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main 函数。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是它的地址. 4)bit 是位是指为0 或者1。

Byte 是指字节, 一个字节= 八个位(1B=8b )。

概念常考到的:1、编译预处理不是C 语言的一部分,不占运行时间,不要加分号。

C 语言编译的程序称为源程序,它以ASCII 数值存放在文本文件中。

2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。

3、每个C 语言程序中main 函数是有且只有一个。

4、在函数中不可以再定义函数。

5、算法:可以没有输入,但是一定要有输出。

6、break 可用于循环结构和switch 语句。

7、逗号运算符的级别最低,赋值运算符的级别倒数第二。

8、程序设计语言:机器语言、汇编语言、高级语言。

C 语言属于高级语言。

9、C 语言的产生及发展:UNIX 操作系统第一章C 语言的基础知识第一节、对C 语言的基础认识1、C 语言编写的程序称为源程序,又称为编译单位。

2、C 语言书写格式是自由的,每行可以写多个语句,可以写多行。

3、C 程序是有若干函数构成的,函数可以嵌套调用,不能嵌套定义,一个C 语言程序有且只有一个main 函数,是程序运行的起点。

4、一条复杂语句分行书写,应用反斜杠(\)续行。

5、c 语言特点:(1)简洁紧凑,灵活方便。

(2)运算符丰富。

(3)数据类型丰富。

(4)c 语言是结构化语言。

(5)语法限制较少、程序设计自由度较大。

(6)c 语言允许直接访问物理地址,可以直接对硬件进行操作。

(7)c 语言程序代码生成质量高,程序执行效率高。

(8)c 语言适用范围广,可移植性好。

6、c 语言共有32个关键字,9种控制语句。

C语言判断题

C语言判断题

C语言判断题1.每一个C语言程序都必须有一个main函数。

答案: 正确2.C语言程序的三种基本结构是顺序结构、选择结构和递归结构。

答案: 错误,C语言程序的三种基本结构是顺序结构、选择结构和循环结构。

3.在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。

答案: 错误,程序设计中经常用选择(又称分支)、循环和函数3种控制结构。

4.用C语言编写的源程序必须经过编译连接后生成可执行程序,才能运行。

答案: 正确5.C程序主函数中的一个变量可以被定义为两个或多个不同的类型。

答案: 错误,C程序主函数中的一个变量只能被定义为一种类型。

6.在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行结果不发生影响。

答案: 错误,/*与*/之间的注释信息在编译时会被忽略,不会被编译。

7.C程序是由函数构成的,每一个函数完成相对独立的功能。

答案: 正确8.一个C语言程序中,有且只能有一个main函数。

答案: 正确9.C程序总是从程序的第一条语句开始执行。

答案: 错误,C程序总是从main函数开始执行。

10.C语言标识符由字母、数字和下划线组成,其中第一个字符必须是字母。

答案: 错误,C语言标识符由字母、数字和下划线组成,其中第一个字符可以是字母或下划线。

11.C语言规定:在一个源程序中,main函数的位置必须在最开始。

答案: 错误,C语言规定:在一个源程序中,main函数可以出现在任意位置。

12.C语言程序的基本单位是语句。

答案: 错误,C语言程序的基本单位是函数。

13.对于C程序中的逻辑错误,编译器是可以发现的。

答案: 错误,编译器只能检查语法错误,不能检查逻辑错误。

14.一系列计算机指令的有序组合就构成了程序。

答案: 正确15.C程序由函数所组成。

答案: 正确16.在C程序中,每行只能写一条语句。

答案: 错误,在C程序中,一行可以写多条语句,但是每条语句必须以分号结束。

17.C程序中能直接让机器执行的文件是编辑后的.c源文件。

c 程序的书写格式

c  程序的书写格式

c 程序的书写格式c++程序的书写格式2010-05-18 17:03文件结构文件头注释所有C++的源文件均必须包含一个规范的文件头,文件头包含了该文件的名称、功能概述、作者、版权和版本历史信息等内容。

标准文件头的格式为:/*!@file*PRE模块名:文件所属的模块名称文件名:文件名相关文件:与此文件相关的其它文件文件实现功能:描述该文件实现的主要功能作者:作者部门和姓名版本:当前版本号--备注:其它说明--修改记录:日期版本修改人修改内容YYYY/MM/DD X.Y作者或修改者名修改内容/PRE*/如果该文件有其它需要说明的地方,还可以专门为此扩展一节:/*!@file*PRE模块名:文件所属的模块名称文件名:文件名相关文件:与此文件相关的其它文件文件实现功能:描述该文件实现的主要功能作者:作者部门和姓名版本:当前版本号--备注:其它说明--修改记录:日期版本修改人修改内容YYYY/MM/DD X.Y作者或修改者名修改内容/PRE**项目1-项目1.1-项目1.2==*项目2-项目2.1-项目2.2.*/每行注释的长度都不应该超过80个半角字符。

还要注意缩进和对其,以利阅读。

关于文件头的完整例子,请参见:文件头例子关于文件头的模板,请参见:文件头注释模板头文件头文件通常由以下几部分组成:文件头注释每个头文件,无论是内部的还是外部的,都应该由一个规范的文件头注释作为开始。

预处理块为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。

函数和类/结构的声明等声明模块的接口需要包含的内联函数定义文件(如果有的话)如果类中的内联函数较多,或者一个头文件中包含多个类的定义(不推荐),可以将所有内联函数定义放入一个单独的内联函数定义文件中,并在类声明之后用"#include"指令把它包含进来。

头文件的编码规则:引用文件的格式用#include filename.h格式来引用标准库和系统库的头文件(编译器将从标准库目录开始搜索)。

c语言书写格式规则

c语言书写格式规则

在C语言中,书写格式规则主要包括以下几点:
符号命名规则:符号名包括模块名、常量名、标号名、子程序名等。

命名应采用匈牙利命名法,具体规则如下:
所有宏定义、枚举常数和const变量,用大写字母命名,在复合词里用下划线隔开每个词。

复合词中每个单词的第一个字母大写,除了规则5.1.1.1以外,避免使用下划线。

类、类型定义和枚举型名的第一个字母大写。

函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。

循环变量可采用i,j,k等。

类的成员变量应采用m_开头。

全局变量词头为g_。

临时变量词头为tmp_。

对结构体内的变量命名,遵循变量的具体含义命名原则。

用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。

代码层次结构:使用{}来标明代码的层次结构,{}一般与该结构语句的第一个字母对齐,并单独占一行。

低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。

注释规范:注释应与代码完全一致,每个源程序文件,都有文件头说明,每个函数,都有函数头说明。

主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。

循环、分支层次不要超过五层。

注释可以与语句在同一行,也可以在上行。

空行和空白字符也是一种特殊注释。

一目了然的语句不加注释。

注释行数(不包括程序头和函数头说明部份)应占总行数的1/5到1/3 。

这些只是一些基础的格式规范,具体格式可能因实际项目和开发环境而有所不同。

c语言的书写格式

c语言的书写格式

C语言书写格式概述C语言是一种广泛使用的编程语言,它具有简洁、易读、灵活和高效等优点,被广泛应用于系统编程、嵌入式系统开发、数据结构和算法实现等领域。

在书写C语言代码时,需要注意一些基本的格式规范,以确保代码的可读性和可维护性。

下面将对C语言的书写格式进行简要的介绍。

代码缩进和空格C语言是一种依赖于空格和缩进来组织代码结构的编程语言,因此,正确地使用缩进和空格是非常重要的。

一般来说,每个缩进级别应该使用4个空格,这样可以清晰地分隔出代码的不同部分,方便阅读和理解。

同时,在编写代码时,应该使用空格来分隔变量、运算符和函数调用等元素,以提高代码的可读性。

注释和文档字符串注释是代码的重要组成部分,可以帮助程序员理解代码的功能和实现方式。

在C语言中,可以使用单行注释和多行注释来对代码进行解释和说明。

一般来说,应该为重要的函数和复杂的代码段添加注释,以便其他开发人员能够理解代码的功能和工作原理。

此外,还应该使用文档字符串(docstring)来描述函数的用途和参数说明,以提高代码的可维护性。

变量命名规范变量命名是编程中非常重要的一个方面,它应该具有描述性并且易于阅读。

在C语言中,变量名应该遵循一定的命名规范,如使用小写字母和下划线,避免使用单个字符作为变量名等。

同时,变量名应该具有描述性,能够清晰地表达变量的含义和用途。

函数定义格式函数是C语言中的基本构造之一,它可以将相关的代码组织在一起,提高代码的可读性和可维护性。

在定义函数时,应该遵循一定的格式规范,如使用正确的函数声明格式、参数列表和返回值类型等。

此外,还应该为函数添加注释,说明函数的用途、输入参数和返回值等信息。

控制结构书写规范在C语言中,控制结构是用来组织和控制代码的关键部分。

常见的控制结构包括if语句、switch语句、循环结构和函数调用等。

在书写这些控制结构时,应该遵循一定的规范,如使用括号来包裹表达式和分支语句、正确使用break和continue语句等。

c程序书写规范

c程序书写规范

c,,程序书写规范篇一:C语言书写规范语言书写规范符号命名规则符号名包括模块名、常量名、标号名、子程序名等。

这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解。

命名采用匈牙利命名法。

规则如下:(1)所有宏定义、枚举常数和const变量,用大写字母命名。

在复合词里用下划线隔开每个词。

(2)复合词中每个单词的第一个字母大写。

除了规则以外,避免使用下划线。

(3)类、类型定义和枚举型名的第一个字母大写。

(4)函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。

(5)循环变量可采用i, j, k等,不受上述规则限制。

(6) 类的成员变量应采用m_开头。

(7) 全局变量词头为g_ 。

(8) 临时变量词头为tmp_ 。

(9) 对结构体内的变量命名, 遵循变量的具体含义命名原则(10)用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。

表 1词头类型词头类型ch char l longi integer u unsignedb boolean p pointerf float lp long pointerd double s stringst structure sz ASCII stringby byte n short intH handle x,y 分别为x,y坐标dw DWORD fn function表 2词头变量名词头变量名task task sig signalsb binary semaphores wd watchdog sm mutual exclusionsemaphores tm timersc counting semaphores msg message pipe pipe例:#define ARRAY_SIZE 24 /*规则*/int g_iFlag;class MyClass /*规则*/{};void someFunc( ) /*规则和*/{.2.Q/ECC/BJ 010—XXint nArray[ARRAY_SIZE];unsigned char uchByte;char szName[ ];char *pszName = szName;}(11)有些词头(如p和u)可以和其它词头组合。

C语言格式书写要求规范

C语言格式书写要求规范

C语言书写规指南第1章文件结构每个C程序通常分为两个文件。

一个文件用于保存程序的声明(declaration),称为头文件。

另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。

C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀。

1.1和版本的声明和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要容有:(1)信息。

(2)文件名称,标识符,摘要。

(3)当前版本号,作者/修改者,完成日期。

(4)版本历史信息。

/**Copyright(c)2001,大学物理学院无线电*Allrightsreserved.**文件名称:filename.h*文件标识:*摘要:简要描述本文件的容**当前版本:1.1*作者:输入作者(或修改者)名字*完成日期:2007年7月20日**取代版本:1.0*原作者:输入原作者(或修改者)名字*完成日期:2007年5月10日*/示例1-1和版本的声明1.2头文件的结构头文件由三部分容组成:(1)头文件开头处的和版本声明(参见示例1-1)。

(2)预处理块。

(3)函数和类结构声明等。

假设头文件名称为SCL_SPI.h,头文件的结构参见示例1-2。

【规则1-2-1】为了防止头文件被重复引用,应当用#ifndef/#define/#endif结构产生预处理块。

【规则1-2-2】用#include <filename.h>格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。

【规则1-2-3】用#include “filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。

【规则1-2-4】#include 后面使用TAB键控制排版。

【规则1-2-5】头文件中只存放“声明”而不存放“定义”【规则1-2-6】全局变量在头文件中声明,在.c文件中定义.h extern in tvalue; 声明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c 程序的书写格式c++程序的书写格式2010-05-18 17:03文件结构文件头注释所有C++的源文件均必须包含一个规范的文件头,文件头包含了该文件的名称、功能概述、作者、版权和版本历史信息等内容。

标准文件头的格式为:/*!@file*PRE模块名:文件所属的模块名称文件名:文件名相关文件:与此文件相关的其它文件文件实现功能:描述该文件实现的主要功能作者:作者部门和姓名版本:当前版本号--备注:其它说明--修改记录:日期版本修改人修改内容YYYY/MM/DD X.Y作者或修改者名修改内容/PRE*/如果该文件有其它需要说明的地方,还可以专门为此扩展一节:/*!@file*PRE模块名:文件所属的模块名称文件名:文件名相关文件:与此文件相关的其它文件文件实现功能:描述该文件实现的主要功能作者:作者部门和姓名版本:当前版本号--备注:其它说明--修改记录:日期版本修改人修改内容YYYY/MM/DD X.Y作者或修改者名修改内容/PRE**项目1-项目1.1-项目1.2==*项目2-项目2.1-项目2.2.*/每行注释的长度都不应该超过80个半角字符。

还要注意缩进和对其,以利阅读。

关于文件头的完整例子,请参见:文件头例子关于文件头的模板,请参见:文件头注释模板头文件头文件通常由以下几部分组成:文件头注释每个头文件,无论是内部的还是外部的,都应该由一个规范的文件头注释作为开始。

预处理块为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。

函数和类/结构的声明等声明模块的接口需要包含的内联函数定义文件(如果有的话)如果类中的内联函数较多,或者一个头文件中包含多个类的定义(不推荐),可以将所有内联函数定义放入一个单独的内联函数定义文件中,并在类声明之后用"#include"指令把它包含进来。

头文件的编码规则:引用文件的格式用#include filename.h格式来引用标准库和系统库的头文件(编译器将从标准库目录开始搜索)。

用#include"filename.h"格式来引用当前工程中的头文件(编译器将从该文件所在目录开始搜索)。

分割多组接口(如果有的话)如果在一个头件中定义了多个类或者多组接口(不推荐),为了便于浏览,应该在每个类/每组接口间使用分割带把它们相互分开。

关于头文件的完整例子,请参见:头文件例子内联函数定义文件如上所述,在内联函数较多的情况下,为了避免头文件过长、版面混乱,可以将所有的内联函数定义移到一个单独的文件中去,然后再用#include指令将它包含到类声明的后面。

这样的文件称为一个内联函数定义文件。

按照惯例,应该将这个文件命名为"filename.inl",其中"filename"与相应的头文件和实现文件相同。

内联函数定义文件由以下几部分组成:文件头注释每内联函数定义文件都应该由一个规范的文件头注释作为开始内联函数定义内联函数的实现体内联函数定义文件的编码规则:分割多组接口(如果有的话)如果在一个内联函数定义文件中定义了多个类或者多组接口的内联函数(不推荐),必须在每个类/每组接口间使用分割带把它们相互分开。

文件组成中为什么没有预处理块?与头文件不同,内联函数定义文件通常不需要定义预处理块,这是因为它通常被包含在与其相应的头文件预处理块内。

关于内联函数定义文件的完整例子,请参见:内联函数定义文件例子实现文件实现文件包含所有数据和代码的实现体。

实现文件的格式为:文件头注释每个实现文件都应该由一个规范的文件头注释作为开始对配套头文件的引用引用声明了此文件实现的类、函数及数据的头文件对一些仅用于实现的头文件的引用(如果有的话)将仅与实现相关的接口包含在实现文件里(而不是头文件中)是一个非常好的编程习惯。

这样可以有效地屏蔽不应该暴露的实现细节,将实现改变对其它模块的影响降低到最少。

程序的实现体数据和函数的定义实现文件的编码规则:分割每个部分在本地(静态)定义和外部定义间,以及不同接口或不同类的实现之间,应使用分割带相互分开。

关于实现文件的完整例子,请参见:实现文件例子文件的组织结构由于项目性质、规模上存在着差异,不同项目间的文件组织形式差别很大。

但文件、目录组织的基本原则应当是一致的:使外部接口与内部实现尽量分离;尽可能清晰地表达软件的层次结构…为此提供两组典型项目的文件组织结构范例作为参考:功能模块/库的文件组织形式显而易见,编写功能模块和库的主要目的是为其它模块提供一套完成特定功能的API,这类项目的文件组织结构通常如下图所示:其中:contrib当前项目所依赖的所有第三方软件,可以按类别分设子目录。

doc项目文档include声明外部接口的所有头文件和内联定义文件。

lib编译好的二进制库文件,可以按编译器、平台分设子目录。

makefile用于编译项目的makefile文件和project文件等。

可以按编译器、平台分设子目录。

src所有实现文件和声明内部接口的头文件、内联定义文件。

可按功能划分;支持编译器、平台等类别分设子目录。

test存放测试用代码的目录。

应用程序的文件组织形式与功能模块不同,应用程序是一个交付给最终用于使用的、可以独立运行并提供完整功能的软件产品,它通常不提供编程接口,应用程序的典型文件组织形式如下图所示:contrib当前项目所依赖的所有第三方软件,可以按类别分设子目录。

doc项目文档makefile用于编译项目的makefile文件和project文件等。

可以按编译器、平台分设子目录。

setup安装程序,以及制作安装程序所需要的项目文件和角本。

src所有源文件。

可按功能划分;支持编译器、平台等类别分设子目录。

test存放测试用代码的目录。

--命名规则如果想要有效的管理一个稍微复杂一点的体系,针对其中事物的一套统一、带层次结构、清晰明了的命名准则就是必不可少而且非常好用的工具。

活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的正确性。

除了上帝(设它可以改变世间万物的秩序)以外,相信没人有实力对它不屑一顾在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。

一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。

在引入细节之前,先说明一下命名规范的整体原则:同一性在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。

标识符组成标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。

最小化长度&&最大化信息量原则在保持一个标识符意思明确的同时,应当尽量缩短其长度。

避免过于相似不要出现仅靠大小写区分的相似的标识符,例如"i"与"I","function"与"Function"等等。

避免在不同级别的作用域中重名程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。

正确命名具有互斥意义的标识符用正确的反义词组命名具有互斥意义的标识符,如:"nMinValue"和"nMaxValue","GetName()"和"SetName()".避免名字中出现数字编号尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。

这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。

类/结构除了异常类等个别情况(不希望用户把该类看作一个普通的、正常的类之情况)外,C++类/结构的命名应该遵循以下准则:C++类/结构的命名类的名称都要以大写字母"C"开头,后跟一个或多个单词。

为便于界定,每个单词的首字母要大写。

推荐的组成形式类的命名推荐用"名词"或"形容词+名词"的形式,例如:"CAnalyzer","CFastVector".不同于C++类的概念,传统的C结构体只是一种将一组数据捆绑在一起的方式。

传统C结构体的命名规则为:传统C结构体的命名传统C结构体的名称全部由大写字母组成,单词间使用下划线界定,例如:"SERVICE_STATUS","DRIVER_INFO".函数函数的命名函数的名称由一个或多个单词组成。

为便于界定,每个单词的首字母要大写。

推荐的组成形式函数名应当使用"动词"或者"动词+名词"(动宾词组)的形式。

例如:"GetName()","SetValue()","Erase()","Reserve()".保护成员函数保护成员函数的开头应当加上一个下划线"_"以示区别,例如:"_SetState()".私有成员函数类似地,私有成员函数的开头应当加上两个下划线"__",例如:"__DestroyImp()".虚函数虚函数习惯以"Do"开头,如:"DoRefresh()","_DoEncryption()".回调和事件处理函数回调和事件处理函数习惯以单词"On"开头。

例如:"_OnTimer()","OnExit()".变量变量应该是程序中使用最多的标识符了,变量的命名规范可能是一套C++命名准则中最重要的部分:变量的命名变量名由作用域前缀+类型前缀+一个或多个单词组成。

为便于界定,每个单词的首字母要大写。

对于某些用途简单明了的局部变量,也可以使用简化的方式,如:i,j,k,x,y,z.作用域前缀作用域前缀标明一个变量的可见范围。

作用域可以有如下几种:前缀说明无局部变量m_类的成员变量(member)sm_类的静态成员变量(static member)s_静态变量(static)g_外部全局变量(global)sg_静态全局变量(static global)gg_进程间共享的共享数据段全局变量(global global)除非不得已,否则应该尽可能少使用全局变量。

类型前缀类型前缀标明一个变量的类型,可以有如下几种:前缀说明n整型和位域变量(number)e枚举型变量(enumeration)c字符型变量(char)b布尔型变量(bool)f浮点型变量(float)p指针型变量和迭代子(pointer)pfn特别针对指向函数的指针变量和函数对象指针(pointer of function)g数组(grid)i类的实例(instance)对于经常用到的类,也可以定义一些专门的前缀,如:std:string和std:wstring类的前缀可以定义为"st",std:vector类的前缀可以定义为"v"等等。

相关文档
最新文档