C语言代码风格-代码规范-语法规则-含代码

合集下载

C语言代码规范

C语言代码规范

C语言代码规范C语言是一种广泛应用于编程领域的高级编程语言,具有跨平台、效率高、灵活性强等优点。

编写规范合乎标准的C语言代码有助于提高代码的可读性、可维护性和可移植性。

本文将介绍一些常用的C语言代码规范,以帮助开发者编写高质量的C语言程序。

一、代码格式1. 缩进:使用四个空格进行缩进,不要使用制表符。

这样可以保证在不同编辑器或显示器上显示的代码缩进一致。

2. 行长度限制:每行代码应尽量保持在80个字符以内,超过限制的代码可以进行适当换行。

换行时要注意保持代码的清晰可读性,一般可以采用缩进来表达代码的层次关系。

3. 大括号:大括号的位置应该和相关语句对齐,且起始的大括号应该放在语句所在行的末尾,而不是单独另起一行。

4. 空格和空行:在适当的情况下使用空格和空行可以提高代码的可读性。

例如,在运算符和操作数之间使用空格,不同的代码块之间使用空行进行分割等。

二、命名规范1. 变量名:使用有意义的变量名,尽量避免使用单个字符或简单的缩写表示变量。

变量名应该忠实地反映其所代表的含义。

2. 函数名:函数名应使用动词和名词的组合,具体描述函数的功能。

函数名应该清晰地表达其所完成的操作或所返回的结果。

3. 常量名:常量名使用全大写字母,并使用下划线进行分隔。

例如,MAX_LENGTH。

4. 类型名:类型名使用首字母大写的驼峰命名法,例如,StudentInfo。

5. 宏定义名:宏定义名使用全大写字母,并使用下划线进行分隔。

例如,PI。

三、注释规范1. 单行注释:使用"//"进行单行注释,注释符号后面应该留一个空格。

注释应该清晰明了,解释代码的用途或特殊处理等。

2. 多行注释:使用"/*"和"*/"进行多行注释。

多行注释通常用于解释一整块代码的功能或原理等。

3. 函数注释:在每个函数定义的上方加上函数注释,注释中应该包含函数的功能描述、输入参数的说明、返回值的含义以及可能抛出的异常等信息。

C语言代码规范(编程规范)

C语言代码规范(编程规范)

什么叫规范?在C语言中不遵守编译器的规定,编译器在编译时就会报错,这个规定叫作规则。

但是有一种规定,它是一种人为的、约定成俗的,即使不按照那种规定也不会出错,这种规定就叫作规范。

虽然我们不按照规范也不会出错,但是那样代码写得就会很乱。

大家刚开始学习C语言的时候,第一步不是说要把程序写正确,而是要写规范。

因为如果你养成一种非常不好的写代码的习惯,代码就会写得乱七八糟,等到将来工作面试的时候,这样的习惯可能会让你失去机会。

代码如何写才能规范那么代码如何写才能写得很规范呢?代码的规范化不是说看完本节内容后就能实现的。

它里面细节很多,而且需要不停地写代码练习,不停地领悟,慢慢地才能掌握的一种编程习惯。

所以大家不要想着一下子就能把代码规范化的所有知识全部掌握,也不要想着一下子就能把代码写规范,这是不太可能的。

有很多知识,比如为什么代码要这样写,为什么不能那样写,作为一个初学者你是很难弄明白的。

有很多规范是为了在程序代码量很大的时候,便于自己阅读,也便于别人阅读。

所以刚开始的时候有很多规范你不知道为什么要那样规定,你就单纯地模仿就行了。

等将来敲代码敲得时间长了,你就会感觉到那样写是很有好处的。

代码规范化的好处代码规范化的第一个好处就是看着很整齐、很舒服。

假如你现在用不规范的方式写了一万行代码,现在能看得懂,但等过了三个月你再回头看时就很吃力了,更不要说给别人看了。

所以代码要写规范,比如加注释就是代码规范化的一个思想。

在一般情况下,根据软件工程的思想,我们的注释要占整个文档的20%以上。

所以注释要写得很详细,而且格式要写得很规范。

第二个好处是,把代码写规范则程序不容易出错。

如果按照不规范的格式输入代码的话,很容易出错。

而代码写规范的话即使出错了查错也会很方便。

格式虽然不会影响程序的功能,但会影响可读性。

程序的格式追求清晰、美观,是程序风格的重要构成元素。

代码规范化的七大原则代码规范化基本上有七大原则,体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。

c语言编程的书写规则

c语言编程的书写规则

c语言编程的书写规则C语言编程的书写规则主要遵循以下规范:1. 缩进和空格:缩进和空格的使用可以使代码更易读。

通常,运算符两侧、逗号之后、控制语句(如if、for、while等)前后应添加空格。

在函数和括号的开头和结尾,通常应有空行。

2. 命名规则:变量和函数名应简洁且有意义。

通常,变量名和函数名以小写字母开头,后续单词的首字母大写,如 `myVariable`。

3. 注释:注释应简洁明了,解释代码的作用或目的,而不是解释代码是如何工作的。

注释应放在代码的上方或旁边,与代码保持一定距离。

