程序设计课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聊城市技师学院信息工程系
《C++程序设计》课程教学大纲
80学时(上机实验24学时)
一、课程的性质和任务
C++语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象的程序设计语言,它对降低软件的复杂性,改善其重用性和可维护性,提高大型软件的开发效率,具有十分重要的意义。C++程序设计主要讲授C++语言的基本语法、数据类型、程序的结构与语句、数组、函数、指针、构造数据类型、类和对象、继承与派生、多态性和虚函数、模板、I/O流等方面的问题。
通过本课程的学习,使学生掌握有关面向对象的思想和基本概念,树立面向对象的编程思想,学会程序设计的基本方法和技能,具有用程序设计语言解决实际问题的能力,使学生能编写出符合规范和性能良好的程序,为后续课学习及今后的应用开发打好基础。
二、课程教学内容的基本要求、重点和难点
(一) C++概述
了解程序设计基本概念、程序设计方法,一般问题的计算机求解过程;掌握C++程序结构,main()函数,C++源程序的编辑、编译、链接和运行,VisualC++6.0集成开发环境的安装和使用。
重点:C++程序结构,main()函数,C++语言程序上机调试步骤和方法。
难点:C++程序结构。
(二)数据类型、运算符与表达式
掌握基本数据类型的定义和使用,熟练掌握整型与实型数据的输入与输出,字符型数据的输入与输出。掌握常用运算符和表达式的使用,包括算术运算符、关系运算符、逻辑运算符、自增自减运算符、赋值运算符及其表达式的使用,了解运算符的优先级。了解标识符的构造规则,理解强制类型转换的使用。
重点:数据输入输出中格式控制符的使用,基本数据类型的表示范围对使用的影响。
难点:数据类型转换,运算符的混合使用。
(三)程序的结构与语句
掌握表达式语句和结构化程序设计的三种基本结构,包括顺序结构、选择结构和循环结构,熟练掌握选择结构中的if-else语句和switch语句,循环结构中的while语句和for语句,了解do-while语句。理解break语句与continue语句使用上的区别。
重点:掌握三种基本结构,混合使用三种基本结构解决实际问题。
难点:循环结构的嵌套使用。
(四)函数
熟练掌握函数的定义和使用方法;掌握函数参数传递的方式;理解函数的作用范围;掌握函数重载、递归函数。了解预处理和函数原型的使用;了解变量的作用域和存储类型。
重点:掌握函数的声明、定义、调用和返回;掌握函数参数传递的两种方式对程序运行结果的影响;
函数重载。
难点:理解按地址传递函数参数,递归函数的使用。
(五)数组
熟练掌握一维数组和二维数组的定义、初始化和数组元素的引用方法;掌握一维数组的基本操作和基本算法,能应用一维数组进行线性查找和排序。熟练掌握字符数组的定义、初始化与引用;掌握字符数组的输入与输出。了解数组的存储结构。
重点:一维数组定义及使用方法,并应用一维数组解决实际问题。
难点:理解字符数组与字符串的区别和它们的使用。
(六)指针
正确理解指针变量和地址的概念;掌握指针变量的定义与运算;掌握通过指针引用变量的方法;掌握通过指针引用数组元素的方法。
重点:指针定义与运算,指针与数组,指针变量作为函数的参数。
难点:运用指针表达复杂的数据结构,动态分配内存。
(七)构造数据类型
掌握结构体类型定义和结构体类型变量的引用;掌握结构体数组和结构体指针的定义、初始化与使用;能够正确引用结构体成员;了解共用体;了解枚举型。
重点:结构体类型定义、结构体类型变量的引用;结构体数组,指向结构体的指针。
难点:结构体数组。
(八)类与对象
理解类的基本概念,熟练掌握类的定义方法;理解信息隐藏、封装和抽象数据类型等基本概念以及它们与类的关系;了解对象、方法和消息等基本概念,能熟练定义和运用对象、方法;掌握方法的定义和引用,方法重载,const对象和const成员函数;了解构造函数和析构函数的特点,理解构造函数和析构函数的功能,熟练掌握构造函数和析构函数的定义和使用方法;理解复合类的含义,掌握复合类、复合类构造函数的定义和使用方法;理解指向对象的指针、指向类成员的指针和this指针的概念,掌握前两种指针的定义方法以及这三种指针的使用方法;掌握成员对象和对象数组;掌握静态类成员,接口和实现的分离,友元。
重点:类的定义方法;构造函数和析构函数的定义和使用方法;静态成员和堆对象的概念和编程。
难点:构造函数和析构函数的定义和使用方法;this指针的概念;静态成员。
(九)继承与派生
理解继承与派生的概念,理解继承是如何提高软件可重用性的;掌握派生类的定义方法,能通过继承现有的类建立新类;理解派生类的继承特性并会运用;熟练掌握派生类构造函数和析构函数的概念和编程;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。
重点:继承与派生的概念、派生类构造函数和析构函数的概念和编程。
难点:派生类构造函数和析构函数编程。
(十)多态性
理解虚函数、动态多态性和动态联编的概念;了解虚函数和动态联编对实现动态多态的作用;掌握虚函数的声明、定义方法和访问属性;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;了解抽象类和具体类的区别;理解虚析构函数的概念和作用,掌握其声明和使用方法;理解动态联编的实现机理,学会使用动态多态特性。
重点:虚函数、纯虚函数与抽象类。
难点:纯虚函数与抽象类的概念和编程。
(十一)运算符重载
了解运算符重载的必要性,理解运算符重载的概念;掌握运算符重载的规则,能够对一般的运算符进行重载。
重点:运算符重载编程。
难点:运算符重载编程。
(十二)模板
理解类模板的基本概念,能用类模板创建相关的类;能区分类模板和模板类;熟练掌握类模板编程;理解函数模板的基本概念,能用函数模板创建相关的函数;能区分函数模板和模板函数;掌握函数模板编程。
重点:类模板编程。
难点:类模板编程。
(十三)I/O流与文件系统
了解文件流类的继承关系;掌握使用ofstream类建立文件、打开文件和读文件;掌握使用ifstream 类打开文件和写文件;掌握使用文件流读写文本文件;掌握使用文件流读写二进制文件。
重点:I/O流编程。
难点:I/O流编程。
三、教学方式及学时分配