《c++程序设计语言实验》教学大纲
Experiments of C++ Programming
课程代码Bk102006学时:32学分:1
适用专业:木材课程性质:必修
撰稿人: 张广梅审定人:张继军
实验课的性质与任务
通过本课程的学习,要求学生掌握C++语言的基本语法、基本语句、基本控制结构以及程序设计的一般方法,使学生具有熟练使用C++语言编程解决实际问题的能力。
二、实验目的与要求
掌握C++语言的基本控制结构和基本控制语句及相关的语法规范,熟练运用C++语言进行顺序、选择和循环结构程序设计的能力;熟练的上机编程和程序调试的能力;掌握一些常用的算法,如递推法、迭代法、穷举法、求最大最小值、排序、查找、插入、删除等,具有熟练运用这些算法解决实际问题的能力;了解结构化程序设计和模块化设计方法及面向对象程序设计的基本思想,掌握必要的程序设计技巧和程序调试技巧
三、实验项目设置情况
序号 | 实验项目名称 | 学时 | 开出要求 | 实验项目类型 |
必做 | 选做 | 基础型 | 综合设计 | 研究创新 |
演示 | 验证 |
1 | 认识Visual c++开发环境 | 2 | 必作 |
| | | 综合设计 | |
2 | 顺序结构程序设计 | 2 | 必作 |
| | | 综合设计 |
|
3 | 分支结构程序设计 | 4 | 必作 |
| | | 综合设计 | |
4 | 循环结构程序设计 | 6 | 必作 |
| | | 综合设计 | |
5 | 函数 | 4 | 必作 |
| | | 综合设计 | |
6 | 数组 | 4 | 必作 |
| | | 综合设计 | |
7 | 结构体 | 2 | 必作 |
| | | 综合设计 | |
8 | 类 | 8 | 必作 |
| | | 综合设计 | |
9 | | | | | | | | |
| | | | | | | | |
四、各实验项目教学内容
实验项目一:认识Visualc++集成开发环境2学时
(一)实验目的要求
熟练掌握visual c++ 开发环境进行项目的创建
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
创建工程,工程的打开,工程的保存,工程的复制
实验项目二:顺序结构程序设计2学时
(一)实验目的要求
掌握顺序结构程序设计的过程
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
输入一个三位数,其这个三位数中每一位上的数的和。例如,输入123,输出 6。
输入一个华氏温度,要求输出摄氏温度。公式为:
c= (f-32)/9
输入圆的半径,计算该圆的内接三正方形和外切正方形的面积。说明:平方根的计算使用数学函数double sqrt(double r)完成。(#include <cmath>)
输入一个三位数,将他们反向输出。
实验项目三:分支结构程序设计4学时
(一)实验目的要求
掌握分支结构程序设计的过程
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
把输入字符转换为小写字母。对输入字符进行判断,如果是大写字母,则转换为小写字母;否则,不转换
求一元二次方程ax2 + bx + c = 0的根。
判断一个数是否是水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。如果是,输出“yes”,否则,“no”
输入三角形的三条边,判断是否是一个三角形;如果是,计算三角形的周长并输出;否则,输出“此三条边不能构成三角形”
实验项目四:循环结构程序设计6学时
(一)实验目的要求
掌握循环结构程序设计的过程
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
编写程序,判断一个数是否是素数。
编写程序,判断一个数是否是完数。
输入a,和n 的值,计算aaaaaa。
计算自然数的平方和。
找出1000以内的所有水仙花数。
实验项目五:函数4学时
(一)实验目的要求
掌握函数的定义以及调用、函数参数的传递
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
编写函数,就是那两个数的和
编写函数,计算两个数的最大值和最小值
编写函数,计算两个数的最大公约数和最小公倍数
实验项目六:数组4学时
(一)实验目的要求
掌握数组的定义与引用方式
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
写出冒泡排序算法
用筛选法求100~200之间的所有素数
用选择法完成排序。
实验项目七:结构体2学时
(一)实验目的要求
掌握类类型的使用
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。
有3个学生的信息,放在结构体数组中,要求输出全部学生的信息。
定义一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。
编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据,每个学生的数据包括num,name,score[3](3门课成绩)。用主函数输入数据,用print函数输出这些数据。
实验项目八:类8学时
(一)实验目的要求
掌握类的定义与使用,类的继承的相关知识。
(二)实验环境
硬件:台式计算机,软件:visual c++ 集成开发环境,
(三)实验内容
1.定义一个时间类,包含时分秒等数据成员,包含构造函数和析构函数以及set和get 函数。
2. 可以建立一个成绩表类,该类的数据成员为所有同学的成绩,该类的操作:将每个学生的成绩填到成绩表中;删除某个学生的成绩;打印成绩表;计算学生的平均成绩
3. 设计一个point 类:数据成员:点的坐标x,y;成员函数:设置x,设置y,输出x,y
4. 定义一个line类。要求:数据成员:线上的两个点point1,point2(用定义好的point)成员函数:设置point1的信息;设置point2的信息;计算线段的长度
五、实验报告要求
实验题目+程序代码。
六、课程考核方式及成绩评定
(一)考核方式
平时成绩:ð课堂提问//√学习态度//ð课外资料收集整理//ð预习报告//√实验报告//ð其他;
结课后考试:ð笔试//√操作。
(二)课程成绩评定办法
成绩构成:考勤 20%//平时30%//考试50%
七、实验应配套的主要仪器设备及台(套)数(以一个实验教学班为标准)
每个学生一台PC机及相关的软件。
附:教学参考资料
选用的教材:
周霭如,C++程序设计基础 ,电子工业出版社,2012年7月,第4版
2、主要参考书:
[1]谭浩强,c语言程序设计,清华大学出版社,2010年4月,第4版。
[2]谭浩强,c++语言程序设计,清华大学出版社,2011年8月,第2版
[3]刘汝佳,算法竞赛入门经典(第2版)(算法艺术与信息学竞赛),清华大学出版社,2014年6月,第1版
3、其他参考资料:
[1]sdau.openjudge.cn
[2]acm.hdu.edu.cn