4. 函数:函数应该尽可能短小,只做一件事情。

函数应具有描述性的名称,参数列表应清晰,并应包含返回类型。

5. 大括号:在C语言中,大括号 `{}` 用于定义代码块。

每一个独立的语句块都应该使用大括号。

6. 控制结构:控制结构(如if-else、for、while等)应该清晰明了,控制语句应只包含必要的逻辑。

7. 类型定义:类型定义应清晰明了,如果有必要,可以使用typedef来定义新的类型名称。

8. 预处理器指令:预处理器指令(如include、define等)应放在源文件的顶部。

9. 避免魔法数字和字符串:魔法数字和字符串(硬编码的值)会使代码难以理解和维护。

如果需要在代码中使用特定的值,应将其定义为常量或宏。

10. 避免全局变量:全局变量会使代码难以理解和维护,并可能导致意外的副作用。

尽可能使用局部变量。

11. 错误处理:在可能失败的操作后,应检查错误并相应地处理它们。

以上只是一些基本的C语言编程规则,实际编写代码时可能还需要考虑更多因素,如代码的可读性、可维护性、性能等。

C语言编程规范

C语言编程规范

C语言编程规范1. 基本要求1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。

1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。

1.3 尽量使用标准库函数和公共函数。

1.4 不要随意定义全局变量,尽量使用局部变量。

1.5 使用括号以避免二义性。

2.可读性要求2.1 可读性第一,效率第二。

2.2 保持注释与代码完全一致。

2.3 每个源程序文件,都有文件头说明,说明规格见规范。

2.4 每个函数,都有函数头说明,说明规格见规范。

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

2.7 常量定义(DEFINE)有相应说明。

2.8 处理过程的每个阶段都有相关注释说明。

2.9 在典型算法前都有注释。

2.10 利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 6个字节。

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

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

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

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

2.15 注释的作用范围可以为:定义、引用、条件分支以及一段代码。

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

3. 结构化要求3.1 禁止出现两条等价的支路。

3.2 禁止GOTO语句。

3.3 用 IF 语句来强调只执行两组语句中的一组。

禁止 ELSE GOTO 和 ELSE RETURN。

3.4 用 CASE 实现多路分支。

3.5 避免从循环引出多个出口。

3.6 函数只有一个出口。

3.7 不使用条件赋值语句。

3.8 避免不必要的分支。

3.9 不要轻易用条件分支去替换逻辑表达式。

4. 正确性与容错性要求4.1 程序首先是正确,其次是优美4.2 无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。

4.3 改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。

C语言编程规范与风格

C语言编程规范与风格

C语言编程规范与风格C语言是一种广泛使用的编程语言,它的编程规范与风格对于保证代码的可读性、可维护性和可扩展性至关重要。

本文将介绍一些关键的C语言编程规范与风格,并提供一些实践建议。

1. 代码缩进代码缩进是C语言中非常重要的一个方面,它可以使代码结构清晰,易于阅读。

推荐使用4个空格或者制表符来进行代码缩进。

2. 命名规范为了让代码更易读和理解,命名规范应具有一定的规则性和描述性。

变量、函数和常量的命名应具有一定的规范,比如使用驼峰命名法(camelCase)或者下划线法(underscore_case)。

3. 注释注释是代码中的重要组成部分,可以使代码更易读和理解。

应该在代码中适当地使用注释,解释代码的功能、用途和注意事项。

注释应该清晰、简洁且易于理解。

4. 函数设计函数是C语言中重要的组织单元,应该遵循一定的设计原则来编写函数。

函数应该具有良好的命名,功能单一且高内聚。

函数的参数应该明确且合理,避免过多的参数传递。

函数的返回值应该清晰地说明其含义。

5. 条件语句和循环语句条件语句和循环语句是C语言中常用的流程控制语句,应该遵循一定的格式和风格。

条件语句的括号应该与关键字紧挨着,条件表达式应该适当地加上括号,以增加代码的可读性。

循环语句的条件表达式应该明确且易于理解,循环体应该具有合适的缩进。

6. 数据类型和变量声明在C语言中,数据类型和变量声明是非常重要的。

应该根据需要选择合适的数据类型,尽量避免使用过长或过短的数据类型。

变量声明应该在函数开头或者合适的位置进行,尽量避免使用全局变量。

7. 引入头文件C语言中的头文件对代码的模块化和可维护性非常重要。

在代码中应该适当引入所需要的头文件,避免使用过多的全局引入。

头文件应该具有合适的宏定义和条件编译,以提高代码的可复用性。

8. 错误处理在编程过程中,错误处理是非常重要的一部分。

应该养成检查错误和处理错误的习惯,合理运用条件语句和错误码,以便更好地调试和修复代码。

如何编写c语言代码

如何编写c语言代码

如何编写c语言代码编写C语言代码是程序员的基本技能之一。

无论是初学者还是有经验的开发者,都需要掌握一些编写C语言代码的基本规范和技巧。

本文将介绍一些编写C语言代码的方法和注意事项,帮助读者更好地编写高质量的C语言代码。

一、选择适当的开发环境在开始编写C语言代码之前,首先需要选择一个适合的开发环境。

目前比较常用的C语言开发环境有Visual Studio、Code::Blocks、Eclipse等。

