当前位置:文档之家› 《C++语言程序设计》实验教学大纲教学文案

《C++语言程序设计》实验教学大纲教学文案

《C++语言程序设计》实验教学大纲
(非独立设课)
课程编号:006A1340 实验学时:18
一、课程教学对象
《C++语言程序设计》实验,是《C++语言程序设计》课程的重要组成部分,是计算机科学与技术、软件工程、网络工程等专业以及电气工程与自动化类、电子信息与通信类等各专业的重要技术基础课,是信息学院教学平台的重要必修课程之一。

本课程教学对象为五邑大学信息学院各专业的本科学生。

二、课程性质、目的和任务
《C++语言程序设计》实验,共有9个实验项目,每个实验项目占用2学时,共18学时。

它是《C++语言程序设计》课程的重要组成部分。

实验是学习程序设计课程至关重要的环节。

学习程序设计语言不能只停留在学习语法规则上,而是要运用学到的知识编写程序,解决实际问题。

只有通过实验才能检验自己是否真正掌握该语言。

通过上机调试程序,会发现很多想不到的问题,通过解决这些问题,可以加深对语言的理解和提高实际编程能力。

基本调试技术是深入学习本课程的基础,也是取得实际编程能力的前提。

因此实验应以调试技术、基本算法、基本数据结构和综合编程为核心内容,以提高学生基本调试技术和实际编程能力为目的。

三、对先修课的要求
本课程的先修课为《计算机导论》,通过《计算机导论》课的学习,应达到如下水平:
具有一定的计算机操作水平;
熟练掌握常用操作系统、文字编辑软件的使用。

四、实验报告要求
实验报告是实验教学的重要环节。

实验后,应根据实验过程和实验结果,写出实验报告。

《C++语言程序设计》实验的实验报告应当包括如下内容:
(1)实验名称
(2)实验目的
(3)实验内容
(4)测试数据和预期结果(必要时应准备多组数据)
(5)算法分析和流程图
(6)源程序(应加适当的注释,可读性好)
(7)程序运行结果
(8)小结(出错及解决方法,上机调试的结果和体会)
五、实验内容和实验要求
实验一初识C++程序开发环境
1、实验内容
(1)了解所用计算机系统软、硬件配置。

(2)熟悉C++语言程序开发环境。

(3)输入编辑2~3个简单的程序示例,并进行编译、连接和运行。

2、实验要求
(1)熟悉C++程序的编辑、编译、连接及运行的全过程。

(2)掌握基本的输入/输出操作。

(3)初步了解C++程序的基本结构和特点。

实验二选择结构
1、实验内容
(1)运用if语句编写程序:输入三个数,然后输出其中最大(或最小)的数。

(2)运用switch语句编写程序:输入百分制的一个学生成绩,然后按优、良、中、及格和不及格等级制,输出对应的A、B、C、D和E字符。

2、实验要求
(1)掌握结构化程序三种基本结构之一:选择结构。

(2)掌握选择结构在C++语言中的实现方法,并针对不同的问题正确选择恰当的选择结构语句(if 语句、switch语句和break语句)进行编程。

实验三循环结构
1、实验内容
(1)编写程序:求任意两个正整数m和n的最大公约数。

(2)编写程序:判断任意输入的一个整数是否是素数。

(3)编写程序:求n!。

(4)编写程序:输出形状为直角三角形的九九表。

2、实验要求
(1)掌握结构化程序的三种基本结构(顺序结构、选择结构、循环结构)。

(2)掌握循环结构在C++语言中的实现方法。

(3)掌握控制循环进程的两种办法:计数法和标志法。

(4)掌握穷举算法和迭代与递推算法。

实验四C++的函数
1、实验内容
(1)写出计算(输出)Fibonacci数列前n项的函数,并在主函数main()中进行调用测试。

(2)分别以迭代(递推)算法和递归算法,写出计算n!的函数。

并通过在主函数main()中调用以上函数,计算1!+2!+3!+…+20!。

2、实验要求
(1)掌握C++的函数定义、函数声明与函数调用。

(2)掌握递归函数,并比较递归算法与迭代(递推)算法。

实验五C++的数组
1、实验内容
(1)编写程序:实现一个给定的二维数组(M×N)的转置(行列互换)。

(2)写出建立Fibonacci数列数组的函数,并在主函数main()中进行调用测试。

(3)编写程序:运用字符数组,将两个字符串连接起来,结果取代第一个字符串。

(4)有若干个数存放在一个数组中,现输入一个数,找出该数是否在数组中。

要求:分别用交换排序法和选择排序法建立排序函数,实现数组的排序;建立折半查找函数实现快速查找。

2、实验要求
(1)掌握数组的定义和使用方法。

(2)掌握运用字符数组处理字符串的方法。

(3)掌握交换排序法、选择排序法及折半查找法。

实验六C++的指针
1、实验内容
(1)运用指针,求一个矩阵所有靠外侧的元素值之和。

(2)运用指针,编写一个函数,以实现两个字符串的比较。

(3)编写程序:输入月份号,输出该月的英文月名。

例如,输入“3”,则输出March。

要求用指针数组处理。

2、实验要求
(1)掌握指针的概念,会定义和使用指针变量。

(2)掌握数组与指针、指针与函数之间的关系。

(3)能正确使用指针处理相关问题。

实验七类与对象
1、实验内容
设计一个包含有班主任姓名的Student类,并有设置班主任姓名的成员函数。

然后在main()函数中定义若干Student类的对象,并能方便地改变(设置)新的班主任。

2、实验要求
(1)掌握类与对象、数据成员与成员函数、构造函数与析构函数等概念。

(2)掌握类的定义与实现方法,以及对象的定义与引用方法。

实验八继承与派生
1、实验内容
(1)设计一个Person类,其数据成员的访问属性为private,并包括一个信息输出函数display()。

(2)分别采取公用继承方式和私用继承方式写出Person类的派生类:Student类,在Student类中包括一个信息输出函数show()。

在main()函数中分别实现两类对象的信息输出。

(3)将Person类和Student类的信息输出函数名称统一为show(),并完善程序。

(4)将Person类数据成员的访问属性改为protected,分别采取公用继承方式和保护继承方式写出Student类,并完善程序。

2、实验要求
(1)理解继承性与派生类的概念。

(2)理解派生类的三种继承方式及其应用方法。

实验九多态性
1、实验内容
(1)声明一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。

参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。

(2)声明抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle (三角形),用一个函数printArea()分别输出以上三者的面积。

三个图形的数据在定义对象时给定。

2、实验要求
(1)了解多态性的概念。

(2)了解运算符重载、虚函数的概念和用法。

(3)了解纯虚函数和抽象类的概念和用法。

六、实验教材及参考书
[1] 谭浩强. C++程序设计题解与上机指导. 清华大学出版社. 2005.
[2] 谭浩强. C++程序设计. 清华大学出版社. 2004.
[3] 钱能. C++程序设计教程(第二版). 清华大学出版社. 2005.
[4] 吴乃陵况迎辉. C++程序设计(第2版). 高等教育出版社. 2006.
[5](美)Bjame Stroustrup. C++程序设计语言(特别版). 机械工业出版社. 2002.
七、说明
本实验教学大纲中的实验项目、实验内容以及项目个数,在实际教学时可进行适当调整。

执笔人:编写日期:。

相关主题