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

下载本文档

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

文档简介

1、C+程序设计教学大纲第二版一、本课程的地位、作用和任务程序设计课程是大学生的基础课,也是第一门计算机课程(计算机文化基础已是中学教学大纲的要求,包括面向对象程序设计及最基本的数据结构和软件工程的知识。其任务是培养学生的面向对象的编程能力,也锻炼大学生的逻辑思维能力。这里选用C+语言为教学语言。二、学时安排本教程授课时数56学时,上机实验56学时(含课外上机,分为两个学期完成(这样教学效果明显优于一个学期完成。鉴于学时有限,要求精讲多练。另有小型软件设计的实践环节(课程设计,短学期,16学时加上机实验32学时(含课外上机。三、教学基本内容理论教学部分整个教学过程应围绕面向对象C+程序设计的关键技

2、术精讲多练:要求学生熟练应用多态(重载和超载,熟练应用模板,熟练应用派生,熟练应用聚合。习惯在构造函数中动态分配资源、在析构函数中释放资源和异常处理的方式。正确处理编程细节与大局观:在第一学期的教学中对算法的描述,侧重于采用C+语言编程的细节的讲解。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数”的教学中要严格贯彻这一要求。教师在课堂教学时应多做控制台应用程序设计全过程演示。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强。建议在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C+语言的算

3、法本身的描述和程序整体的构造,使学生的编程能力上一个台阶。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。1.C+基础知识(4学时1初识C+程序;2了解类型潜在的面向对象的特性值集与操作集的封装3掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级;4理解类型的相容性与不相容性;5标准输入输出简介。2.基本控制结构程序设计(8学时1了解算法的描述与程序设计三种基本结构;2掌握选择结构程序设计:if 语句,switch语句;3掌握循环结构程序设计: while语句,for语句,dowhile语句;4掌握常用算法的应用:直接法,枚举法,递推法,迭代

4、法,递归法(在函数部分;5应用结构化技术分解程序,设计、实现、测试和查错简单程序;6熟悉输入输出文本文件简单应用。3.函数(6学时1理解函数抽象机制:函数定义与函数的调用;2理解参数化机制(值调用,了解参数的传递过程;3了解函数的返回值及函数原型说明;4理解全局变量,局部变量,变量的存储类型与作用域,生命期与可见性;5掌握函数的递归调用,编写、测试、调试简单的递归函数;6了解函数重载,默认变元,内联函数;4.类与对象(上(4学时1了解传统的结构化程序设计和面向对象程序设计的基本概念;2理解面向对象程序设计和封装、抽象的合理性;3掌握类定义、属性与行为、访问权限控制,对象的定义、使用及内存的安排

5、,掌握类机制如何支持封装和信息隐藏;4理解构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;5掌握引用技术,理解值调用和引用调用在参数传递中的不同;以上第一学期学习内容,共24学时,其中留有2学时机动。(下(3学时6掌握函数重载技术与运算符重载技术7了解友元,静态数据成员;5.数组与指针(4学时1掌握数组与多维数组;2掌握指针与地址、指针与数组的对应关系,数组名,指针运算;3熟悉标准C+字符串与了解C风格字符串。4了解向函数传递数组或指针的方法;6.模板与数据结构(5学时1熟悉函数模板与类模版;2线性表:掌握模板编写程序的方法,掌握顺序表在内存中的分配与使用;3掌握主要

6、查找与排序的算法;5模板与类参数,理解类型参数和参数化类型(模板。7.动态内存分配与数据结构(6学时1了解动态数据结构和静态数据结构实现的差异;2熟悉自由存储区内存分配、自由存储区与复制构造函数、深复制与浅复制;3掌握链表在内存中的分配,掌握链表的基本操作与使用,;4了解栈与队列及其基本操作;8.类的继承与派生(6学时1了解继承的概念,了解面向对象设计中继承和多态的合理性;2熟悉派生类的构造与析构;4掌握在对象中使用类层次和继承思想进行设计、实现和测试的方法;5区别运行时的多态性的实现,理解重载与同名覆盖的差异;6掌握虚函数与多态性。7熟悉实现运行时多态性的程序设计;9.输入/输出流类库(4学

7、时1了解C+的基本流类体系;2掌握提取与插入运算符的重载3熟悉文件的输入/输出:文件的打开与关闭,文本文件与二进制文件。4掌握在构造函数中通过文件建立对象,在析构函数中由文件保存对象的技术。10.异常处理(2学时1了解异常处理机制:try块,异常抛出throw,异常捕获catch;2理解栈展开与异常捕获的过程;3了解异常和继承;4会编写能响应执行中异常情况的代码。以上第二学期教学内容,共32学时,留有2学时机动。同步实验部分以Visual C+ 6.0 集成开发环境下的控制台应用程序为背景,共26个(实际29个,3个选做实验。对应精讲多练,实验安排比较丰富。实验一Visual C+集成开发环境

8、(IDE入门实验二简单的C+程序设计实验三分支结构程序设计实验四循环结构程序设计实验五常用算法:枚举法递推法迭代法实验六文本文件简单应用实验七函数的基本概念实验八函数的递归算法实验九函数的重载和变量的作用域实验十类与对象的基本概念实验十一引用与复制构造函数实验十二运算符重载实验十三数组与多维数组实验十四指针与数组实验十五模板与线性表实验十六排序与查找实验十七模板与类参数实验十八动态内存分配与深复制实验十九链表及应用实验二十栈与队列的操作实验二十一继承与派生基本概念实验二十二虚函数与多态实验二十三纯虚函数实验二十四输入输出与重载实验二十五文件实验二十六异常处理课程设计部分要求采用事件驱动编程方法

9、完成。课堂教学Windows程序设计基础1API函数与传统的Windows编程;2MFC编程;3Windows对象和对象句柄;4MFC对象;5MFC的消息映射与命令传递;6文档/视图结构和序列化。7MFC编程操作,可安排学生提前自学为主,教师进行重点内容讲解和演示。要求内容简洁而不失完整性:由应用程序向导建立程序框架,由资源编辑器建立用户界面,由类向导建立成员变量、消息映射和处理函数,加上文档序列化和注册;使学生对MFC编程的关键步骤一目了然。8介绍研究型学习和管理及多媒体软件编制方法。9实验对话框与控件4学时文档-视图结构及图形与文本输出 4学时序列化和文件操作 4学时多文档与多重视图 4学

10、时课程设计采用研究型学习方法,由学生分组在辅导教师(研究生指导下自选题目,调研并自定内容,强调参与开发的全过程。上机16学时四、说明课程体系特点与教学:第一,建立新的面向对象的C+教学体系。强调类对象个性实现的关键技术多态,包括重载(编译时的多态,包括函数与运算符重载、层次结构中的同名覆盖与超载(运行时的多态。在教学中尽早引入这些技术。引入的越早应用的机会越多。普遍使用这些技术是面向对象的C+的标志。提倡完善的类对象封装,不仅封装数据和对数据的操作,而且封装资源(尤其是内存的动态分配与释放,形成一个完备的子系统。在一个有层次结构的类体系中资源的动态分配与释放应该封装在成员对象中,如使用标准的s

11、tring字符串类那样。突出模板相关内容的教学。不是将模板作为一种语法现象,而是作为一个有力的工具用于本教材所涉及的全部数据结构基本知识。介绍怎样在面向对象的程序设计中使用异常处理技术来处理一些很难查找甚至是无法避免的运行时错误和异常。总之,不是泛泛介绍面向对象的C+的语法和框架,而是突出实用技术,包括完善的封装、派生、多态和模板,在构造函数中动态分配资源、在析构函数中释放资源和异常处理,这是面向对象的C+程序设计的精髓。第二,强调算法,注意介绍有关独立于任何特定编程语言的算法概念和结构,即突出程序设计而不是语法。强调算法,不是忽视语法,而是不要繁琐的钻牛角尖的语法,我们要的是基本的常用的语法

12、,但更多的是模仿。不是知道的语法越多,程序编得越好,而是自己动手编程越多,程序编得越好。第三,培养面向对象程序设计能力。掌握怎样从客观事物中抽象出类来的方法。基础教学与实践教学相结合。在基础教学中采用Windows平台下的控制台方式(命令行方式以突出编程能力的培养。在实践部分比较全面地学习标准的Windows图形界面编程。采用研究型学习进行课程设计。该教学体系培养的学生所编的程序给人的第一影响应该是:这是规范的面向对象的程序。对于需要计算机知识较多的专业,程序设计课程应考虑后续课程的需要。尤其是电气电子信息类专业的学生的后续课程中需要大量的面向过程的程序设计的基础知识,包括汇编语言的编程,单片机、嵌入式系统和DSP 的C语言编程。面向对象的程序设计其实与面向过程的程序设计是密不可分的。在本课程中,算法的描述实际上是面向过程的,而面向对象是一种包装,它使程序的整体组织更合理,使用起来更方便。教学中应该合理地将两个方面有机地结合起来,即细节上算法的编程和程序总体上的把握并重。在第一学期的教学中对算法的描述,必须侧重于采用C+语言编程的细节的讲解,即培养学生对算法的编程能力。要求学生学会先分析算法,再画

温馨提示

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

评论

0/150

提交评论