根据自己的喜好和需要选择一个方便易用的开发环境,并安装相应的编译器和调试工具。

二、了解C语言的基本语法和规范编写C语言代码前,必须了解C语言的基本语法和规范。

C语言是一种结构化编程语言,具有严格的语法要求。

一些基本的语法规则包括:1. 变量的声明:在使用变量之前,需要先声明变量的类型和名称。

例如:int num;2. 语句的结束:每条语句必须以分号";"作为结束符。

例如:printf("Hello, World!");3. 函数的定义:C语言是通过函数来组织代码的,每个程序至少包含一个main函数。

例如:int main() { // 函数体 }4. 注释的使用:注释可以增加代码的可读性,以"//"表示单行注释,以"/*...*/"表示多行注释。

例如:// 这是一个注释。

三、遵循良好的编码风格编写C语言代码时,应遵循统一的编码风格,以增加代码的可读性和可维护性。

一些常见的编码风格规范包括:1. 使用有意义的变量和函数名:变量和函数名应该具有描述性,能够清楚地表达其用途。

例如:int count = 0;2. 缩进:使用适当的缩进来组织代码,使代码结构清晰。

一般推荐使用4个空格或者一个制表符作为缩进。

3. 换行和空格:合理使用换行和空格,以增加代码的可读性。

例如,将长的语句或者表达式分成多行。

4. 注释:使用注释来说明代码的意图和逻辑,提高代码的可读性。

C语言编程规范标准

C语言编程规范标准

编码规1. 头文件编码规 (2)2. 函数编写规 (2)3. 标识符命名与定义 (2)3.1通用命名规则 (2)3.2 变量命名规则 (3)3.3函数命名规则 (3)3.4 宏的命名规则 (3)4. 变量 (3)5. 宏、常量 (4)6. 质量保证 (4)7. 程序效率 (5)8. 注释 (5)9. 排版与格式 (6)10. 表达式 (7)11. 代码编辑、编译 (7)12. 安全性 (7)13. 可读性 (7)14. 可测性 (7)15. 单元测试 (8)16. 可移植性 (8)1. 头文件编码规1. 禁止头文件循环依赖。

2. .c/.h文件不要包含用不到的头文件。

3. 禁止在头文件中定义变量。

4. 同一产品统一包含头文件排列方式。

(如功能块排序、文件名升序、稳定度排序。

)5. 只能通过包含头文件的方式使用其他.c提供的接口,禁止在.c过extern的方式使用外部函数接口、变量。

2. 函数编写规1. 一个函数仅完成一件功能。

2. 重复代码应该尽可能提炼成函数。

3.为简单功能编写函数4.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。

5. 避免函数过长,新增函数不超过100行(非空非注释行)。

6. 避免函数的代码块嵌套过深,新增函数的代码块嵌套不超过4层。

7. 可重入函数应避免使用全局变量和禁止使用static变量。

8. 设计高扇入,合理扇出(小于7)的函数。

9. 废弃代码(没有被调用的函数和变量)要及时注释(有助于更好理解程序)。

10. 对所调用函数的错误返回码要仔细、全面地处理。

11. 函数不变参数使用const。

12. 函数应避免使用全局变量、静态局部变量和I/O操作,不可避免的地方应集中使用。

13. 函数的参数个数不超过5个。

14. 减少或禁止函数本身或函数间的递归调用3. 标识符命名与定义3.1通用命名规则1. 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。

华为CC语言编程规范

华为CC语言编程规范

百度文库- 让每个人平等地提升自我目录1 排版 (2)4 可读性 (11)6 函数、过程 (13)7 可测性 (14)1 排版¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。

说明:对于由开发工具自动生成的代码可以有不一致。

¹1-2:相对独立的程序块之间、变量说明之后必须加空行。

示例:如下例子不符合规范。

if (!valid_ni(ni)){... epssn_index;repssn_ni = ssn_data[index].ni;应如下书写if (!valid_ni(ni)){... epssn_index;repssn_ni = ssn_data[index].ni;¹1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

示例:= NO7_TO_STAT_PERM_COUNT_LEN+ STAT_SIZE_PER_FRAM * sizeof( _UL );act_task_table[frame_id * STAT_TASK_CHECK_NUMBER +index].occupied= stat_poi[index].occupied;act_task_table[taskno].duration_true_or_false= SYS_get_sccp_statistic_state( stat_item );report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)&& (n7stat_stat_item_valid (stat_item)) &&(act_task_table[taskno].result_data != 0));¹1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

C语言程序设计代码规范

C语言程序设计代码规范

C++语言程序设计代码规范1 命名规范本规范对变量、函数、类(结构)等的名称有严格的规定,在编码过程中务必遵守。

1.1 变量命名规范变量名称采用匈牙利命名法,即:完整的名称由“缀”和“主体”复合而成。

“缀”用于指示变量的种类、数值类型、作用域等属性,由小写字符和下划线(_)组成,根据其附着在“主体”的位置分为前缀和后缀两种。

“主体”表示变量的语义。

整个变量名称的格式如下:<作用域前缀>[<指针缀>]<类型缀><主体><作用域后缀>下面详细论述。

1.1.1 作用域缀(前缀和后缀)作用域前缀处在整个变量名的最前面。

常用的作用域前缀为:作用域后缀处在整个变量名的最后面。

只有一种情况使用作用域后缀,就是函数的形参必须以作用域后缀结束。

1.1.2 指针缀如果一个变量是指针,则必须使用指针缀。

指针缀使用字母p表示。

以前,在DOS平台下有短指针和长指针的区别,有时称长指针为lp。

在Win32平台下已经不存在这个区别了,所以统一使用p, 而不是lp。

1.1.3 类型缀类型缀由小写字符构成,用于描述变量的类型。

注意:1.不要私自创造出各种各样的前缀。

2.也没有必要在前缀中仔细区分一些细小的类型区别,那样会给代码维护工作带来额外的麻烦。

常用的类型前缀为:对于其他不在上面表中的结构、类等复杂数据类型,特别是不常使用的和不通用的,不使用前缀。

例如:class Person Jonson;struct DateTime MyDt;在应用场合明确的情况下,例如:简单的局部变量,它的值类型前缀有时可以省略。

具体见下面的例子。

1.1.4 复合前缀根据以上规则,变量根据它所在的作用域、类型、是否是指针,得到一个复合前缀。

例如:char g_szFileName[_MAX_PATH]; //全局字符串变量char* g_pszFileName; //全局字符串指针变量:char s_szFileName[_MAX_PATH]; //静态字符串变量char* s_pszFileName; //静态字符串指针变量:char _s_szFileName[_MAX_PATH]; //局部静态字符串变量char* _s_pszFileName; //局部静态字符串指针变量:char m_szFileName[_MAX_PATH]; //类字符串变量char* m_pszFileName; //类字符串指针变量:char ms_szFileName[_MAX_PATH]; //类静态字符串变量char* ms_pszFileName; //类静态字符串指针变量:更多的例子,参见下面按照作用域讨论变量名一节。

C语言中常见的编码风格和规范建议

C语言中常见的编码风格和规范建议

C语言中常见的编码风格和规范建议在软件开发中,良好的编码风格和规范是非常重要的,它可以提高代码的可读性、可维护性和可扩展性。

本文将介绍一些常见的C语言编码风格和规范建议,帮助开发人员写出高质量的代码。

1. 命名规范在C语言中,命名是非常重要的,一个好的命名可以让代码更易读、易懂。

以下是一些命名规范建议:- 使用有意义的变量、函数和类型名,避免使用缩写或简写,以提高代码的可读性。

- 使用驼峰命名法(CamelCase)或下划线命名法(underscore_case)来命名变量和函数。

例如,使用camelCase命名变量和函数,如:myVariable,myFunction;使用underscore_case命名全局变量和宏定义,如:MAX_SIZE,FILE_NAME。

- 避免使用单个字符作为变量名,除非它们用作循环计数器或临时变量。

- 使用大写字母表示常量,如:PI,MAX_VALUE。

2. 缩进和空格良好的缩进和空格可以使代码结构清晰,易读。

以下是一些缩进和空格的规范建议:- 使用4个空格作为一个缩进层级,而不是制表符。

这样可以确保代码在不同的编辑器和IDE中保持一致的缩进。

- 在函数、循环和条件语句中使用适当的缩进,以显示代码块的层次结构。

- 在运算符前后使用空格,以增强代码的可读性。

例如:a = b + c; 而不是a=b+c;- 在逗号后面使用空格,但不要在逗号前使用空格。

例如:int a, b, c; 而不是inta ,b , c;3. 注释规范注释是代码中非常重要的一部分,它可以解释代码的意图和实现细节。

以下是一些注释规范的建议:- 在代码中使用适当的注释,解释代码的意图、算法和实现细节。

- 在函数和数据结构的定义前使用块注释,解释其功能和用法。

- 在关键代码块前使用行注释,解释其作用和实现细节。

- 避免使用无意义的注释,如“这是一个循环”或“这是一个if语句”。

注释应该提供有用的信息。

C语言中的代码规范和规范检查工具

C语言中的代码规范和规范检查工具

C语言中的代码规范和规范检查工具编程是一门需要高度的准确性和规范性的艺术。

在C语言编程中,代码规范和规范检查工具是确保代码质量和可维护性的重要组成部分。

遵循代码规范可以提高代码的可读性、可维护性和可移植性,同时也有助于团队协作和项目管理。

本文将介绍C语言中常用的代码规范以及一些常见的规范检查工具。

一、代码规范1. 编码风格编码风格是代码规范的基础,它主要指定了如何组织代码的结构、如何命名变量和函数、如何使用注释等。

编码风格的一致性可以使代码易于阅读和理解,也便于团队之间的合作。

在C语言中,有多种编码风格可供选择,例如K&R风格、ANSI风格和GNU风格等。

2. 命名规范良好的命名规范可以使代码更具可读性和可维护性。

在C语言中,通常使用驼峰式命名法或下划线命名法。

变量名和函数名应具有描述性,避免使用过于简单或过于复杂的命名。

另外,对于常量和宏定义,一般使用全大写字母来命名。

3. 注释规范注释是代码中的重要部分,可以提供关键信息和解释,方便他人理解和修改代码。

在C语言中,注释主要分为单行注释和多行注释。

良好的注释应该准确地描述代码的功能、输入和输出。

另外,还应注意及时更新注释,保持它们与实际代码的一致性。

二、规范检查工具1. lintlint是C语言中最早的一种规范检查工具,它可以对源代码进行静态分析,找出潜在的问题和代码不规范之处。

lint工具可以检查变量的声明和使用、函数返回值的检查、潜在的内存泄漏、未使用的变量等。

lint工具需要使用特定的选项和配置文件来指定规范。

2. clang-formatclang-format是一个由Clang项目提供的代码格式化工具,可以根据配置文件自动格式化C语言代码。

它支持多种编码风格,如K&R风格、ANSI风格和Google风格等。

clang-format可以统一代码的风格,减少人为错误,提高代码的可读性和可维护性。

3. cppcheckcppcheck是一个功能强大的静态代码分析工具,用于检查C语言代码中的潜在错误和不规范的代码。

C语言的语法风格与代码书写规范指南

C语言的语法风格与代码书写规范指南

C语⾔的语法风格与代码书写规范指南C代码:#include <stdio.h>int main(void){printf("That is Right Style\n");return 0;}在⼀个标准的C语⾔程序中,最特殊的莫过于main函数了,⽽说到底它就是⼀个函数⽽已,仅仅因为它地位特殊拥有第⼀执⾏权⼒,换句话说,难道因为⼀个⼈是省长它就不是⼈类了?所以函数该有的它都应该有,那么函数还有什么呢?函数⼤体上分为内联函数(C99)(内联函数并⾮C++专属,C语⾔亦有,具体见前⽅链接)和⾮内联的普通函数,它们之间有⼀个很明显的特点(⼀般情况下),那就是不写原型直接在main函数上⽅定义,即使不加'inline'关键字,也能被编译器默认为内联函数,但之后带来的某些并发问题就不是编译器考虑的了。

普通函数正确的形式应该为声明与定义分离,声明就是⼀个函数原型,函数原型应该有⼀个函数名字,⼀个参数列表,⼀个返回值类型和⼀个分号。

定义就是函数的内在,花括号内的就是函数的定义://...int function(int arg_1, float arg_2);//...int main(int argc, char* argv[]){int output = function(11, 22.0);printf("%d\n",output);return 0;}int function(int arg_1, float arg_2){int return_value = arg_1;float temp_float = arg_2;return return_value;}依上所述,当⾮必要时,在⾃⼰编写函数的时候请注意在开头(main函数之前)写上你的函数的原型,并且在末尾(main函数之后)写上你的函数定义,这是⼀个很好的习惯以及规范。

所谓代码整洁之道,就是如此。

C语言编程规范

C语言编程规范

C语言编程规范一、程序风格1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。

要求相匹配的大括号在同一列,对继行则要求再缩进4格。

例如:{Code}2、提示信息字符串的位置在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。

3、对变量的定义,尽量位于函数的开始位置。

二、命名规则1、变量名的命名规则①、变量的命名规则要求用“匈牙利法则”。

即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。

即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。

见下表:②、指针变量命名的基本原则为:对一重指针变量的基本原则为:“p”+变量类型前缀+命名如一个float*型应该表示为pfStat对多重指针变量的基本规则为:二重指针:“pp”+变量类型前缀+命名三重指针:“ppp”+变量类型前缀+命名......③、全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写)④、静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即:变量名=s_+变量类型+变量的英文意思(或缩写)⑤、成员变量用m_开头,如一个长型成员变量定义为m_lCount;即:变量名=m_+变量类型+变量的英文意思(或缩写)⑥、对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。

