1、程序设计实习习题课,助教:张琴 姜建军 雷大伟 金星星 2005年4月4日,内容,1. 程序的风格 张琴,2. 1001题 姜建军,3. 1017题 雷大伟,4. 1405题 金星星,程序的风格,文件的结构 代码的格式 空行 代码行 空格 对齐 长行拆分 修饰符的位置 注释 命名规则,文件的结构,头文件(*.h) 头文件开头处的文件声明,作者,时间,功能描述 预处理块 函数和类结构声明 示例 / circle.h: zhangqin 2005-4-4 / Definition of class Circle #ifndef CIRCLE_H / 防止circle.h 被重复引用 #define
2、 CIRCLE_H #include / 引用标准库的头文件 #include “point.h” / 引用非标准库的头文件 class Circle / 类结构声明 ; #endif,文件的结构,规则 为了防止头文件被重复引用,应当用ifndef/define/endif 结构产生预处理块。 用 #include 格式来引用标准库的头文件。 用 #include “filename.h” 格式来引用非标准库的头文件。 头文件中只存放“声明”而不存放“定义” 不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。,文件的结构,源文件(*.cpp) 文件开头处的
3、文件名称声明,作者,时间,功能描述 对一些头文件的引用 程序的实现体(包括数据和代码) 示例 / circle.cpp: zhangqin 2005-4-4 / Member function definitions for class Circle #include “circle.h” / 引用头文件 / 类成员函数的实现体 Circle:Circle() Void Circle:setRadius() ,代码的格式,空行 代码行 空格 对齐 长行拆分 修饰符的位置 注释,代码的格式空行,规则 在每个类声明之后、每个函数定义结束之后都要加空行。 在一个函数体内,逻揖上密切相关的语句之间不加
4、空行,其它地方应加空行分隔。 示例 int main ( ) Point point; Circle circle; void Function1() void Function2() void Function3() ,代码的格式代码行,规则 一行代码只做一件事情,如只定义一个变量,或只写一条语句。 if、for、while、do 等语句自占一行,执行语句不得紧跟其后。 尽可能在定义变量的同时初始化该变量(就近原则)。,代码的格式空格,规则 关键字之后要留空格。象const、virtual、inline、case 等关键字之后至少要留一个空格。象if、for、while 等关键字之后应留一个空格再跟左括号(,以突出关键字。 函数名之后不要留空格,紧跟左括号(,以与关键字区别。 (向后紧跟,)、,、;向前紧跟,紧跟处不留空格。 ,之后要留空格,如Function(x, y, z)。如果;不是一行的结束符号,其后要留空格,如for (initialization; condition; update)。 赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=” “=”、“”这类操作符前后不加空格。 对于表达式比较长的for 语句和if 语句,为了紧凑起见可以适当地去掉一些空格,如for (i=0; i10; i+)和if (a 谢谢!,