聊城市技师学院信息工程系《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流编程。三、教学方式及学时分配。
教学周。序号数12345678910111213
四、课程其他教学环节要求。
c++概述。
主要内容主要教学方式。
讲授讲授讲授+实验讲授+实验讲授+实验讲授+实验讲授+实验讲授+实验讲授+实验讲授+实验讲授讲授+实验讲授+实验。
课时安排。讲课2466642844244
辅导0000000000000
上机0042222422022
数据类型、运算符与表达式程序的结构与语句函数数组指针构造数据类型类与对象继承与派生多态性运算符重载模板。
i/o流与文件系统。
一)实验环节。
1.控制语句编程(4学时)
要求:熟练使用if语句和switch语句编程;熟练掌握while循环和for循环语句的编程;熟练掌握。
循环语句的嵌套编程;熟练掌握三种基本结构的混合使用编程。2.函数编程(2学时)
要求:函数的定义和调用,函数原型的使用;函数参数的传递,对比传值与传参;递归函数和函数重。
载。3.数组编程(2学时)
要求:一维数组的应用;字符数组的应用;掌握数组应用的一般方法。4.指针编程(2学时)
要求:指针引用变量,指针变量作为函数的参数;指针引用数组元素,指针与数组的区别与联系。5.结构体编程(2学时)
要求:结构体数组的定义、初始化与使用;结构体指针的定义、初始化与使用。6.类与对象编程(4学时)
要求:掌握类的定义,根据具体需求设计类,深入理解类的封装性,会根据类创建各种对象,掌握对。
象的各种成员的使用方法,通过定义构造函数实现对象的初始化。7.继承与派生编程(2学时)
要求:掌握继承与派生的概念与使用方法,掌握继承中的构造函数与析构函数的调用顺序,为派生类。
设计合适的构造函数初始化派生类;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。8.多态性编程(2学时)
要求:理解多态性的概念,掌握如何用虚函数实现动态联编,掌握如何利用虚函数;理解纯虚函数和。
抽象类的概念,掌握纯虚函数和抽象类的定义方法;理解虚析构函数的概念和作用,掌握其声明和使用方法。9.模板编程(2学时)
要求:理解类模板的概念,掌握类模板的定义、实例化过程,掌握类模板运用。10. i/o流编程(2学时)
要求:理解输入/输出流的概念,掌握读、写、遍历文本文件和二进制文件。(二)课程设计。
要求:学生独立完成教师布置的任务,查阅相关资料、编写程序并写出课程设计说明书。(三)作业。
根据授课进度,布置作业,批改后做集体答疑,讲解作业**现的问题。作业的题型以编写程序为主。
四)课外。首先完成教师布置的作业,然后利用课余时间进行自主学习,练习编写程序。
五、教学参考书目。
c++程序设计》余苏宁主编高等教育出版社2004.1
c++语言程序设计教程》杨进才沈显君刘蓉编著清华大学出版社2006.12《c++面向对象程序设计教程》(第2版)陈维兴,林小茶编著清华大学出版社2004.8六、评价方式。
笔试成绩:占70%;实验成绩:占30%
大纲制定:贾涛。
C 程序设计课程教学大纲
c 程序设计课程教学大纲。一 课程名称 c 程序设计。二 课程 cst11004 三 课程英文名称 programming in c 四 课程负责人 熊壮。五 学时与学分 32 32 2学时 3学分。六 课程性质 必修 选修。七 课程类型 公共基础。八 适用专业 非计算机理工科类各专业。九 选课对象...
《Web程序设计》课程教学大纲
制定人教学团队审核人 钟伯成开课学院审核人 邓琛。课程名称 web程序设计 web application design 课程 021148 适用层次 本 专科 本科。学时 32 学分 2 讲课学时 16 上机 实验等学时 16 考核方式 考查。先修课程 高级语言程序设计 数据库原理 适用专业 计算...
游戏程序设计课程教学大纲
游戏程序设计 课程教学大纲。一 课程基本信息。课程名称 游戏程序设计。课程编码 课程性质 职业基础必修课。总学时 38 16 总学分 3考核方式 考查。开课学期 4 适用专业 数字 先修课程 j a程序设计基础。教研室 数字 教研室。执笔人 审核人 编写 修订 日期 二 教学目标。教材从最基本的j ...