C程序设计课程教学大纲_第1页
C程序设计课程教学大纲_第2页
C程序设计课程教学大纲_第3页
C程序设计课程教学大纲_第4页
C程序设计课程教学大纲_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、聊城市技师学院信息工程系C+程序设计课程教学大纲 80学时(上机实验24学时) 一、课程的性质和任务 C+语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象的程序设计语言,它对降低软件的复杂性,改善其重用性和可维护性,提高大型软件的开发效率,具有十分重要的意义。C+程序设计主要讲授C+语言的基本语法、数据类型、程序的结构与语句、数组、函数、指针、构造数据类型、类和对象、继承与派生、多态性和虚函数、模板、I/O流等方面的问题。 通过本课程的学习,使学生掌握有关面向对象的思想和基本概念,树立面向对象的编程思想,学会程序设计的基本方法和技能,具有用程序设计语言解决实际问题的能力,使学生能编写

2、出符合规范和性能良好的程序,为后续课学习及今后的应用开发打好基础。 二、课程教学内容的基本要求、重点和难点 (一) C+概述 了解程序设计基本概念、程序设计方法,一般问题的计算机求解过程;掌握C+程序结构,main()函数,C+源程序的编辑、编译、链接和运行,VisualC+6.0集成开发环境的安装和使用。 重点:C+程序结构,main()函数,C+语言程序上机调试步骤和方法。 难点:C+程序结构。 (二)数据类型、运算符与表达式 掌握基本数据类型的定义和使用,熟练掌握整型与实型数据的输入与输出,字符型数据的输入与输出。掌握常用运算符和表达式的使用,包括算术运算符、关系运算符、逻辑运算符、自增

3、自减运算符、赋值运算符及其表达式的使用,了解运算符的优先级。了解标识符的构造规则,理解强制类型转换的使用。 重点:数据输入输出中格式控制符的使用,基本数据类型的表示范围对使用的影响。 难点:数据类型转换,运算符的混合使用。 (三)程序的结构与语句 掌握表达式语句和结构化程序设计的三种基本结构,包括顺序结构、选择结构和循环结构,熟练掌握选择结构中的if-else语句和switch语句,循环结构中的while语句和for语句,了解do-while语句。理解break语句与continue语句使用上的区别。 重点:掌握三种基本结构,混合使用三种基本结构解决实际问题。 难点:循环结构的嵌套使用。 (四

4、)函数 熟练掌握函数的定义和使用方法;掌握函数参数传递的方式;理解函数的作用范围;掌握函数重载、递归函数。了解预处理和函数原型的使用;了解变量的作用域和存储类型。 重点:掌握函数的声明、定义、调用和返回;掌握函数参数传递的两种方式对程序运行结果的影响;函数重载。 难点:理解按地址传递函数参数,递归函数的使用。 (五)数组 熟练掌握一维数组和二维数组的定义、初始化和数组元素的引用方法;掌握一维数组的基本操作和基本算法,能应用一维数组进行线性查找和排序。熟练掌握字符数组的定义、初始化与引用;掌握字符数组的输入与输出。了解数组的存储结构。 重点:一维数组定义及使用方法,并应用一维数组解决实际问题。

5、难点:理解字符数组与字符串的区别和它们的使用。 (六)指针 正确理解指针变量和地址的概念;掌握指针变量的定义与运算;掌握通过指针引用变量的方法;掌握通过指针引用数组元素的方法。 重点:指针定义与运算,指针与数组,指针变量作为函数的参数。 难点:运用指针表达复杂的数据结构,动态分配内存。 (七)构造数据类型 掌握结构体类型定义和结构体类型变量的引用;掌握结构体数组和结构体指针的定义、初始化与使用;能够正确引用结构体成员;了解共用体;了解枚举型。 重点:结构体类型定义、结构体类型变量的引用;结构体数组,指向结构体的指针。 难点:结构体数组。 (八)类与对象 理解类的基本概念,熟练掌握类的定义方法;

6、理解信息隐藏、封装和抽象数据类型等基本概念以及它们与类的关系;了解对象、方法和消息等基本概念,能熟练定义和运用对象、方法;掌握方法的定义和引用,方法重载,const对象和const成员函数;了解构造函数和析构函数的特点,理解构造函数和析构函数的功能,熟练掌握构造函数和析构函数的定义和使用方法;理解复合类的含义,掌握复合类、复合类构造函数的定义和使用方法;理解指向对象的指针、指向类成员的指针和this指针的概念,掌握前两种指针的定义方法以及这三种指针的使用方法;掌握成员对象和对象数组;掌握静态类成员,接口和实现的分离,友元。 重点:类的定义方法;构造函数和析构函数的定义和使用方法;静态成员和堆对