并且要求用大写。

如:enum cmEMDAYS{EMDAYS_MONDAY;EMDAYS_TUESDAY;……};⑦、对struct、union、class变量的命名要求定义的类型用大写。

并要加上前缀,其内部变量的命名规则与变量命名规则一致。

Linux C语言的编程规范

Linux C语言的编程规范

Linux C语言的编程规范(Linux)有独特的(编程)风格,在内核源代码目录Documentation/CodingStyle,详细描述代码风格。

建议大家可以去看一下,老外写技术文档还是很有意思的,上来就狂喷,“你不这样写就会完蛋,异教徒才不这样写……”,没有国内那么刻板,多阅读英语文档对技术增长很有帮助。

1. 命名规范在一般编程中,习惯以如下方式命名宏、变量和函数:#define (PI)3.1415926 /*用大写字母代表宏*/int minValue, maxValue; /*变量:第一个单词全小写,其后单词的第一个字母大写*/void SendData (void); /* 函数:所有单词第一个字母都大写*/ 这种通过单词之间通过首字母大写来区分的方式非常流行。

通过第1个单词的首字母是否大写可以区分名称属于变量还是属于函数,而看到整串的大写字母可以断定为宏。

许多领域的程序开发都遵照此习惯。

但是Linux不以这种习惯命名,对于上面的一段程序,在Linux中它会被命名为:#define PI 3.1415926int min_value, max_value;void send_data (void); 在上述命名方式中,宏还是一样用大写,但变量和函数名,不按照Windows所采用的用首字母大写来区分单词,而是采用下划线。

