课程名所属学科学时教师先修课程基本目的。
高级语言程序设计ii课号计算机科学与技术54+18
领域方向学分。
30485650计算机语言3
类型必修。李涛、唐宁。
九、沈琳、洪玫、李琳、吴琼、田星、胡大裟、游宏跃、陈良银等c语言程序设计。
同修课程。无。
1.使学生掌握面向对象程序设计的基本理论和基本知识;2.使学生掌握面向对象程序的基本设计思想与方法;3.培养学生面向对象的思维习惯和思维方式;
4.使学生熟悉面向对象程序设计语言c++的主要特点和机制;5.使学生能够比较熟练的使用visual c++工具,及其mfc编程。
1.能比较熟练地用c++语言进行面向对象的基本程序设计;
2.了解面向对象的基本概念和面向对象技术程序设计的基本思想;3.初步掌握面向对象编程环境visual c++的使用;
4.初步掌握mfc编程,熟悉对话框、菜单、单文档、多文档界面、图形设备接口的使用,基本达到工程应用开发的初步水平;5.为学习计算机系统其他高级课程做充分准备。
课堂讲授为主,每周讲授3学时。
平均每周安排一节课以上的上机实习。
c++面向对象程序设计李涛主著高等教育出版社2006
美] dale n, weems c, headington m等编著,c++程序设计(第二版,影印版),北京:高等教育出版社,2001
stroustrup b, the c++ programming language, higher education press pearsoneducation,2002
neyers, scott, effective stl.addison–wesley,2001lafore r, object-oriented programming in c++,北京:中国电力出版社,2004echel b, thinking in c++,北京:机械工业出版社,2004[美] alexandrescu a,c++设计新思维(影印版),北京:
中国电力出版社,2003
钱能,c++程序设计教程,北京:清华大学出版社,2003
刘瑞新,曹建春,沈淑娟,张连堂等,visual c++面向对象程序设计程,北京:机械工业出版社,2004
甘玲邱劲,面向对象技术与visual c++,北京:清华大学出版社,2004c++ faq lite,- the c++ resources network,学习资源网,程序员大本营,编程爱好者,stroustrup: c++,学习收获。
教学方式教材参考书目。
成绩评定。作业和小测验占20%;
上机实习占30%;(待定)期末考试占50%
每一个c++教学班配备3位以上助教。
要求有上机实习环境,windows2000操作系统,vc++6.0以上开发环境工具,每周一次,一次一节实验;或者两周一次,一次两节实验,教学机上要求安装vc++环境,并安装ultraedit等编辑工具。
助教需求实验条件需求。
内容提要、总理论课时54,在教学中,视教学情况。可适当压缩第2/3章课时,增加模教学进度板、c++常见问题或者多文档界面的介绍。及。
第1章绪论(3课时)重点难点。
教学要求]掌握:c++的主要特性。
掌握:掌握c++的一般开发方法了解:c++的编程规范[教学内容]
1.1程序设计语言发展概况1.1.1机器语言和汇编语言1.1.2高级语言。
1.2面向对象程序设计语言基本原理1.2.1抽象1.2.2封装性1.2.3继承性1.2.4多态性。
1.2.5消息传递机制1.3面向对象程序设计1.3.1 c++语言特点1.3.2 c++程序架构1.3.3 c++程序开发过程。
1.3.4 c++语言在商业领域的应用。
第2章c++类和对象(8课时)
教学要求]掌握:类的定义和形式、访问控制与构造、析构函数。掌握:基本输入/输出流。掌握:文件流。了解:this指针。
了解:类与结构的关系。了解:静态成员与友元。了解:流类库。[教学内容]2.1类。
2.1.1类的定义。
2.1.2类成员的访问权限2.1.3成员函数的实现2.2类对象2.2.1构造函数2.2.2析构函数。
2.2.3对象成员的访问2.3 c++输入输出流对象2.3.1标准输入输出流2.3.2文件输入输出流。
2.3.3输入输出流应用举例。
第3章继承(9课时)
教学要求]掌握:单继承、多继承、派生类的构造和析构函数。重点掌握各种继承方式及其特性。
掌握:虚基类的使用和特性了解:聚合概念。[教学内容]
3.1类的继承与派生3.1.
1继承与派生实例3.1.2派生类定义3.
1.3继承的级别3.2继承方式3.
2.1公有继承3.2.
2私有继承3.2.3保护继承3.
2.4多继承。
3.3派生类的构造函数和析构函数3.3.1构造函数3.3.2析构函数3.4虚基类。
3.4.1声明一个虚基类3.4.2虚基类的初始化3.5聚合类。
3.5.1聚合类的概念。
3.5.2聚合类中的构造函数3.6继承应用实例3.6.1问题描述3.6.2完整源程序3.6.3运行结果。
第4章多态性(8课时)
教学要求]掌握:多态性的概念和虚函数的概念及特性。
掌握:成员函数重载。
掌握:运算符重载的规则。掌握:
函数调用运算符的重载。掌握:赋值运算符的重载。
掌握:双目算术运算符的重载。了解:
插入抽取运算符的重载。了解:单目算术运算符的重载。
了解:自增自减运算符的重载。了解:
拷贝构造函数。
了解:可以重载的运算符。[教学内容]
4.1多态性基本概念及其实现方式4.1.1多态基本概念。
4.1.2多态的两种实现方式4.2虚函数。
4.2.1虚函数的基本概念及其定义4.
2.2虚函数与重载函数的关系4.2.
3虚函数与函数隐藏和函数覆盖4.2.4多重继承中的虚函数4.
2.5将析构函数设计为虚函数4.2.
6纯虚函数和抽象类4.2.7抽象类的程序设计举例4.
3函数重载。
4.3.1在同一个类中的成员函数重载4.3.2全局函数重载。
4.3.3函数默认参数及重载二义性4.4运算符重载。
4.4.1运算符的两种重载方式4.4.2单目和双目运算符的重载4.4.3几个常用运算符的重载举例4.4.4运算符重载综合举例。
第5章模板(3课时)
教学要求]掌握:类属的基本概念。掌握:函数模板。了解:类模板。[教学内容]
5.1模板的基本概念5.1.1模板的概念。
5.1.2为何需要使用模板5.2函数模板及模板函数。
5.2.1函数模板的定义及生成模板函数5.2.2重载函数模板。
5.3类模板及模板类。
5.3.1类模板的定义及生成模板类5.3.2类模板的派生5.4模板设计应用实例。
第6章c++常见问题(7课时)
教学要求]掌握:内联函数、const的使用、引用的概念及使用。掌握:动态内存的使用。
了解:类型转换、异常和命名机制。[教学内容]
6.1内联函数的使用。
6.1.1内联函数引入的原因6.1.2内联函数的定义。
6.1.3内联和非内联函数的选择使用6.2 const的使用6.2.1 const说明值常量6.2.2 const与指针。
6.2.3 const说明函数参数和返回值6.2.4类中的const6.3动态内存管理技术。
6.3.1内存的几种分配方式。
6.3.2使用new和delete分配和释放动态内存6.3.3常见的动态内存错误6.3.4指针和数组的对比。
6.3.5利用指针传递内存的方式6.3.6 delete的作用6.4使用引用6.4.1引用类型6.4.2独立引用。
6.4.3引用作为函数参数6.4.4引用返回值6.4.5常引用。
6.4.6引用的应用实例6.5类型转换。
6.5.1构造函数和类型转换函数6.5.2一个类型转换实例6.6异常处理。
6.6.1 c语言的出错处理6.6.2抛出异常6.6.3捕获异常6.6.4处理异常6.6.5异常的匹配6.6.6标准异常。
6.6.7异常开销。
6.6.7含有异常的典型程序设计6.7命名空间。
6.7.1命名空间的意义6.7.2使用命名空间6.7.3无名的命名空间6.7.4一个应用实例。
第7章visual c++编程基础(5课时)
教学要求]掌握:windows程序运行机制。了解:api和mfc编程。[教学内容]
7.1 windows程序运行机制。
7.1.1 windows中的事件驱动与消息循环7.
1.2消息和消息处理7.1.
3消息映像机制7.2 windows api编程7.2.
1 api和sdk
7.2.2 windows api应用程序的组成7.
2.3 api程序实例7.3 mfc编程7.
3.1 mfc简介7.3.
2 mfc的主要类。
7.3.3 mfc的消息与消息处理方法。
第8章对话框、常用消息、菜单和工具栏(7课时)
教学要求]掌握:对话框、常用消息的使用。了解:菜单和工具栏的使用。[教学内容]
8.1对话框基本使用8.1.1对话框基本概念8.1.2常用控件8.1.3应用实例8.2常用消息。
8.2.1键盘消息及键盘消息的处理8.
2.2鼠标消息及鼠标消息的处理8.2.
3控件常用消息8.3菜单和工具栏8.3.
1菜单8.3.2工具栏。
8.3.3综合实例。
第9章单文档界面和多文档界面(1课时)
教学要求]掌握:文档和视图的概念以及单文档的使用。了解:多文档的概念和使用。[教学内容]
9.1文档对象和视图对象9.1.1文档对象9.1.2视图对象。
9.1.3文档和视图的关系9.2单文档界面。
9.2.1单文档界面简介9.2.2单文档界面实例9.3多文档界面。
9.3.1多文档界面简介。
9.3.2多文档界面简单实例。
第10章图形设备接口(3课时)
教学要求]了解:了解cdc类和图形对象。[教学内容]10.1 cdc类。
10.1.1 cdc类的绘图函数10.
1.2 cpaintdc类10.1.
3 cclientdc类10.1.4 cwindowdc类10.
2图形对象10.2.1 cpen类10.
2.2 cbrush类10.2.
3 cfont类10.3应用cdc实例。
附录c++编程风格指导。
高级语言程序设计教学大纲
高级语言程序设计 实验教学大纲。一 课程中文名称 课程英文名称 高级语言程序设计 advanced language programming 二 课程编码 1421263009 三 课程目标和基本要求 本课程是计算机科学与技术专业非师范类的专业基础课。通过教授c高级程序设计语言,帮助学生掌握c语言的...
高级语言程序设计教学大纲
课程简介 本课程为计算机类专业必修课程,学分数6,周学时6。计算机程序设计语言是人机对话 进行信息交换的工具。高级语言脱离了对具体计算机的依赖,是最常用的程序设计语言,而c语言是计算机专业学生必须掌握的重点高级语言之一。高级语言程序设计 是计算机专业学生基础课程。本课程面向低年级学生,结合c语言进行...
高级语言程序设计教学大纲
一课程说明。1.课程基本情况。课程名称 高级语言程序设计。英文名称 advanced language program design 课程编号 2411246 开课专业 数学与应用数学。开课学期 第3学期。学分 周学时 3 3 课程类型 专业主干课。2 课程性质 本课程在该专业的地位作用 高级语言程...