您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++面向对象程序设计课程实验教学大纲
C++面向对象程序设计课程实验教学大纲一、学时数:学时二、授课对象:计算机科学与技术专业(本科)三、内容提要:1.本实验内容作为C++面向对象程序设计理论联系实际,培养增强学生动手能力。2.实验内容主要包括在VISUALC++环境下调试C++程序,熟悉C++语言特点。四、考试方式:实验报告及成绩五、教材及参考书:1.C++程序设计语言教程(语言基础)麦中凡编著北京航空航天大学出版社,1995年7月第一版2.面向对象程序设计高级教程陈奇编著高等教育出版社2001.63.C++编程思想(美)BruceEckel著,机械工业出版社2000.7六、实验内容安排实验一、VisualC++集成编程环境的使用一、实验目的与要求使学生了解Visualc++6.0集成编程环境(VCIDE)及其基本功能,初步学会应用Visualc++6.0集成编程环境进行c++程序的编辑、编译、连接、调试、运行。本实验为验证性实验。二、实验内容1.Visualc++6.0的启动;2.Visualc++6.0集成编程环境的组成及基本功能;3.程序的编辑、编译、语法错误的排除、连接、调试、运行。三、实验时数:4学时四、相关内容:Visualc++6.0集成编程环境的使用方法简介(1)Visualc++6.0集成编程环境的功能非常强大,我们仅要求学生了解其中的几项基本功能,包括:(1)C++sourcefile的处理。(2)调试器Debugger的使用。(3)用MFCAppWizard(Exe)创建应用项目。本实验先简单介绍C++sourcefile的编辑、编译、连接、调试、运行。其它功能将在后继实验中陆续介绍。1.上机方法和步骤1)1)启动VisualC++,启动方法见图1-1:图1-1通过程序菜单启动VisualC++2)创建一个新的C++SourceFile(见图1-2)在VC的主窗口中打开“文件”菜单,单击“New”命令选项,进入“New”对话框,选择该对话框的“File”页,在该页的File功能列表中双击“C++Source”项,则进入到程序文件编辑窗中。图1-2选择“C++Source”功能3)编辑C++SourceFile进入“程序文件编辑“窗中(见图1-3),即可用Windows提供的文本编辑的一般方法编辑程序,所谓一般方法包括文字或文字块的输入、修改,文字或文字块的删除、复制、粘贴等。图1-3VC的程序编辑器4)保存C++文件程序编辑完毕(或者程序部分编辑完成),可以执行文件保存命令(Save或SaveAs)以保存文件,“SaveAs“命令所对应的对话框如图1-4所示,源程序文件(C++SourceFile)的扩展名为cpp。图1-4“SaveAs”对话框5)源程序文件的编译执行“Build”菜单上“Compile”命令,即可对已打开的源程序文件进行编译,编译结果(含出错信息)显示在主窗口下部的“编译结果信息”输出框中(图1-5的红框部分)。图1-5编译结果信息输出6)如果程序有语法错,可参照“输出窗中给出的提示进行修改,然后重复5)—6),直至出错提示全部消除,生成目标文件(*.obj)以及其他相关文件。7)生成可执行文件(程序的链接)执行“Build”菜单上“Build”命令,即可对已生成的的目标文件进行链接,生成可执行文件(*.exe),Build结果(含出错信息)显示在主窗口下部的输出框中(图1-6的红框部分)。图1-6链接结果信息输出8)程序的执行执行“Build”菜单上“Excute”命令,即可执行步骤7)所生成的可执行文件,并显示如图1-7所示的Dos窗口。图1-7执行C++Source程序所显示的窗口2.注意事项(1)应建立专用的文件夹来保存源程序文件并且要记住该文件夹的准确路径。(2)程序如有语法错误,编译程序会以语句行为单位在输出框中给出详细的出错信息,只要双击输出框中的某条出错信息,光标即自动定位到包含该错误的语句行上(编辑窗中)。(3)一个语法错误可能导致出现多个相关语法成分出现语法错误,排除主要的语法错误后,相关的语法错误则同时自行排除。实验二、C++的基本i/o流控制一、实验目的与要求本实验为证性实验,旨在使学生加深对i/o流及i/o操作的理解,学会运用i/o流类提供的基本操作符和各种格式控制符实现程序中的简单的输入、输出处理。二、实验内容1.编制简单的程序,对插入运算符往输出流(cout和clog)中输出各种数据的功能进行验证(输出项必须包括:常量、变量、函数调用和表达式等)。2.编制简单的程序,对提取运算符从输入流(cin)中提取键盘键入的字符串,并转换成各种数据赋予指定变量的功能进行验证。(输入项必须包括各种类型的变量)。3.常用的格式控制符的功能和输出格式验证,包括设置浮点数格式、设置输出域宽、设置填充字符、设置和输出16进制数据等,可以自行编制程序也可以利用教材和讲义中的对应的程序实例进行验证。三、实验时数:4学时四、相关内容:、i/o流的常用格式控制符控制符作用Dec10进制输出格式Hex16进制输出格式Oct8进制输出格式Setfill(c)设置填充字符为c(c表示任意字符)Setprecision(n)设置浮点数的数字位数Set(w)设置输出域宽为n(n个字符)Setiosflags(ios:fiexde)设置固定的浮点表示格式Setiosflags(ios:scientific)设置指数表示格式Setiosflags(ios::left)设置左对齐Setiosflags(ios::right)设置右对齐Setiosflags(ios::skipws)忽略前导空白Setiosflags(ios::uppercase)设置16进制数大写输出(A-F)Setiosflags(ios::lowercase)设置16进制数小写输出(a-f)实验三、语句与简单的程序设计一、实验目的与要求使学生加深对C++各种语句的语法、语义及语用环境的理解,初步学会综合运用各种基本数据类型各种语句(if语句、switch语句、各种循环语句等),编写含有选择结构、重复结构的c++程序。初步掌握程序的调试方法。二、实验时数:4学时三、实验内容本实验与课堂教学中的程序结构、if语句、switch语句、循环语句等三个阶段同步进行,包括以下三个实验:1.编写计算生日是星期几的程序程序功能:输入生日的日期(年、月、日),输出星期几。测试数据:请分别输入三个同学的饿生日日期进行验证。2.编写“乘法口诀”表的程序程序功能:在屏幕上输出以下二种格式的乘法口诀表乘法口诀表(1)*1234567891123456789224681012141618336912151821242744812162024283236551015202530354045661218243036424854771421283542495663881624324048566472991827364554637281乘法口诀表(2)*123456789112243369448121655101520256612182430367714212835424988162432404856649918273645546372813.编写程序用字符组成各种图案程序功能:在屏幕上输出以字符组成的三角形(金字塔)和梯形(可参照图3-1和图3-2所示的图例)。**************************************************************************图3-1用“*”组成的三角形#################################################################图3-2用“#”组成的梯形要求:组成图形的字符和图形的行数通过键盘输入。测试数据:请分别输入三组数据进行测试。实验四、函数、程序结构、递归程序设计一、实验目的与要求使学生掌握函数声明、函数调用的语法,学会应用c++的各类系统函数,学会编写多文件结构的程序,了解递归程序的运行机制和运行过程。二、实验时数:4学时三、实验内容本实验与课堂教学中的函数、程序结构等教学内容同步进行,包括以下二个实验:1.“hanno”塔问题中盘子的移动过程可视化程序功能:实现模拟“hanno”塔问题的递归函数及其调用,显示递归函数的调用和执行情况,显示盘子的模拟移动情况,例如当盘子数为3时,对应的显示序列为:A-CA-BC-BA-CB-AB-CA-C测试数据:输入不同的盘子数,观察程序的执行情况。2.简单的表格框线自动生成程序程序功能:提示输入行数、列数、列宽以及表格标题等参数,根据用户输入的上述参数在屏幕上显示对应的表格框线。具体要求:(1)(1)将各主要功能设计函数,分别编写成多函数的程序和包含多个源程序文件的多文件结构程序。(2)(2)独立完成程序设计、调试和测试(3)(3)提交实验报告(设计报告)实验报告的主要内容包括:实验目的,程序功能分析,算法(流程图),源程序,若干组测试数据和测试结果等。实验五、数组、结构、指针的综合应用一、实验目的与要求使学生进一步理解数组、结构、指针这些构造数据类型的概念、用途,熟悉上述各种数据类型定义的语法,学会应用数组、结构、指针等构造数据类型编写数据处理序。二、实验时数:4学时三、实验内容本实验与课堂教学中的数组、结构、指针等教学内容同步进行,强调三者的综合应用,包括以下二个实验:1.字符串的输入与排序程序功能:输入n行文本(字符串),将它们排序后逐行输出。具体要求1)1)n行文本的保存可以分别采用以下方法(1)用二维字符数组来保存所输入的字符串(2)用一维字符指针数组来保存字符串首地址的程序,对两种保存和表示方法进行比较比较。2)2)排序方法自选。3)3)对程序功能进行分解,每一个子功能,例如输入、排序、输出等,请用函数实现。4)4)提交实验报告(设计报告)实验报告的主要内容包括:实验目的,程序功能分析,算法(流程图),源程序,若干组测试数据和测试结果等。2.用链表实现学生花名册管理程序功能(1)(1)创建一个包含n个学生结点的链表(n值自定),动态构成学生花名册,学生数据包括:学号、姓名、性别、专业、宿舍号。(2)(2)对所创建的学生花名册(链表)按学号的增序方式排序(调整结点位置)。(3)(3)按学号在链表中查询,并输出查询结果。具体要求:提交实验报告(设计报告)实验报告的主要内容包括:实验目的,程序功能分析,算法(流程图),源程序,若干组测试数据和测试结果等。实验六、面向对象程序设计基础一、实验目的与要求使学生掌握类的概念和语法;了解面向对象程序设计的方法和特点;学会应用c++的文件流类进行文件操作,包括创建、打开文件,读文件,写文件等。二、实验时数:4学时三、实验内容本实验与课堂教学中的类与数据抽象,文件等章节同步进行,包括以下二个实验:1.日期类的设计日期类的基本属性:请自行描述。日期类的功能(行为)(1)(1)设置日期。(2)能按dd/mm/yyyy、yyyy-mm-dd、yyyy.mm,dd等多种格式显示日期。(3)输出对当前日期加上一天后的日期。(4)输入日期,显示该日是星期几。具体要求(1)(1)用所设计的类定义日期对象,并进行测试。(2)(2)提交实验报告(设计报告)2.文件的基本操作程序功能:读取t1.txt文件,并将所读到的各行在行首加上行号后,逐行输出到t2.txt文件中。t1.txt文件t2.txt文件aaaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccccdddddddddeeeeeeeeeeeeeeee1:aaaaaaaaaaaaaa2:bbbbbbbbbbbbb3:cccccccccccccccccc4:ddddddddd5:eeeeeeeeeeeeeeee要求(1)按上述所给功能设计程序,并进行测试;(2)将只能处理t1.txt文件,改为能处理任意的
本文标题:C++面向对象程序设计课程实验教学大纲
链接地址:https://www.777doc.com/doc-4422082 .html