1、面向对象程序设计方法课程教学大纲电子面向对象程序设计方法课程教学大纲(计算机科学与技术本科专业使用)一、课程的地位、教学目的和基本要求C+语言是一种高效实用的程序设计语言,既可进行过程化的程序设计,也可进行面向对象程序设计。本课程以介绍C+语言的基本语法为基础逐步向学生渗透面向对象的程序设计思想,要求学生掌握类的封装、数据隐藏、继承及多态等特性,领会面向对象程序设计,掌握面向对象程序设计方法,培养一定的程序设计能力,为以后各专业课程的学习打下良好的程序设计基础。二、主要教学环节1、理论教学 学时数:60 占全部学时数:75 %2、实验 学时数:20 占全部学时数:25 %3、实训 学时数:二周
2、三、课程内容.理论部分第一章 C+入门 2学时(1)教学目的、要求本章要求学生掌握源程序的编辑、编译、连接和执行。了解C+程序设计语言的发展过程以及支持环境。(2)重点与难点本章的重点和难点是源程序的编辑、编译、连接和执行。第一节 从C到C+第二节 程序与语言第三节 结构化程序设计第四节 面向对象程序设计第五节 程序开发过程第六节 函数第二章 基本数据类型与输入输出 2学时(1)教学目的、要求本章要求学生掌握C+语言数据类型,变量及常量的声明和赋值以及输入输出函数。了解I/O流及printf和scanf输入输出的作用。(2)重点与难点本章的重点和难点是C+语言数据类型,变量及常量的声明和赋值以
3、及输入输出函数。第一节 字符集与保留字第二节 基本数据类型第三节 变量定义第四节 常量及常量定义第五节 IO流控制第六节 Printf与scanf第三章 表达式和语句 2学时(1)教学目的、要求 本章要求学生掌握C+各运算符与常用表达式内容 ,及if语句的应用。(2)重点与难点C+各运算符与常用表达式内容 ,及if语句的应用。第一节 表达式第二节 算术运算和赋值第三节 算术类型转换第四节 增量和减量第五节 关系与逻辑运算第六节 if语句第七节 条件运算符第八节 逗号表达式第九节 求值次序与副作用第四章 过程化语句 2学时(1)教学目的、要求本章要求学生掌握switch,while, dowhi
4、le, for结构的应用,了解描述算法和穷举、迭代算法。(2)重点与难点本章的重点和难点是循环型程序设计,即switch,while, dowhile, for结构的应用。第一节 while 语句第二节 do.while 语句第三节 for语句第四节 switch 语句第五节 switch 语句第六节 过程应用: 求兀第七节 过程应用: 判明素数第八节 过程应用: 求积分第五章 函数 2学时 (1)教学目的、要求 本章要求学生掌握函数的概念、定义、调用机制,和递归、内联、重载函数的概念,以及全局、局部变量。(2)重点与难点 本章的重点和难点是函数的概念、定义、调用机制,以及全局、局部变量。第一
5、节 函数概述第二节 函数原型第三节 全局变量和局部变量第四节 函数调用机制第五节 静态局部变量第六节 递归函数第七节 内联函数第八节 重载函数第九节 默认参数的函数第六章 程序结构 2学时 (1)教学目的、要求 本章要求学生掌握变量的存储类型,作用域,可见性,生命期等概念。(2)重点与难点 本章的重点和难点是变量的存储类型,作用域,可见性,生命期。第一节 外部存储类型第二节 静态存储类型第三节 作用域第四节 可见性第五节 生命期第六节 头文件第七节 多文件结构第八节 编译预处理第七章 数组 2学时 (1)教学目的、要求 本章要求学生掌握数组的概念、元素的访问,及数组的应用。(2)重点与难点 本
6、章的重点和难点是数组元素的访问,及数组的应用。第一节 数组定义第二节 访问数组元素第三节 初始化数组第四节 向函数传递数组第五节 二维数组第六节 数组应用: 排序第七节 数组应用: Josephus问题第八节 数组应用: 矩阵乘法第八章 指针 2学时 (1)教学目的、要求 本章要求学生掌握指针的概念、运算,以及指针与数组和函数的应用。(2)重点与难点 本章的重点和难点是指针的运算,以及指针与数组和函数的关系及应用。第一节 指针概念第二节 指针运算第三节 指针与数组第四节 堆内存分配第五节 const指针第六节 指针与函数第七节 字符指针第八节 指针数组第九节 命令行参数第一十节 函数指针第九章
7、 引用 2学时 (1)教学目的、要求 本章要求学生掌握引用的概念、操作,以及引用作为函数参数的应用。(2)重点与难点 本章的重点和难点是引用的操作,以及引用作为函数参数的应用。第一节 引用的概念第二节 引用的操作第三节 什么能被引用 第四节 用引用传递函数参数第五节 返回多个值第六节 用引用返回值第七节 函数调用作为左值第八节 用const限定引用第九节 返回堆中变量的引用第十章 结构 2学时(1)教学目的、要求 本章要求学生掌握结构体概念及其定义,结构体变量和结构体数组的引用,指向结构体变量和数组的指针。(2)重点与难点 本章的重点和难点是结构体数组的引用,指向结构体变量和数组的指针。第一节
8、 结构第二节 结构与指针第三节 结构与数组第四节 传递结构参数第五节 返回结构第六节 链表结构第七节 创建与遍历链表第八节 删除链表结点第九节 插入链表结点第一十节 结构应用: Josephus问题第十一章 类 4学时 (1)教学目的、要求本章要求学生掌握类的概念、类的定义,及成员函数的调用。了解保护成员和软件方法的发展必然。(2)重点与难点 本章的重点和难点是类的概念、类的定义,及成员函数的调用。第一节 从结构到类第二节 软件方法的发展必然第三节 定义成员函数第四节 调用成员函数第五节 保护成员第六节 屏蔽类的内部实现第七节 再论程序结构第十二章 构造函数 6学时 (1)教学目的、要求 本章
9、要求学生掌握构造、析构函数的使用,以及构造类成员和构造对象的顺序。了解重载和默认构造函数的概念(2)重点与难点 本章的重点和难点是构造、析构函数的使用,以及构造类成员和构造对象的顺序。第一节 类与对象第二节 构造函数的需要性第三节 构造函数的使用第四节 析构函数第五节 带参数的构造函数第六节 重载构造函数第七节 默认构造函数第八节 类成员初始化困惑第九节 构造类成员第十节 构造对象的顺序第十三章 面向对象程序设计 4学时(1)教学目的、要求 本章要求学生掌握结构化和面向对象方法的实现。了解程序效率和维护。(2)重点与难点 本章的重点和难点是结构化和面向对象方法的实现。第一节 抽象第二节 分类第
10、三节 设计和效率第四节 讨论Josephus问题第五节 结构化方法第六节 结构化方法的实现第七节 面向对象方法第八节 面向对象方法实现第九节 程序维护第十四章 堆与拷贝构造函数 6学时 (1)教学目的、要求 本章要求学生掌握堆的概念,堆对象,拷贝构造函数及浅拷贝与深拷贝的应用。了解临时和无名对象。(2)重点与难点 本章的重点和难点是堆的概念,堆对象,拷贝构造函数及浅拷贝与深拷贝的应用。第一节 关于堆第二节 需要new和delete的原因第三节 分配堆对象第四节 拷贝构造函数第五节 默认拷贝构造函数第六节 浅拷贝与深拷贝第七节 临时对象第八节 无名对象第九节 构造函数用于类型转换第十五章 静态成
11、员与友员 2学时 (1)教学目的、要求本章要求学生掌握懂得怎样声明一个静态数据成员,怎样使用静态成员函数以及静态成员函数为什么与特定对象无关。(2)重点与难点 本章的重点和难点是静态数据成员和静态成员函数的使用,以及友元的概念。第一节 静态成员的需要性第二节 静态成员的使用第三节 静态数据成员第四节 静态成员函数第五节 需要友员的原因第六节 友员的使用第十六章 继承 8学时 (1)教学目的、要求 本章要求学生掌握继承的概念,工作方式,以及多态性和虚函数的概念。了解抽象类和类的冗余。(2)重点与难点 本章的重点和难点是继承的概念,工作方式,以及多态性和虚函数的概念。第一节 继承的概念第二节 继承
12、的工作方式第三节 派生类的构造第四节 继承与组合第五节 多态性第六节 多态的思考方式第七节 多态性如何工作第八节 不恰当的虚函数第九节 虚函数的限制第一十节 类的冗余第一十一节 克服冗余带来的问题第一十二节 类的分解第一十三节 抽象类第一十四节 由抽象类派生具体类第一十五节 纯虚函数的需要性第十七章 多重继承 6学时 (1)教学目的、要求 本章要求学生掌握多继承的概念,工作方式以及多继承的构造顺序和访问控制。了解虚拟继承、保护和私有继承。(2)重点与难点 本章的重点和难点是多继承的概念,工作方式以及多继承的构造顺序和访问控制。第一节 多继承如何工作第二节 继承的模糊性第三节 虚拟继承第四节 多
13、继承的构造顺序第五节 继承的访问控制第六节 保护继承与私有继承第十八章 运算符重载 4学时 (1)教学目的、要求 本章要求学生掌握运算符重载的需要性和应用。了解增量运算符的重载。(2)重点与难点 本章的重点和难点是运算符重载的需要性和应用。第一节 运算符重载的需要性第二节 如何重载运算符第三节 值返回与引用返回第四节 运算符作成员函数第五节 重载增量运算符第六节 转换运算符第七节 赋值运算符四、主要教科书和参考书1、C+程序设计教程 钱能 清华大学出版社 2、C+程序设计题解与上机指导 钱能 清华大学出版社3、C+语言程序设计 潭浩强 清华大学出版社 4、C+语言与面向对象程序设计 郑莉 清华大学出版社5、C+语言程序设计 吕凤翥 清华大学出版社 责任撰写人:陈桂芬
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1