而且Linux下命名,全局变量命名最好用长的准确的描述,局部变量最好简短,甚至直接用tmp,i之类的。

其实两种命名方式都行,写Liunx下的程序时,与Linux社区代码风格一致更好,但你用第一种我觉得也无伤大雅。

2.缩进缩进统一使用"TAB",而不是空格括号。

另外提一句:在Linux下,"TAB"代表8个字符,而不是4个,Linux代码风格认为8个字符更能体现层次结构。

文档里喷"TAB"为4字符的是异教徒,对于8字符在多层次时,代码太偏右的问题,文档又喷层次超过三层,你的代码就会完蛋,哈哈哈。

C语言编码规范

C语言编码规范
• 不要把NULL用在指针以外的场合
• 引用指针前,需要判断指针有效性 • 传入库函数中的变量需要进行有效性判断(C库函数)
3 Sept. 2008 Confidential
7 类型使用
规则:使用[ ]操作数组元素,而不要使用* 原理:避免隐含操作和意图
Example void foo() { int array[2]; *(array+1) = 0; //Violation *array = 0; } //Violation Repair void foo()
4 函数
• • • •
一定要显示声明函数的返回值类型。
如果函数不需要返回值,要声明为void Nhomakorabea型。如果函数没有参数,参数处要书写void。 函数的声明要与函数定义一致(包括函数的类型及参数的类型、个
数、顺序)。
3 Sept. 2008 Confidential
4 函数
• • • •
回避函数的递归调用。
• { }总是独立一行 • 每行只有一条语句 • 赋值操作符前后留有一个空格 • 位操作符前后留有一个空格
int main(void) • 逻辑判断操作符前后留有一个空格 { • 逗号后面加一个空格 int i; int val_a; • 分号后面加一个空格 int val_b; • 不能在操作符(++/--)与操作数之间出现 空格 for( i = 0; i < 10; i++) • 用空行将代码按逻辑片断划分 { c = get_max(val_a, val_b); } }
Example: void foo() { unsigned int uVal = 1u; uVal <<= 100; /* Violation */ }

c语言编程规范和范例

c语言编程规范和范例

c语言编程规范和范例软件工程2007-10-14 13:27:32 阅读166 评论0 字号:大中小(本文摘自/lynnwayne/archive/2007/07/11/814673.html)对一些刚入门的人在学习编程的时候一定要养成一个良好的习惯,下面给出了c语言编程规范和范例供大家参考,其他语言也可参照编写.1 排版1 1-1:程序块要采用缩进风格编写,缩进的空格数为4个。

说明:对于由开发工具自动生成的代码可以有不一致。

1 1-2:相对独立的程序块之间、变量说明之后必须加空行。

示例:如下例子不符合规范。

if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;应如下书写if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;1 1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

示例:perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN+ STAT_SIZE_PER_FRAM * sizeof( _UL );act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied= stat_poi[index].occupied;act_task_table[taskno].duration_true_or_false= SYS_get_sccp_statistic_state( stat_item );report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)&& (n7stat_stat_item_valid (stat_item))&& (act_task_table[taskno].result_data != 0));1 1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