7、象的概念和编程。 难点:构造函数和析构函数的定义和使用方法;this指针的概念;静态成员。 (九)继承与派生 理解继承与派生的概念,理解继承是如何提高软件可重用性的;掌握派生类的定义方法,能通过继承现有的类建立新类;理解派生类的继承特性并会运用;熟练掌握派生类构造函数和析构函数的概念和编程;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。 重点:继承与派生的概念、派生类构造函数和析构函数的概念和编程。 难点:派生类构造函数和析构函数编程。 (十)多态性 理解虚函数、动态多态性和动态联编的概念;了解虚函数和动态联编对实现动态多态的作用;掌握虚函数的声明、定义方法和访问属性;理解纯

8、虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;了解抽象类和具体类的区别;理解虚析构函数的概念和作用,掌握其声明和使用方法;理解动态联编的实现机理,学会使用动态多态特性。 重点:虚函数、纯虚函数与抽象类。 难点:纯虚函数与抽象类的概念和编程。 (十一)运算符重载 了解运算符重载的必要性,理解运算符重载的概念;掌握运算符重载的规则,能够对一般的运算符进行重载。 重点:运算符重载编程。 难点:运算符重载编程。 (十二)模板 理解类模板的基本概念,能用类模板创建相关的类;能区分类模板和模板类;熟练掌握类模板编程;理解函数模板的基本概念,能用函数模板创建相关的函数;能区分函数模板和模板函数;掌握

9、函数模板编程。 重点:类模板编程。 难点:类模板编程。 (十三)I/O流与文件系统 了解文件流类的继承关系;掌握使用ofstream类建立文件、打开文件和读文件;掌握使用ifstream类打开文件和写文件;掌握使用文件流读写文本文件;掌握使用文件流读写二进制文件。 重点:I/O流编程。 难点:I/O流编程。 三、教学方式及学时分配 序号 教学周数 主要内容 主要教学方式 课时安排 讲课 辅导 上机 1 0.4 C+概述 讲授 2 0 0 2 0.8 数据类型、运算符与表达式 讲授 4 0 0 3 2.0 程序的结构与语句 讲授+实验 6 0 4 4 1.6 函数 讲授+实验 6 0 2 5 1

10、.6 数组 讲授+实验 6 0 2 6 1.2 指针 讲授+实验 4 0 2 7 0.8 构造数据类型 讲授+实验 2 0 2 8 2.4 类与对象 讲授+实验 8 0 4 9 1.2 继承与派生 讲授+实验 4 0 2 10 1.2 多态性 讲授+实验 4 0 2 11 0.4 运算符重载 讲授 2 0 0 12 1.2 模板 讲授+实验 4 0 2 13 1.2 I/O流与文件系统 讲授+实验 4 0 2 四、课程其他教学环节要求 (一)实验环节 1. 控制语句编程(4学时) 要求:熟练使用if语句和switch语句编程;熟练掌握while循环和for循环语句的编程;熟练掌握循环语句的嵌套

11、编程;熟练掌握三种基本结构的混合使用编程。 2. 函数编程(2学时) 要求:函数的定义和调用,函数原型的使用;函数参数的传递,对比传值与传参;递归函数和函数重载。 3. 数组编程(2学时) 要求:一维数组的应用;字符数组的应用;掌握数组应用的一般方法。 4. 指针编程(2学时) 要求:指针引用变量,指针变量作为函数的参数;指针引用数组元素,指针与数组的区别与联系。 5. 结构体编程(2学时) 要求:结构体数组的定义、初始化与使用;结构体指针的定义、初始化与使用。 6. 类与对象编程(4学时) 要求:掌握类的定义,根据具体需求设计类,深入理解类的封装性,会根据类创建各种对象,掌握对象的各种成员的

12、使用方法,通过定义构造函数实现对象的初始化。 7. 继承与派生编程(2学时) 要求:掌握继承与派生的概念与使用方法,掌握继承中的构造函数与析构函数的调用顺序,为派生类设计合适的构造函数初始化派生类;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。 8. 多态性编程(2学时) 要求:理解多态性的概念,掌握如何用虚函数实现动态联编,掌握如何利用虚函数;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;理解虚析构函数的概念和作用,掌握其声明和使用方法。 9. 模板编程(2学时) 要求:理解类模板的概念,掌握类模板的定义、实例化过程,掌握类模板运用。 10. I/O流编程(2学时) 要求:理解输入/输出流的概念,掌握读、写、遍历文本文件和二进制文件。 (二)课程设计 要求:学生独立完成教师布置的任务,查阅相关资料、编写程序并写出课程设计说明书。 (三)作业 根据授课进度,布置作业,批改后做集体答疑,讲解作业中出现的问题。作业的题型以编写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论