- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C程序设计》教学大纲第2版
《C++程序设计》教学大纲第二版
一、本课程的地位、作用和任务
程序设计课程是大学生的基础课,也是第一门计算机课程(计算机文化基础已是中学教学大纲的要求),包括面向对象程序设计及最基本的数据结构和软件工程的知识。其任务是培养学生的面向对象的编程能力,也锻炼大学生的逻辑思维能力。这里选用C++语言为教学语言。
二、学时安排
本教程授课时数56学时,上机实验56学时(含课外上机),分为两个学期完成(这样教学效果明显优于一个学期完成)。鉴于学时有限,要求精讲多练。另有小型软件设计的实践环节(课程设计,短学期),16学时加上机实验32学时(含课外上机)。
三、教学基本内容
理论教学部分
整个教学过程应围绕面向对象C++程序设计的关键技术精讲多练:要求学生熟练应用多态(重载和超载),熟练应用模板,熟练应用派生,熟练应用聚合。习惯在构造函数中动态分配资源、在析构函数中释放资源和异常处理的方式。
正确处理编程细节与大局观:在第一学期的教学中对算法的描述,侧重于采用C++语言编程的细节的讲解。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数” 的教学中要严格贯彻这一要求。教师在课堂教学时应多做控制台应用程序设计全过程演示。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强。建议在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C++语言的算法本身的描述和程序整体的构造,使学生的编程能力上一个台阶。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
1.C++基础知识(4学时)
1)初识C++程序;
2)了解类型潜在的面向对象的特性——值集与操作集的封装
3)掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级;
4)理解类型的相容性与不相容性;
5)标准输入输出简介。
2.基本控制结构程序设计(8学时)
1)了解算法的描述与程序设计三种基本结构;
2)掌握选择结构程序设计:if 语句,switch语句;
3)掌握循环结构程序设计: while语句,for语句,do…while语句;
4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法,递归法(在函数部分);
5)应用结构化技术分解程序,设计、实现、测试和查错简单程序;
6)熟悉输入输出文本文件简单应用。
3.函数(6学时)
1)理解函数抽象机制:函数定义与函数的调用;
2)理解参数化机制(值调用),了解参数的传递过程;
3)了解函数的返回值及函数原型说明;
4)理解全局变量,局部变量,变量的存储类型与作用域,生命期与可见性;
5)掌握函数的递归调用,编写、测试、调试简单的递归函数;
6)了解函数重载,默认变元,内联函数;
4.类与对象(上)(4学时)
1)了解传统的结构化程序设计和面向对象程序设计的基本概念;
2)理解面向对象程序设计和封装、抽象的合理性;
3)掌握类定义、属性与行为、访问权限控制,对象的定义、使用及内存的安排,掌握类机制如何支持封装和信息隐藏;
4)理解构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;
5)掌握引用技术,理解值调用和引用调用在参数传递中的不同;
以上第一学期学习内容,共24学时,其中留有2学时机动。
(下)(3学时)
6)掌握函数重载技术与运算符重载技术
7)了解友元,静态数据成员;
5.数组与指针(4学时)
1)掌握数组与多维数组;
2)掌握指针与地址、指针与数组的对应关系,数组名,指针运算;
3)熟悉标准C++字符串与了解C风格字符串。
4)了解向函数传递数组或指针的方法;
6.模板与数据结构(5学时)
1)熟悉函数模板与类模版;
2)线性表:掌握模板编写程序的方法,掌握顺序表在内存中的分配与使用;
3)掌握主要查找与排序的算法;
5)模板与类参数,理解类型参数和参数化类型(模板)。
7.动态内存分配与数据结构(6学时)
1)了解动态数据结构和静态数据结构实现的差异;
2)熟悉自由存储区内存分配、自由存储区与复制构造函数、深复制与浅复制;
3)掌握链表在内存中的分配,掌握链表的基本操作与使用,;
4)了解栈与队列及其基本操作;
8.类的继承与派生(6学时)
1)了解继承的概念,了解面向对象设计中继承和多态的合理性;
2)熟悉派生类的构造与析构;
4)掌握在对象中使用类层次和继承思想进行设计、实现和测试的方法;
5)区别运行时的多态性的实现,理解重载与同名覆盖的差异;
6)掌握虚函数与多态性。
7)熟悉实现运行时多态性的程序设计;
9.输入/输出流类库(4学时)
1)了解C++的基本流类体系;
2)掌握提取与插入运算符的重载
3)熟悉文件的输入/输出:文件的打开与关闭,文本文件与二
文档评论(0)