c语言完整语法范式

c语言完整语法范式

c语言完整语法范式(原创版)目录1.C 语言概述2.C 语言的语法范式3.C 语言的应用领域正文【C 语言概述】C 语言是一种高级编程语言,由 Dennis Ritchie 在 20 世纪 70 年代早期在贝尔实验室开发。

C 语言的设计目标是为了简化 UNIX 操作系统的开发过程,提供一种能以简单、清晰、高效的方式编写操作系统及其它软件的编程语言。

C 语言的特点是功能丰富、执行效率高、跨平台、易于学习等,因此,它广泛应用于系统编程、嵌入式系统、游戏开发、科学计算和 Web 开发等领域。

【C 语言的语法范式】C 语言的语法范式主要包括以下几种:1.面向过程编程C 语言是一种面向过程的编程语言,它支持结构化编程,主要通过函数(function)和过程(procedure)实现。

面向过程编程的主要特点是将程序分解为多个独立的、可重用的子任务或模块,以降低程序的复杂性。

2.结构化编程结构化编程是一种编程范式,它强调程序的结构和组织。

C 语言通过使用条件语句(如 if-else)、循环语句(如 for、while)和跳转语句(如break、continue)等控制结构来实现结构化编程。

3.面向对象编程虽然 C 语言不是一种纯面向对象编程语言,但它支持面向对象编程的基本特性,如结构体、联合体和枚举等。

通过这些特性,程序员可以在C 语言中编写面向对象的代码,实现封装、继承和多态等面向对象编程的基本概念。

4.泛型编程泛型编程是一种编程范式,它允许程序员编写可适用于不同数据类型的代码。

C 语言通过使用函数指针、数组和字符串等泛型数据类型来实现泛型编程。

【C 语言的应用领域】C 语言广泛应用于多个领域,包括:1.系统编程:C 语言是许多操作系统(如 Linux、UNIX、Windows 等)和系统软件(如编译器、数据库管理系统、网络协议栈等)的主要开发语言。

