《C++程序设计教学大纲.doc》由会员分享,可在线阅读,更多相关《C++程序设计教学大纲.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、辽宁科技大学信息技术学院课程教学大纲课程名称:C+程序设计英文名称:C+ Programming课程编号:A1013L003学 时 数:80其中实验(实训)学时数:24 课外学时数:0学 分 数:5.0适用专业:计算机科学与技术、网络工程、软件工程一、课程的性质和任务C+程序设计是计算机科学与技术专业、网络工程专业和软件工程专业的专业基础课。C+语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象的程序设计语言,它对降低软件的复杂性,改善其重用性和可维护性,提高大型软件的开发效率,具有十分重要的意义。C+程序设计主要讲授C+语言的基本语法、数据类型、程序的结构与语句、数组、函数、指针、构
2、造数据类型、类和对象、继承与派生、多态性和虚函数、模板、I/O流等方面的问题。通过本课程的学习,使学生掌握有关面向对象的思想和基本概念,树立面向对象的编程思想,学会程序设计的基本方法和技能,具有用程序设计语言解决实际问题的能力,使学生能编写出符合规范和性能良好的程序,为后续课学习及今后的应用开发打好基础。二、课程教学内容的基本要求、重点和难点(一) C+概述了解程序设计基本概念、程序设计方法,一般问题的计算机求解过程;掌握C+程序结构,main()函数,C+源程序的编辑、编译、链接和运行,VisualC+6.0集成开发环境的安装和使用。重点:C+程序结构,main()函数,C+语言程序上机调试
3、步骤和方法。难点:C+程序结构。(二)数据类型、运算符与表达式掌握基本数据类型的定义和使用,熟练掌握整型与实型数据的输入与输出,字符型数据的输入与输出。掌握常用运算符和表达式的使用,包括算术运算符、关系运算符、逻辑运算符、自增自减运算符、赋值运算符及其表达式的使用,了解运算符的优先级。了解标识符的构造规则,理解强制类型转换的使用。重点:数据输入输出中格式控制符的使用,基本数据类型的表示范围对使用的影响。难点:数据类型转换,运算符的混合使用。(三)程序的结构与语句掌握表达式语句和结构化程序设计的三种基本结构,包括顺序结构、选择结构和循环结构,熟练掌握选择结构中的if-else语句和switch语
4、句,循环结构中的while语句和for语句,了解do-while语句。理解break语句与continue语句使用上的区别。重点:掌握三种基本结构,混合使用三种基本结构解决实际问题。难点:循环结构的嵌套使用。(四)函数熟练掌握函数的定义和使用方法;掌握函数参数传递的方式;理解函数的作用范围;掌握函数重载、递归函数。了解预处理和函数原型的使用;了解变量的作用域和存储类型。重点:掌握函数的声明、定义、调用和返回;掌握函数参数传递的两种方式对程序运行结果的影响;函数重载。难点:理解按地址传递函数参数,递归函数的使用。(五)数组熟练掌握一维数组和二维数组的定义、初始化和数组元素的引用方法;掌握一维数组
5、的基本操作和基本算法,能应用一维数组进行线性查找和排序。熟练掌握字符数组的定义、初始化与引用;掌握字符数组的输入与输出。了解数组的存储结构。重点:一维数组定义及使用方法,并应用一维数组解决实际问题。难点:理解字符数组与字符串的区别和它们的使用。(六)指针正确理解指针变量和地址的概念;掌握指针变量的定义与运算;掌握通过指针引用变量的方法;掌握通过指针引用数组元素的方法。重点:指针定义与运算,指针与数组,指针变量作为函数的参数。难点:运用指针表达复杂的数据结构,动态分配内存。(七)构造数据类型掌握结构体类型定义和结构体类型变量的引用;掌握结构体数组和结构体指针的定义、初始化与使用;能够正确引用结构
6、体成员;了解共用体;了解枚举型。重点:结构体类型定义、结构体类型变量的引用;结构体数组,指向结构体的指针。难点:结构体数组。(八)类与对象理解类的基本概念,熟练掌握类的定义方法;理解信息隐藏、封装和抽象数据类型等基本概念以及它们与类的关系;了解对象、方法和消息等基本概念,能熟练定义和运用对象、方法;掌握方法的定义和引用,方法重载,const对象和const成员函数;了解构造函数和析构函数的特点,理解构造函数和析构函数的功能,熟练掌握构造函数和析构函数的定义和使用方法;理解复合类的含义,掌握复合类、复合类构造函数的定义和使用方法;理解指向对象的指针、指向类成员的指针和this指针的概念,掌握前两
7、种指针的定义方法以及这三种指针的使用方法;掌握成员对象和对象数组;掌握静态类成员,接口和实现的分离,友元。重点:类的定义方法;构造函数和析构函数的定义和使用方法;静态成员和堆对象的概念和编程。难点:构造函数和析构函数的定义和使用方法;this指针的概念;静态成员。(九)继承与派生 理解继承与派生的概念,理解继承是如何提高软件可重用性的;掌握派生类的定义方法,能通过继承现有的类建立新类;理解派生类的继承特性并会运用;熟练掌握派生类构造函数和析构函数的概念和编程;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。重点:继承与派生的概念、派生类构造函数和析构函数的概念和编程。难点:派生
8、类构造函数和析构函数编程。(十)多态性理解虚函数、动态多态性和动态联编的概念;了解虚函数和动态联编对实现动态多态的作用;掌握虚函数的声明、定义方法和访问属性;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;了解抽象类和具体类的区别;理解虚析构函数的概念和作用,掌握其声明和使用方法;理解动态联编的实现机理,学会使用动态多态特性。重点:虚函数、纯虚函数与抽象类。难点:纯虚函数与抽象类的概念和编程。 (十一)运算符重载了解运算符重载的必要性,理解运算符重载的概念;掌握运算符重载的规则,能够对一般的运算符进行重载。重点:运算符重载编程。难点:运算符重载编程。(十二)模板理解类模板的基本概念
9、,能用类模板创建相关的类;能区分类模板和模板类;熟练掌握类模板编程;理解函数模板的基本概念,能用函数模板创建相关的函数;能区分函数模板和模板函数;掌握函数模板编程。重点:类模板编程。难点:类模板编程。(十三)I/O流与文件系统了解文件流类的继承关系;掌握使用ofstream类建立文件、打开文件和读文件;掌握使用ifstream类打开文件和写文件;掌握使用文件流读写文本文件;掌握使用文件流读写二进制文件。重点:I/O流编程。难点:I/O流编程。 三、教学方式及学时分配序号教学周数主要内容主要教学方式课时安排讲课辅导上机10.4C+概述 讲授20020.8数据类型、运算符与表达式讲授40032.0
10、程序的结构与语句讲授+实验60441.6函数讲授+实验60251.6数组讲授+实验60261.2指针讲授+实验40270.8构造数据类型讲授+实验20282.4类与对象 讲授+实验80491.2继承与派生 讲授+实验402101.2多态性 讲授+实验402110.4运算符重载讲授200121.2模板 讲授+实验402131.2I/O流与文件系统 讲授+实验402四、课程其他教学环节要求(一)实验环节1. 控制语句编程(4学时)要求:熟练使用if语句和switch语句编程;熟练掌握while循环和for循环语句的编程;熟练掌握循环语句的嵌套编程;熟练掌握三种基本结构的混合使用编程。2. 函数编程
11、(2学时)要求:函数的定义和调用,函数原型的使用;函数参数的传递,对比传值与传参;递归函数和函数重载。3. 数组编程(2学时)要求:一维数组的应用;字符数组的应用;掌握数组应用的一般方法。4. 指针编程(2学时)要求:指针引用变量,指针变量作为函数的参数;指针引用数组元素,指针与数组的区别与联系。5. 结构体编程(2学时)要求:结构体数组的定义、初始化与使用;结构体指针的定义、初始化与使用。 6. 类与对象编程(4学时)要求:掌握类的定义,根据具体需求设计类,深入理解类的封装性,会根据类创建各种对象,掌握对象的各种成员的使用方法,通过定义构造函数实现对象的初始化。7. 继承与派生编程(2学时)
12、要求:掌握继承与派生的概念与使用方法,掌握继承中的构造函数与析构函数的调用顺序,为派生类设计合适的构造函数初始化派生类;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。8. 多态性编程(2学时)要求:理解多态性的概念,掌握如何用虚函数实现动态联编,掌握如何利用虚函数;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;理解虚析构函数的概念和作用,掌握其声明和使用方法。9. 模板编程(2学时)要求:理解类模板的概念,掌握类模板的定义、实例化过程,掌握类模板运用。 10. I/O流编程(2学时)要求:理解输入/输出流的概念,掌握读、写、遍历文本文件和二进制文件。 (二)课程
13、设计要求:学生独立完成教师布置的任务,查阅相关资料、编写程序并写出课程设计说明书。(三)作业根据授课进度,布置作业,批改后做集体答疑,讲解作业中出现的问题。作业的题型以编写程序为主。(四)课外首先完成教师布置的作业,然后利用课余时间进行自主学习,练习编写程序。五、本课程与其他课程的联系本课程是数据结构、算法设计与分析等课程的先修课程。六、教学参考书目C+程序设计余苏宁 主编 高等教育出版社 2004.1C+语言程序设计教程 杨进才沈显君刘蓉编著 清华大学出版社 2006.12C+语言程序设计(第3版) 郑莉,董渊,张瑞丰 编著 清华大学出版社 2003.12C+大学教程(第5版)(美)戴特尔(Deitel,H.M.) 等著,张引 等译,电子工业出版社,2007.2C+面向对象程序设计教程(第2版) 陈维兴,林小茶 编著 清华大学出版社 2004.8 大纲撰写人:张玉军 大纲审阅人:代红 负 责 人:吴建胜