C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。 C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。本课程重点讲述C++程序设计的基本理论和基本编程思想,培养学生利用程序设计语言进行编程的思维方式,为计算机专业的后续课程打下坚实的基础。
一、教学大纲说明:
总 学 时:64
考核形式:考试
课程类别:专业基础课
修读方式:必修
教学目的:《C++程序设计》是计算机科学与工程系各专业学生必修的一门专业基础课程。本门课程主要介绍C++语言程序设计的基本理论和基本编程思想,培养学生利用程序设计语言进行编程的思维方式,为计算机专业的后续课程打下坚实的基础。
二、主要教学内容及要求:
第一章 C++与面向对象程序设计概述( 2学时)
了解:
1.传统程序设计与面向对象程序设计的区别
2.C++的发展
3.面向对象程序设计语言
理解:
1.面向对象程序设计的特点
2.熟悉VC++6.0集成开发环境
掌握:
1.C++的特点
2.C++程序结构和书写规则
第二章 C++程序设计基础(4+2学时)
了解:
1. 为什么会有三种基本的程序控制结构
2. C++的基本数据类型
理解:
1.程序控制结构的控制方式:顺序结构,选择结构,循环结构
2.C++的运算符、关键字、标识符和分隔符、常量和变量语法规则
3.转向语句的使用
4.表达式中数据类型的转换规则
掌握:
1.选择控制的使用:if语句,switch语句
2.循环控制结构的使用:while语句,do_while语句,for语句,循环的嵌套
3.判断表达式的使用
第三章 函数(4+2学时)
了解:
1.参数的传递方式的分类
2.内联函数的含义
理解:
1.变量存储特性与标识符作用域
2.函数调用机制:嵌套调用和递归调用
掌握:
1.函数参数的传递,包括:传值参数,指针参数,引用参数和函数的返回类型
2.函数指针:函数的地址,函数指针
3.重载函数的定义与使用方法
第四章 数组(4+2学时)
了解:
数组的适用范围
理解:
1.一维数组和二维数组的初始化
2.字符串存储和字符串的访问
掌握:
1.一维数组和二维数组的定义和访问方式
2.指针数组的使用:指向基本数据类型的指针数组,指向数组的指针数组,指向函数的指针数组
3.数组作函数参数的应用:向函数传送数组元素,数组名作函数参数
4.字符数组与字符串的使用
第五章 结构体与共用体(2+2学时)
了解:
结构体和共用体的适用范围和区别
理解:
1.结构体变量与共用体变量的初始化
2.字符串存储和字符串的访问
掌握:
1.结构体和共用体的定义
2.结构体变量和共用体变量的访问
3.结构体数组的使用
第六章 指针和引用(4+2学时)
了解:
多级指针和指针运算
理解:
1.new和delete的使用
2.引用的定义
掌握:
1.指针的定义和访问方式
2.指针数组的使用:指向基本数据类型的指针数组,指向数组的指针数组,指向函数的指针数组
3.引用作为函数参数和作为函数返回值的作用
第七章 类与对象(6+2学时)
了解:
常类型和对象数组的应用
理解:
1.成员函数的特征
2.静态数据成员和静态成员函数
3.this指针和对象指针
掌握:
1.类和对象的定义
2.构造函数和析构函数
3.友元类
第八章 继承与派生(4+2学时)
了解:
1.多继承中的二义性问题
2.虚基类的定义
理解:
1.继承和派生的概念
2.多继承
3.虚基类的构造函数和析构函数
掌握:
1.派生类的定义和继承方式
2.单继承
3.虚基类的应用
第九章 继承与派生(2+2学时)
理解:
1.运算符重载的一般规则
2.双目运算符的重载
掌握:
1.运算符重载的两种形式:用成员函数重载和用友元函数重载
2.单目运算符的重载
第十章 虚函数和多态性(4+2学时)
了解:
1.纯虚函数
2.虚析构函数
理解:
1.虚函数的定义
2.抽象类
掌握:
多态的含义及应用
第十一章 C++输入/输出流(2学时)
了解:
输入/输出流的概念
理解:
输入/输出格式控制
掌握:
基本输入/输出操作
第十二章 文件处理(2+2学时)
理解:
顺序文件和随机文件的建立和读写
掌握:
文件的读写
第十三章 模板和异常处理(2学时)
了解:
1.模板的概念
2.异常处理的概念
理解:
异常处理的实现
掌握:
函数模板和类模板
三、本课程与其他课程的联系与分工
该课程主要和本专业的如下课程相关:计算机导论、数据结构、编译原理、软件工程、Java程序设计、UML软件建模技术等。计算机导论是其先修课程,数据结构、编译原理、软件工程、Java程序设计等课程是其后继课程。在该课程中学生应掌握一般的程序设计概念、方法和技巧,并应掌握好C++语言的程序设计方法,能够利用C++语言编写小、中型程序,为后续课程的学习打下坚实的基础。
四、学时分配表
学时分配表
序号 | 章节及名称 | 学时分配 | 学时 | 备注 | |||
讲课 | 实验 | 习题课 | |||||
1 | 第1章 | C++与面向对象程序设计概述 | 2 | 2 | |||
2 | 第2章 | C++程序设计基础 | 4 | 2 | 6 | ||
3 | 第3章 | 函数 | 4 | 2 | 6 | ||
4 | 第4章 | 数组 | 4 | 2 | 6 | ||
5 | 第5章 | 结构体与共用体 | 2 | 2 | 4 | ||
6 | 第6章 | 指针与引用 | 4 | 2 | 2 | 8 | |
7 | 第7章 | 类与对象 | 6 | 2 | 8 | ||
8 | 第8章 | 派生与继承 | 4 | 2 | 6 | ||
9 | 第9章 | 运算符重载 | 2 | 2 | 4 | ||
10 | 第10章 | 虚函数和多态性 | 2 | 2 | 2 | 6 | |
11 | 第11章 | C++输入/输出流 | 2 | 2 | |||
12 | 第12章 | 文件处理 | 2 | 2 | 4 | ||
13 | 第13章 | 模板和异常处理 | 2 | 2 | |||
合计 | 40 | 20 | 4 | 64 |
五、教材及参考书
1. 《C++程序设计》(第二版).邓振杰.人民邮电出版社.2008 年
2. 《C++程序设计基础》(第二版).周霭如 林伟健.电子工业出版社.2006 年
3. 《C++程序设计》(第2版).吴乃陵 况迎辉.高等教育出版社.2006年
4. 《C++程序设计实践教程》(第2版).吴乃陵 李海文.高等教育出版社.2006年
5. 《面向对象程序设计基础》(第2版).李师贤等.高等教育出版社.2005年
6. 《C++程序设计教程》(第4版).(美)H.M.Deitel P.J. Deitel.清华大学出版社.2004年
7. 《C++语言程序设计》.曲少珍等.中国铁道出版社,2006年