2.嵌入式系统:C 语言由于执行效率高、占用资源少,成为嵌入式系统开发的首选语言。

C语言编程风格和规范

C语言编程风格和规范

C语言编程风格和规范C语言是一种广泛应用于系统级编程和嵌入式开发的高级编程语言。

为了保证代码的可读性和可维护性,程序员应当遵循一定的编程风格和规范。

本文将介绍一些常见的C语言编程风格和规范。

一、命名规范在C语言中,良好的命名风格可以提升代码可读性。

以下是一些常见的命名规范:1. 变量和函数名使用小写字母,单词之间用下划线(_)分隔,例如:my_variable。

2. 结构体和枚举类型采用首字母大写的驼峰命名法,例如:MyStruct。

3. 宏定义使用全大写字母,单词之间用下划线(_)分隔,例如:MY_MACRO。

二、缩进和空格良好的缩进和空格使用可以使代码结构清晰,提高可读性。

以下是一些常见的缩进和空格规范:1. 使用两个空格或者一个制表符进行代码缩进。

2. 操作符前后加空格,例如:a = b + c。

3. 函数名和左圆括号之间不加空格,例如:printf("Hello World")。

三、注释规范注释对于代码的理解和维护非常重要。

以下是一些关于注释的规范:1. 对于复杂的算法或者重要的函数,应当提供函数头部的注释来解释函数的功能、输入输出参数等。

2. 使用//或者/* ... */来添加注释,简洁明了。

3. 不要在注释中使用绝对的数字或者日期表示,应使用相对的描述,例如:3个元素或者最近更新。

四、函数和模块规范函数和模块的设计可以帮助提高代码的可读性和可维护性。

以下是一些相关的规范:1. 函数应当尽量短小,一个函数只做一件事情。

2. 函数应当有清晰的参数和返回值,避免使用全局变量。

3. 模块应当有清晰的接口定义和模块内部的实现,尽量减少对外部变量和函数的依赖。

五、错误处理规范良好的错误处理可以提高代码的健壮性和可靠性。

以下是一些常见的错误处理规范:1. 函数应当返回适当的错误码或者错误标志,用于外部处理错误情况。

2. 错误处理的代码应当尽量短小,避免嵌套过深的if语句。

3. 错误处理的输出信息应当清晰明了,帮助定位问题。

C语言编程规范

C语言编程规范
复合赋值运算符:如+=、-=、*=、/=等将右侧的值与左侧的值进行 相应运算后赋值给左侧的变量
程序流程控制
选择结构:根据条件选择执 行不同的代码块
顺序结构:按照代码顺序执 行
循环结构:重复执行一段代 码直到满足特定条件
跳转结构:在程序中跳转到 指定的位置执行
04 C语言函数和程序结构
函数定义和声明
06
C语言中的数据结构和 算法
数据结构的基本概念
数据结构是计 算机存储和组 织数据的方式
数据结构包括 线性结构、树 形结构、图状 结构和集合结
构等
数据结构中的 元素可以是数 字、字符、字 符串、对象等
数据结构中的 元素之间的关 系可以是一对 一、一对多、
多对多等
常见数据结构类型(数组、链表、栈、队列等)
函数作用域:函数内定义的变量只能在函数内使用函数外 定义的变量可以在函数内使用
函数参数和返回值
函数参数:用 于传递数据给 函数可以是基 本数据类型、 指针、结构体
等ቤተ መጻሕፍቲ ባይዱ
返回值:函数 参数传递方式:
执行后的结果 值传递、引用
可以是基本数 传递、指针传
据类型、指针、

结构体等
返回值类型: void、基本 数据类型、指 针、结构体等
添加标题
程序执行流程:从min函数开始按 照顺序执行遇到函数调用时跳转到 被调用函数执行执行完毕后返回到 调用处继续执行
函数返回值:被调用函数执行完毕 后将结果返回给调用函数用于后续 处理或输出结果
程序结构优化
模块化编程:将程序划分为多个模 块每个模块负责一个特定的功能
提高代码可读性:使用清晰的变量 名和函数名添加注释
指针变量可以通过 “&”运算符获取 其指向的内存地址
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 实在太长时要在适当位置拆分,拆分出的新行要进行适当缩进
if ((veryLongVar1 >= veryLongVar2) &&(veryLongVar3 >= veryLongVar4)) { DoSomething(); } double FunctionName(double variablename1, double variablename2); for (very_longer_initialization; very_longer_condition; very_longer_update) { DoSomething(); }
代码规范
rules and guidelines of Coding Style
关于代码风格问题
代码风格(Coding Style)是一种习惯 – 现在许多大公司都对员工书写代码制定了规范 – 开发大项目时由项目管理者制定代码规范 Basic rules and guidelines of Coding Style – 程序版式 – 程序注释 – 命名规则 Some other rules and guidelines of Coding Style 内存管理

2015-4-11
21
Windows应用程序命名规则
Microsoft公司的Hungarian Notation(匈牙利命名法) 主要思想 – 在变量和函数名前加上前缀,用于标识变量的数据类型 – [限定范围的前缀] + [数据类型前缀] + [有意义的英文单词] – 限定范围的前缀

