Presentation is loading. Please wait.

Presentation is loading. Please wait.

上机环境介绍 杨斌 2005-3-20.

Similar presentations


Presentation on theme: "上机环境介绍 杨斌 2005-3-20."— Presentation transcript:

1 上机环境介绍 杨斌

2 上机时间地点 地点:西区电三楼517 时间:分两组,单双周,共六次 从第五周(3月22日)开始 每周二晚6:00-10:00

3 上机环境 系统 win2000 编程环境: Borland C++3.1 Visual C++6

4 Borland C++介绍 Project的创建 编译和运行 BC的调试

5 Project的创建 点击菜单中的Project选项下的Open project... ;
如果有已经建好的*.prj文件,可以点击OK打开; 如果输入新命名会建立一个工程文件; 如下图:

6

7 编译和运行 编译 Compile->Compile Alt+F9 编译整个Project Compile->Make F9
运行 Run->Run Ctrl+F9 察看运行结果 Alt+F5

8 BC的调试 设置断点 运行到光标处Go to Cursor 单步跟踪 Step into / Step over
察看/修改变量值Add Watch

9 设置断点 让光标停留在要设置断点的位置; 同样可以在菜单中的Debug-> BreakPoints. . . 选项中编辑删除断点。

10

11 跟踪 运行到光标处Go to Cursor F4 表示程序将执行到光标所在的可执行语句行上; 单步跟踪 Step into F7
Step over F8 注:Step Into选项表示每次只执行一行语句(单步执行),但如果当前代码是调用一个函数,那么Step Into表示进入该函数,全部函数语句执行完后返回,而Step Over则是跳出这个函数;

12 察看/修改变量值 Add Watch CTRL+F7, 输入需要查看的变量名;
Delete Watch/Remove all watches, 删除观察变量 Edit Watch, 编辑 观察变量

13

14 头文件问题 头文件找不到? 检查Option->Directory环境设置的是否正确;
具体环境设置举例见DsLib使用说明

15

16 命名规范 “匈牙利”法 : 主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。
例如int i, j, k; =>int iI, iJ, ik; “匈牙利”法最大的缺点是烦琐; 建议使用有意义的单词命名; 例如:float value,oldValue,newValue; 而不是float a,b,c;

17 编码风格 使用良好的命名规则和编码风格。让自己的程序易于理解。 间隔与缩进;便于阅读。 1.统一TAB 2.统一注释

18 基本要求 各个函数以及类型定义之间分开,空一行; 函数内变量声明和函数体分开,中间空一行;变量声明不能位于函数体之中;
一条语句占一行,禁止将多条语句写在同一行上;不同类型变量声明不能位于同一行; 每个代码块都用tab键进行缩进; 适当的注释。

19 注释 文件名: 编写者: 编写日期: 简要描述: 修改记录: **************************/ 文件头注释;
/************************** 文件名: 编写者: 编写日期: 简要描述: 修改记录: **************************/

20 注释(续上) 函数注释 /******************************* 函数名称: 简要描述:// 函数目的、功能等的描述 输入:       // 输入参数说明,包括每个参数的 // 作用、取值说明及参数间关系, 输出:       // 输出参数的说明, 返回值的说明 修改日志: *******************************/ 对重要的变量和代码段可作单独的注释;

21 关于编程风格和设计规范详细内容请参考相关书籍

22 关于函数 函数名,参数名命名规范;目的是让人看到函数名就知道函数的作用。
函数的长度,不要太长,太长的函数会影响到代码的可读性。分化成多个子函数。 同样的代码段重复时,建议使用函数,以提高可维护性,减少出错机会。

23 关于调试(Debug) 不要等程序全写完一下就进入整体调试。这样很难搞清楚代码在何处出现问题;

24 调试方法 屏幕输出函数,如printf,编辑器通用的调试手段。
其他的针对使用的编辑器,学会使用简单的调试方法:单步跟踪,加断点,Watch变量..... 详细请参考介绍相关编辑器的书籍。

25 测试向量(批量测试) 常规从scanf输入,printf输出; 使用文件建立测试集,将结果输出至文件;
输入输出重定向,使用“>”、“<”符号实现。 如果我们想输入 in_data_file文件中的数据,如 “abcd” 时,输入命令      a.exe <in_data_file 其中 a.exe是可执行文件名。 如果我们想把结果输出到 out_data_file 文件中,输入命令      a.exe >out_data_file

26 DsLib DsLib库是基于BorlandC++3.1下的DOS开发环境作成的LIB库(目前已有移植到visual c的版本);
DsLib提供接口,用户通过调用接口函数可以对自己已经生成的一般数据结构(单链表、双链表、二叉树、图)在DOS的图形界面下形象的显示 帮助用户检查该数据结构是否创建正确

27 DsLib使用 详细说明见DsLib文档 DsLib包中包含一个Dslib的使用演示
使用时,首先将压缩包解开到一个目录中,在BorlandC中打开项目文件 重新设定相关路径、选项 编译、运行

28

29

30

31

32 DsLib演示代码说明 程序头include “ds.h” 根据需要调用显示函数
void showList(const LinkList pHead) void showList(const DuLinkList pHead) void showBiTree(const BiTree pRoot) void showGraph(const MGraph &G) void showGraph(const ALGraph &G) void showGraph(const OLGraph &G) void showGraph(const AMLGraph &G) 注意:调用DsLib库时数据结构的内部域名称必须与ds.h中声明的一致

33

34 实习一说明 实习一

35 要注意的问题 编程规范 空指针问题 :简单快速的定位(运行VC用DEBUG方式运行,出错后光标会停留在出错的位置);
指针初始化[->分配空间]->赋值; 注意悬空引用,free后不能再使用; 注意程序健壮性,对非法输入的处理

36 上机及实验报告评分标准 上机情况和实验报告分别占最后成绩的60%和40%。 上机:
运行结果正确55%, 程序的简洁性和易读性占15%。 异常处理和程序的稳定性15% 代码风格15% (包括注释。考虑到时间和DOS环境,可以在试验报告中补全) 实验报告:根据格式和内容的完整性酌情给分具体实验报告规范详见《数据结构题集》中相关章节。

37 更多信息见主页 http://mail.ustc.edu.cn/~Eshenkai/tutor/exp/exp.html
结束! 更多信息见主页


Download ppt "上机环境介绍 杨斌 2005-3-20."

Similar presentations


Ads by Google