




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 C 程序设计程序设计 实践环节考核规定实践环节考核规定 1 C 程序设计程序设计 实践环节考核大纲实践环节考核大纲 一 考核类型一 考核类型 上机考核 二 目的要求二 目的要求 C 语言程序设计 是计算机科学与应用专业 信息管理专业 本科 的必修课 是 培养学生实践动手能力的一门重要专业课程 是为满足计算机应用领域与计算机应用人才 的需要而设置的 C 语言是一种面向对象的编程语言 它集抽象性 封装性 继承性和 多态性等面向对象特征于一体 可以帮助人们开发出具有较高数据抽象程度 能够充分体 现信息隐蔽 软件重用 易修改 易扩充等特性的大型软件 C 程序设计 的实验采用 Microsoft Visual C 6 0 通过上机实践 加深对课程的 理解 更好地掌握 C 面向对象程序设计的基本方法 增强实际动手能力 三 考核环境三 考核环境 硬件 586 以上的 PC 系列机 主频大于 166MHz 内存大于 256MB 硬盘空间大于 500MB 软件 中文 Windows 2000 NT XP 操作系统 Microsoft Visual C 6 0 四 考核方法四 考核方法 考生抽取试题后 在 45 分钟内 完成试卷中所要求的全部内容 并作必要的记录 考 核结束后 考生上交试卷 上机考核成绩由现场老师初评 经考点负责人审核签名 报主 考院校核定 成绩分合格 不合格两类 五 考核内容五 考核内容 掌握 Microsoft Visual C 6 0 集成开发环境的使用 新建工程 编辑含有类的 C 源文件 存取文件 编译文件 调试程序和运行程序 模板 包括 函数模板 类模板 练习编制函数模板和类模板 熟悉面向对象编程思想和多文件编程规范 掌握公有继承的赋值兼容性规则 构造函数 复制构造函数和析构函数的设计方 法 练习使用向量解决实际问题 2 熟悉各类运算符的重载 熟悉使用文件的基本方法 熟悉继承和包含以及虚函数的多态性 六 参考书目六 参考书目 1 刘振安主编 C 程序设计 机械工业出版社 2008 年 2 薛万鹏 译 C 程序设计教程 机械工业出版社 2005 年 3 钱能 C 程序设计教程 清华大学出版社 2006 年 2 C 程序设计程序设计 上机考核指导上机考核指导 C 语言程序设计 是一门实践性很强的课程 必须通过反复上机练习 深入领悟面 向对象程序设计的基本思想 通过实验教学加深理解和巩固课堂和教材所学的内容 提高 实践动手能力 实验一实验一 Microsoft Visual C 6 0 集成开发环境的使用集成开发环境的使用 一 实验目的与要求一 实验目的与要求 了解并初步掌握 Microsoft Visual C 6 0 集成开发环境的使用 二 实验内容二 实验内容 1 创建项目 Project 启动VC 6 0 从主菜单中选择 文件 新建 命令 打开 新建 对话框 单击 工程 标签 从项目列表中单击Win32 Console Application 选项 在 工程 文本框中输入项目 的名字 如 hello 系统将自动为用户的项目分配一个默认的目录 如果是Visual C 6 0 系统将显示一个询问项目类型的程序向导 选择an emptyproject 选项 单击 完成 按钮 显示新建项目信息 单击 确定 按钮结束 2 添加程序代码 从主菜单中选择 文件 新建 命令 打开 新建 对话框 在 新建 对话框中打开 文件 选项卡 单击 Source File 选项 建立源文件 选中 添加工程 复选框 在右边的 文件 文本框中为文件指定一个名字 如 hello 3 编辑源文件 在 工作区 窗口中单击FileView 标签 选择并打开该窗口中 SourceFiles 下的文件 如hello cpp 在打开的 文件 窗口中输入源程序 在项目文件中增加文件 若在已有的项目文件中增加一个新文件 如C 源文件 cpp 或头文件 h 需要执行以下操作 打开相应的项目文件 选择 新建 文件 命令 选择C 编辑栏Source 选项 可增加C 源文件 或选择C C Head File 选项增加C C 头文件 在 文件 文本框输入文件名 单击 确定 按钮 3 编译源文件 先激活相应的源程序窗口 选择 编译 编译 命令或按Ctrl F7 键来编译源文件 形成目标文件 生成 obj 文件 若该项目中有多个源文件 可依次激活并编译 4 链接目标程序 形成可执行文件 选择 编译 链接 命令或按快捷键F7 链接程序 并形成可执行文件 此命令也 可直接将项目中的所有源文件进行编译并链接形成可执行文件 使编译和链接的过程结合 在一起 5 运行程序 选择 编译 执行 命令或使用快捷键Ctrl F5 运行该程序 将显示一个类似于 DOS的窗口 在窗口中第一行输出 hello world 第二行输出 Press any key to continue 提示用户按任意键回到开发环境 三 程序练习三 程序练习 定义一个关于日期的类 然后声明对象 判断该日期是否为闰年并输出 本题练习的 是定义类和使用类的方法 源程序代码 include iostream using namespace std class TDate public void SetDate int y int m int d int isLeapYear void Print private int year month day void TDate SetDate int y int m int d 4 year y month m day d int TDate isLeapYear return year 4 0 void TDate Print cout year month day endl void main TDate date1 date2 date1 SetDate 2004 5 4 date2 SetDate 2005 4 9 int leap date1 isLeapYear date1 Print if leap 1 cout 是闰年 endl else cout 不是闰年 endl date2 Print leap date2 isLeapYear if leap 1 cout 是闰年 endl else cout 不是闰年 endl 四 实验要求四 实验要求 按要求编写实验程序 将实验程序调试运行 写出程序的运行结果 并提交实验报告 写出调试运行的分析和体会 实验二实验二 类和对象的使用类和对象的使用 一 一 实验目的和要求实验目的和要求 1 熟悉类的定义格式和类中成员的访问权限 2 掌握对象的定义方法以及对象的初始化和赋值的操作 3 掌握构造函数和析构函数的使用 二 实验内容二 实验内容 1 编写一个程序 定义类CPeople包含个人信息姓名 年龄 薪水 并在类中定义构 5 造函数 析构函数 题目分析 注意构造函数 析构函数的定义规则 源程序代码 include iostream include using namespace std 类 CPeople 的定义 class CPeople intm nAge floatm fSalary char m pstrName public CPeople 缺省构造函数 CPeople int age float salary char name 带参数的构造函数 CPeople const CPeople 拷贝构造函数 CPeople 析构函数 char GetName float GetSalary void SetSalary float int GetAge void SetAge int age CPeople CPeople 缺省构造函数 给创建的对象的每个成员赋默认值 m nAge 20 m fSalary 3000 00f m pstrName new char 20 用 new 操作符为字符指针 m pstrName 分配空间 strcpy m pstrName 无名氏 CPeople CPeople int age float salary char name 带参数的构造函数 m nAge age m fSalary salary m pstrName new char 20 用 new 操作符为字符指针 m pstrName 分配空间 strcpy m pstrName name 复制构造函数 用已存在的对象来创建新的对象 CPeople CPeople const CPeople 6 m fSalary AnotherPeople m fSalary m pstrName new char strlen AnotherPeople m pstrName 1 strcpy m pstrName AnotherPeople m pstrName CPeople CPeople 析构函数 用来释放我们在构造函数中动态申请的内存空间 if m pstrName NULL delete m pstrName 释放 m pstrName 所占用的内存空间 char CPeople GetName return m pstrName int CPeople GetAge return m nAge void CPeople SetAge int age if age 0 cout 设置的年龄不合法 endl else m nAge age float CPeople GetSalary return m fSalary void CPeople SetSalary float num if num 0 cout 设置的薪水数目不合法 endl else m fSalary num void main CPeople ZhangSan 65 2000 00f 张 三 创建一个对象 ZhangSan cout 以下为个人信息 n 姓名 年龄 薪水 endl cout n cout ZhangSan GetName 输出对象 ZhangSan 的姓名 cout ZhangSan GetAge 输出对象 ZhangSan 的年龄信息 cout ZhangSan GetSalary endl endl 输出对象 ZhangSan 的工资信息 7 CPeople A 创建一个对象 A A SetAge 34 设置对象 A 的年龄 A SetSalary 4000 00f 设置对象 A 的工资 cout A GetName 输出对象 A 的姓名 cout A GetAge 输出对象 A 的年龄信息 cout A GetSalary endl endl 输出对象 A 的工资信息 CPeople B ZhangSan 用对象 ZhangSan 来创建对象 B cout B GetName cout B GetAge cout B GetSalary endl endl 三 实验要要求三 实验要要求 按要求编写实验程序 将实验程序调试运行 写出程序的运行结果 并提交实验报告 写出调试运行的分析和体会 实验三实验三 继承与派生继承与派生 一 一 实验目的和要求实验目的和要求 掌握派生类的定义方法和派生类构造函数的定义方法 掌握不同继承方式的情况下 基类成员在派生类中的访问权限 了解派生类的构造函数和析构函数的执行顺序 了解多重继承的定义方法 多 重继承的构造函数和析构函数的使用 二 实验内容二 实验内容 在类CPeople的基础上 派生出学生类CStudent 并实现对学生成绩的统计和输出 源程序代码 include include define MAXNUM 10 using namespace std class CPeople protected intm nAge public char m pstrName CPeople int age char name CPeople int GetAge void SetAge int age 8 void CopyPeople CPeople pAnother CPeople CPeople int age char name m nAge age m pstrName new char 20 strcpy m pstrName name CPeople CPeople if m pstrName NULL delete m pstrName int CPeople GetAge return m nAge void CPeople SetAge int age m nAge age void CPeople CopyPeople CPeople pAnother m nAge pAnother m nAge strcpy m pstrName pAnother m pstrName class CStudent public CPeople float m ArrayScore MAXNUM 用来存放成绩的数组 protected intm stuNo 学号 intm courseNum 课程数目 floatm aScore 平均成绩 public CStudent int age int No int Num char pName no name CPeople age pName m stuNo No m courseNum Num m aScore 0 0f 9 初始化成绩数组 cout 请输入学生 m pstrName m courseNum 门课的成绩 endl for int i 0 i m ArrayScore i void CaculateAverageScore float sum 0 0f for int i 0 i m courseNum i sum m ArrayScore i m aScore sum m courseNum float Getm aScore return m aScore friend ostream ostream for int i 0 i s m courseNum i out s m ArrayScore i endl out 平均成绩 s m aScore endl endl return out void main CStudent stu1 16 29 3 张三 stu1 CaculateAverageScore cout stu1 三 三 实验要要求实验要要求 按要求编写实验程序 将实验程序调试运行 写出程序的运行结果 并提交实验报告 写出调试运行的分析和体会 10 实验四实验四 模板的使用模板的使用 一 实验目的与要求一 实验目的与要求 了解函数模板 类模板的概念 练习编制函数模板和类模板 二 实验内容二 实验内容 编写一个使用类模板对数组进行排序 查找和求元素和的程序 要求 设计一个类模板 template class Array 用于对T 类型的数组进行排序 查找和求元素和 然 后由此产生模板类Array和Array 源程序如下 include include using namespace std template class Array T set int n public Array T data int i set data n i Array void sort 排序 int seek T key 查找指定的元素 T sum 求和 void disp 显示所有的元素 template void Array sort int i j T temp for i 1 i i j if set j 1 set j temp set j 1 set j 1 set j set j temp template 11 int Array seek T key int i for i 0 i n i if set i key return i return 1 template T Array sum T s 0 int i for i 0 i n i s set i return s template void Array disp int i for i 0 i n i cout set i cout endl void main int a 6 3 8 1 9 4 7 5 2 double b 2 3 6 1 1 5 8 4 6 7 3 8 Arrayarr1 a 9 Arrayarr2 b 6 cout arr1 endl cout 原序列 arr1 disp cout 8 在 arr1 中的位置 arr1 seek 8 endl arr1 sort cout 排序后 arr1 disp cout arr2 endl cout 原序列 arr2 disp cout 8 4 在 arr2 中的位置 arr2 seek 8 4 endl arr2 sort cout 排序后 arr2 disp 12 三 实验要求三 实验要求 按要求编写实验程序 将实验程序调试运行 写出程序的运行结果 并提交实验报告 写出调试运行的分析和体会 实验五实验五 使用向量使用向量 一 实验目的和要求一 实验目的和要求 练习使用向量解决实际问题 二 实验内容二 实验内容 利用向量编写程序 出圈游戏 假设有人数为 n 的一个小组 他们顺时针方向围坐一 圈 一开始任选选一个正整数作为报数上限值 m 从第一个人开始按顺时针方向自 1 开始 顺序报数 报到 m 时停止报数 报数 m 的人出列 然后从他原来所在地以顺时针方向的下 一个人开始 重新从 1 报数 报到 m 时停止报数并出列 如此下去 直至所有人全部出列 为止 要求按他们出列的顺序输出他们的名字 源程序代码如下 include include using namespace std class SeqList char name 10 public void DispName cout name void SetName char b strcpy name b void Joseph vector Joseph 函数 void SeqList Joseph vector cout 请输入间隔数 m m m while m 20 13 cout m cout 从第几个人的位置开始报数 不能大于 c size star while star c size cout star cout 准备输入名字 endl getchar 消除回车干扰 输入参加游戏人的名字 char s 10 for i 0 i c size i cout 第 i 1 个人的名字 gets s c i SetName s i star 2 vector iterator p p c begin int length c size for k 1 k length k j 0 报数 while j m i if i c size 到终点 返回到第一个位置计数 i 0 j if k length break c i DispName 输出出圈人的信息 cout c erase p i 删除出圈人的记录 i 调整计数位置初始值 break 语句跳转至此处 输出最后出列的编号 c i DispName 14 cout endl void main int length 0 cout length vector c length SeqList game game Joseph c 三 实验要求三 实验要求 按要求编写实验程序 将实验程序调试运行 假设参加游戏的为 5 人 间隔数选 10 从 第三个人的位置开始报数 5 个人的名字依次为 李红 王强 张三 李四 王五 写出 程序的运行结果 并提交实验报告 写出调试运行的分析和体会 实验六实验六 多态性和虚函数多态性和虚函数 一 一 实验目的实验目的 熟悉继承和包含以及虚函数的多态性 二 二 实验内容实验内容 程序实现的基本功能 小型公司人员信息管理 某小型公司主要有 3 类人员 经理 兼职技术人员 兼职销售员 这些人员分别具有 以下属性 经理 姓名 编号 固定工资 当月薪水 计算月薪 显示信息 兼职技术人员 姓名 编号 工作小时 每小时工资额 当月薪水 计算月薪 显示 信息 兼职销售员 姓名 编号 销售额 销售额提成 当月薪水 计算月薪 显示信息 要求 人员编号基数为 1000 每输入一个人员信息编号顺序加1 月薪计算办法是经理固定 月薪 8000 元 兼职技术人员按100 元 小时领取月薪 兼职推销员按当月销售额的4 提成 根据题目要求 设计一个基类employee 然后派生出technician 兼职技术人员 类 manager 经理 类和salesman 兼职销售员 类 employee h 头文件 15 class employee 定义职员类 protected char name 定义姓名 int EmpNo 个人编号 double sumPay 月薪总额 static int employeeNo 本公司职员编号目前最大值 public employee employee virtual void pay 0 计算月薪函数 解决 虚函数 void displayStatus 显示人员信息 class technician public employee 兼职技术人员类 公有派生 protected float hourlyRate 每小时酬金 int workHours 当月工作时数 public technician void pay 计算月薪函数 void displayStatus 显示人员信息 class salesman public employee 兼职推销员类 protected double CommRate 按销售额提取酬金百分比 double sales 当月销售额 public salesman void pay 计算月薪函数 void displayStatus 显示人员信息 class manager virtual public employee 经理类 protected float monthlyPay 固定月薪数 public manager void pay 计算月薪函数 void displayStatus 显示人员信息 16 empfun cpp include include include employee h int employee employeeNo 1000 员工编号基数 employee employee char str 20 cout str name new char strlen str 1 动态申请 strcpy name str EmpNo employeeNo 新员工编号自动生成 sumPay 0 0 月薪总额初始 0 employee employee delete name 释放空间 void employee displayStatus cout name 编号 EmpNo 本月工资 sumPay endl technician technician hourlyRate 100 每小时酬金 100 元 void technician pay cout workHours 计算月薪 sumPay hourlyRate workHours void technician displayStatus cout 兼职技术人员 employee displayStatus salesman salesman CommRate 0 04 提成比例 void salesman pay 17 cout sales sumPay sales CommRate 月薪 销售提成 void salesman displayStatus cout 推销员 employee displayStatus manager manager monthlyPay 8000 void manager pay sumPay monthlyPay 月薪总额 固定月薪数 void manager displayStatus cout 经理 employee displayStatus sy10 4 cpp include include using namespace std void main 经理 manager m1 m1 pay m1 displayStatus 兼职技术人员 technician t1 t1 pay t1 displayStatus 兼职推销员 salesman s1 s1 pay s1 displayStatus cout n 使基类指针指向子类对象 endl employee ptr 4 for int i 0 idisplayStatus 18 三 实验要求三 实验要求 按要求编写实验程序 将实验程序调试运行 写出程序的运行结果 并提交实验报告 写出调试运行的分析和体会 实验七实验七 运算符重载 使用多文件编程运算符重载 使用多文件编程 一 一 实验目的实验目的 熟悉运算符重载的定义和使用方法 熟悉多文件编程规范 二 二 实验内容实验内容 重载类CPople的输出运算符和赋值运算符 程序清单 CPople h 类CPeople的定义 include using namespace std class CPeople intm nAge floatm fSalary public char m pstrName CPeople CPeople CPeople int age float salary char name float GetSalary const void SetSalary float int GetAge const void SetAge int age CPeople friend ostream 程序清单 CPople cpp 类CPeople的实现 include People h include using namespace std CPeople CPeople 19 m nAge 20 m fSalary 3000 00f m pstrName new char 20 strcpy m pstrName 无名氏 CPeople CPeople int age float salary char name m nAge age m fSalary salary m pstrName new char 20 strcpy m pstrName name CPeople CPeople if m pstrName NULL delete m pstrName int CPeople GetAge const return m nAge void CPeople SetAge int age m nAge age float CPeople GetSalary const if m nAge 60 return m fSalary 2 else return m fSalary void CPeople SetSalary float num m fSalary num 赋值运算符重载的实现 CPeople if m pstrName 20 delete m pstrName 释放原有的内存资源 m nAge AnotherPeople m nAge m fSalary AnotherPeople m fSalary 分配新的内存资源 并复制内容 m pstrName new char strlen AnotherPeople m pstrName 1 strcpy m pstrName AnotherPeople m pstrName return this 输出运算符重载函数的实现 ostream return stream 程序清单 test7 cpp 测试 CPeople类 include include people h using namespace std void main CPeople Zhang 65 2000 00f 张 飞 cout Zhang endl 输出对象的值 CPeople A B A SetAge 34 A SetSalary 4000 00f cout A endl B A 将对象A的值赋给对象B cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小红帽唱歌课教学课件
- it项目管理教学课件7
- 机电基础测量知识培训班课件
- 2025年安全生产责任清单重点练习题
- 2025年监察员岗面试模拟题
- 2025年宠物摄影摄像师基础笔试题及答案集
- 读后感课件和时间赛跑
- 2025年中级测量员鉴定考试重点集
- 2025年碳汇管理中药招聘笔试模拟集
- 读书感悟课件
- GB/T 16288-2024塑料制品的标志
- 山岳型旅游景区安全管理规范DB41-T 1941-2020
- 某部营房零星改造工程投标方案(技术标)
- APQC跨行业流程分类框架(PCF)V7.4版-2024年8月21日版-雷泽佳编译
- 高中生物必修二试卷加详细答案
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
- JTT 203-2014 公路水泥混凝土路面接缝材料
- 普通地质学完整版课件
- 电梯维护保养管理制度
- 第1课 社会主义在中国的确立与探索(导学案)-【中职专用】高一思想政治《中国特色社会主义》(高教版2023·基础模块)
- 第1课《时代精神的精华》第2框《马克思主义哲学指引人生路》-【中职专用】《哲学与人生》同步课堂课件
评论
0/150
提交评论