{和}独占一行,且位于同一列,与引用它们的语句左对齐, 便于检查配对情况
– 位于同一层{和}之内的代码在{右边数格处左对齐,
即同层次的代码在同层次的缩进层上 – 可以用设置为4个空格的Tab键缩进,也可以空格缩进
2015-4-11
6
建议的风格
void Function(int x) { … // program code } if (condition) { … // program code } else { … // program code } for (initialization; condition; update) { … // program code } while (condition) { … // program code } 如果出现嵌套的{},则使用缩进对齐,如 : { … { … } … 2015-4-11 }
2015-4-11
4
程序版式

良好的风格
int isprime(int n) { int k, i; if (n == 1) return 0; k = (int)sqrt((double)n); for (i=2; i<=k; i++) { if (n % i == 0) return 0; } return 1; }



静态变量前加前缀s_ ,表示static 全局变量前加前缀g_ ,表示global 类内的成员函数m_ 默认情况为局部变量
20
2015-4-11
标识符命名的共性规则

尽量与所采用的操作系统或开发工具的风格保持 一致 – 在Linux/Unix平台

习惯用“小写加下划线” function_name variable_Name 大小写混排的单词组合而成 FunctionName variableName
– Windows风格

代码行 – 一行只写一条语句,这样方便测试 – 一行只写一个变量,这样方便写注释
int int int

width; height; depth; sum = 0;
//宽度 //高度 //深度
– 尽可能在定义变量的同时,初始化该变量
int
– if、for、while、do等语句各占一行,执行语句无论有几条都用
x, y; *x, y;
– 提倡靠近变量名

2015-4-11
16
类的版式

“以数据为中心”的版式 – private类型的数据写在前面,public类型的数据
写在后面 – 关注类的内部结构

“以行为为中心”的版式 – public类型的数据写在前面, private类型的数
据写在后面 – 关注的是类应该提供什么样的接口(或服务)
x = a + b;
y = c + d;
z = e + f;
if (width < height) dosomething();
for (initialization; condition; update) dosomething(); other();
2015-拆分 – 代码行不宜过长,应控制在10个单词或70-~80个字符以内

2015-4-11
2
程序版式

程序版式——程序员的书法 – 比书法好学得多,基本不需要特别练习

但是坏习惯一旦养成,就像书法一样难以改变
不影响程序的功能,但影响程序的可读性 追求 – 清晰、整洁、美观、一目了然 – 容易阅读,容易测试

2015-4-11
3
程序版式

不良的风格
#include <stdio.h> #include <math.h>

提倡后者 – 因为用户最关心的是接口
17
2015-4-11
标识符命名规则
大连大有吴涛公司的易语言 – 变量名和函数名都用汉字 日本在VC基础上开发的语言Holon – 变量名和函数名都用日文假名

2015-4-11
18
标识符命名规则

按照执行级别分为: – 共性规则

必须执行
– 简化规则


– [] . -> 前后不加空格 – 对表达式较长的for和if语句,为了紧凑可在适当地方去掉一些空格
for (i=0; i<10; i++) if ((a+b>c) && (b+c>a) && (c+a>b))

2015-4-11 11
程序版式
void Func1(int x, int y, int z); void Func1 (int x,int y,int z); printf("%d%d%d", a, b, c); printf("%d%d%d",a,b,c); if (year >= 2000) if(year>=2000) if ((a>=b) && (c<=d)) if(a>=b&&c<=d) for (i=0; i<10; i++) for(i=0;i<10;i++) for (i = 0; i < 10; i ++) x = a < b ? a : b; x=a<b?a:b; int *x = &y; int * x = & y; array[5] = 0; a.Function(); b->Function(); // 良好的风格 // 不良的风格 // // // // // // 良好的风格 不良的风格 良好的风格 不良的风格 良好的风格 不良的风格
不建议的风格
void Function(int x){ … // program code }
if (condition){ … // program code } else { … // program code } for (initialization; condition; update){ … // program code } while (condition){ … // program code }
建议采用
灵活运用
– 可选规则

2015-4-11
19
标识符命名的共性规则





直观可以拼读,见名知意,不必解码 最好采用英文单词或其组合,切忌用汉语拼音 尽量避免出现数字编号 不要出现仅靠大小写区分的相似的标识符 不要出现名字完全相同的局部变量和全局变量 用正确的反义词组命名具有互斥意义的变量或相反 动作的函数 – int minValue; – int maxValue; – int GetValue(…); – int SetValue(…);
main() {int i; for (i=2;i<100;i++) {if(isprime(i)) printf("%d\t",i); } } int isprime(int n) {int k,i; if (n == 1) return 0; k=sqrt((double)n); for (i=2;i<=k;i++) {if(n%i==0) return 0;} return 1; }
// 良好的风格 // 不良的风格 // 过多的空格 // 良好的风格 // 不良的风格 // 良好的风格 // 不良的风格 // 不要写成 array [ 5 ] = 0; // 不要写成 a . Function(); // 不要写成 b -> Function();
2015-4-11
12
程序版式
{和}将其包含在内,这样便于维护
if (width < height) { DoSomething(); } //空行 OtherThing();
2015-4-11 13
程序版式
相关文档
最新文档