课程设计实习指导书-计算机高级语言程序设计

2026/1/27 7:23:35

高级语言(VC++)课程设计指导书 /** * 包计数器 */ int iPackets;

(7) 语句

【建议7】代码注释风格

代码注释用/*...*/和//标识。程序可以有四种风格的代码注释:块注释、单行注释、后缘注释(trailing)、行尾注释(end-of-line)。

块注释。块注释常用来提供文件、方法、数据结构、算法的说明。块注释可以被用在每个文件的开头和每个方法的起始,它们也可以被用在其他地方,比如在方法内部等。块注释在函数或方法的内部应该和它们描述的代码具有同样的缩进格式。块注释之前应该有一个空行。

单行注释。短的注释可以出现在单行,和它后面的代码使用同样的缩进。单行注释前应该有一个空行。

后缘注释(trailing)和行尾注释(end-of-line)。非常短的注释可以出现在和它说明的代码的同一行中,但应该和被说明的代码相隔足够远。如果在一个代码块中出现了多于一个的短注释,它们应该有相同的缩进。

【规则40】语句块结束注释

① 函数定义的结束必须加如下内容的注释: //end of 函数名。若程序文件中能够明确指出函数结束的不需加此注释。

② 对于包含代码行较多的条件语句,每个条件处理语句块的结束必须加如下内容的注释://end of 此语句块的条件。

③ 对于包含代码行较多的循环语句,循环语句块的结束必须如下内容的注释://end of 循环条件。

4、程序的版式

(1) 空白符

A、空行

【规则41】在每个类声明之后、每个函数定义结束之后都要加空行。

【规则42】在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应加空行分隔。

B、空格

【规则43】在if、for、while等关键字之后应留一个空格再跟左括号?(?,以突出关键字。 【规则44】函数名之后不要留空格,紧跟左括号?(?,以与关键字区别。 【规则45】?,?、?;?向前紧跟,紧跟处不留空格。

- 13 - 13

高级语言(VC++)课程设计指导书

【规则46】?,?之后要留空格,如Function(x, y, z)。如果?;?不是一行的结束符号,其后要留空格,如for (initialization; condition; update)。 【规则47】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”、“^”等二元操作符的前后应当加空格。

【规则48】一元操作符如“!”、“~”、“++”、“--”、“&”(地址运算符)与其作用的操作数之间不加空格。

【规则49】 操作符“[]”、“.”、“->”前后不加空格。

C、对齐 【规则50】相互匹配的?{?和?}?应独占一行并且位于同一列,同时与引用它们的语句左对齐。 【规则51】{ }之内的代码块在新行?{?右边一个Tab处左对齐。

(2)表达式

A、运算符的优先级

【建议8】建议对于除+,*等优先级非常明显的运算符之外,全部使用括号确定表达式的操作顺序。

B、复合表达式 【规则52】不要有多用途的复合表达式。

C、逻辑表达式

? 布尔变量与零值比较

【规则53】布尔变量与零值比较

不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。应写为:

bool bFlag;

if (bFlag) // 表示flag为真 if (!bFlag) // 表示flag为假

其它的用法都属于不良风格,

例如: if (flag == TRUE) if (flag == 1 ) if (flag == FALSE) if (flag == 0) ? 整型变量与零值比较

【规则54】应当将整型变量用“==”或“!=”直接与0比较。

假设整型变量的名字为value,它与零值比较的标准if语句如下:

if (value == 0) if (value != 0)

- 14 - 14

高级语言(VC++)课程设计指导书

不可模仿布尔变量的风格而写成:

if (value) // 会让人误解 value是布尔变量 if (!value) ? 浮点变量与零值比较

【规则55】不可将浮点变量用“==”或“!=”与任何数字比较。

千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。

假设浮点变量的名字为x,应当将

if (x == 0.0) // 隐含错误的比较

转化为

if ((x>=-EPSINON) && (x<=EPSINON))

其中EPSINON是允许的误差(即精度)。 ? 指针变量与零值比较

【规则56】应当将指针变量用“==”或“!=”与NULL比较,而不应采用if(p)或者if(!p)的形式。 指针变量的零值是“空”(记为NULL)。尽管NULL的值与0相同,但是两者意义不同。假设指针变量的名字为p,它与零值比较的标准if语句如下:

if (p == NULL) // p与NULL显式比较,强调p是指针变量 if (p != NULL)

不要写成 if (p == 0) // 容易让人误解p是整型变量 if (p != 0) 或者

if (p) // 容易让人误解p是布尔变量

if (!p)

(3)基本语句

A、代码行

【规则57】一行代码只做一件事情,如只定义一个重要变量,或只写一条语句。

【规则58】if、for、while、do等语句自占一行,执行语句不得在同一行上。不论执行语句有多少都要加{}。

【规则59】尽可能在定义变量的同时初始化该变量(就近原则)。 【建议9】在使用之前才定义变量。 【建议10】不提倡使用全局变量

不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。 【建议11】调试信息

不要用cout到处打印调试信息,统一使用带开关的调试类打印调试信息。

B、长行拆分 【规则60】代码行最大长度为80个字符。

- 15 - 15

高级语言(VC++)课程设计指导书

【规则61】超长的语句应该在一个逗号后,或者一个操作符前折行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。

C、修饰符的位置 【规则62】应当将修饰符 * 和 & 紧靠变量名。

(4)条件语句

【建议12】程序中有时会遇到if/else/return的组合,建议将如下风格的程序:

if (condition) return x; return y; 改写为 if (condition) { return x; } else { return y; } 或者改写成更加简练的 return (condition ? x : y); 【规则63】switch语句中必须有default分支。

例如: switch (i) { case 1: …; break; case 2: …; break; default : break; } 【规则64】每个case语句的结尾不要忘了加break,否则将导致多个分支重叠(除非有意使多个分支重叠)。

- 16 - 16


课程设计实习指导书-计算机高级语言程序设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 课程设计实习指导书-计算机高级语言程序设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219