Download presentation
Presentation is loading. Please wait.
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打开; 如果输入新命名会建立一个工程文件; 如下图:
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. . . 选项中编辑删除断点。
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, 编辑 观察变量
14
头文件问题 头文件找不到? 检查Option->Directory环境设置的是否正确;
具体环境设置举例见DsLib使用说明
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中打开项目文件 重新设定相关路径、选项 编译、运行
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中声明的一致
34
实习一说明 实习一
35
要注意的问题 编程规范 空指针问题 :简单快速的定位(运行VC用DEBUG方式运行,出错后光标会停留在出错的位置);
指针初始化[->分配空间]->赋值; 注意悬空引用,free后不能再使用; 注意程序健壮性,对非法输入的处理
36
上机及实验报告评分标准 上机情况和实验报告分别占最后成绩的60%和40%。 上机:
运行结果正确55%, 程序的简洁性和易读性占15%。 异常处理和程序的稳定性15% 代码风格15% (包括注释。考虑到时间和DOS环境,可以在试验报告中补全) 实验报告:根据格式和内容的完整性酌情给分具体实验报告规范详见《数据结构题集》中相关章节。
37
更多信息见主页 http://mail.ustc.edu.cn/~Eshenkai/tutor/exp/exp.html
结束! 更多信息见主页
Similar presentations