### C++程序设计教学大纲知识点解析
#### 一、课程性质与目的
- **课程性质**: 本课程属于通识教育课程,旨在教授学生面向对象的编程基础以及基本的数据结构和软件工程知识。
- **目的**:
- 培养学生的面向对象编程能力。
- 锻炼学生的逻辑思维能力。
- 为学生将来在其专业领域运用计算机编程打下坚实的基础。
- **教学语言**: 使用C++语言。
#### 二、课程基本信息
- **课程名称**: C++程序设计
- **英文名称**: Fundamental course of C++ Programming
- **面向专业**: 理工科专业
- **授课学时**: 36
- **实验学时**: 20(含课外20)
- **课程学分**: 3.5
#### 三、课程先修要求
- **先修课程**: 大学计算机基础
#### 四、教学内容与要求
##### 1. C++基础知识
- **初识C++程序**: 介绍C++程序的基本结构,包括源文件的组织方式、注释等。
- **掌握基本数据类型和运算**:
- 关键字与标识符
- 基本数据类型(整型、浮点型、字符型等)
- 数组
- 枚举类型
- 运算符、表达式及其优先级
- **理解类型的相容性与不相容性**: 讨论不同类型之间的转换规则。
- **掌握简单标准输入输出的程序实现**: 包括使用`cin`和`cout`进行基本的输入输出操作。
##### 2. 基本控制结构程序设计
- **理解算法的概念**, 掌握算法的描述方法,了解程序设计三种基本结构(顺序结构、选择结构、循环结构)。
- **掌握双路和多路选择结构的程序设计**: if语句、switch语句。
- **掌握循环结构的程序设计**: while语句、for语句、do...while语句。
- **掌握常用算法的应用**: 直接法、枚举法、递推法、迭代法。
- **掌握文本文件的输入输出**: 包括打开文件、读写文件、关闭文件等操作。
##### 3. 函数
- **理解函数抽象机制**, 掌握函数定义与函数的调用。
- **理解参数化机制**(值调用),了解参数的传递过程。
- **理解函数的返回值及函数原型说明**。
- **理解全局变量、局部变量、变量的存储类型与作用域**、生命周期与可见性。
- **掌握函数的递归调用**,编写、测试、调试简单的递归函数。
- **理解函数重载、缺省变元、内联函数**。
##### 4. 类与对象
- **理解传统结构化程序设计和面向对象程序设计的基本概念**。
- **理解面向对象程序设计和封装、抽象的合理性**。
- **类定义、属性与行为、访问权限控制**, 对象的定义、使用及内存的安排。
- **掌握构造函数与析构函数**,以及它们在创建和销毁对象时的作用。
- **理解引用概念**, 值调用和引用调用在参数传递中的不同。
- **掌握函数重载技术与运算符重载技术**。
- **理解友元、静态数据成员**, 掌握友元函数的定义和使用方法。
##### 5. 数组与指针
- **理解数组的概念**, 掌握数组的定义方法。
- **理解指针与地址、指针与数组的关系**, 数组名与指针的区别。
- **掌握标准C++字符串与C风格字符串**。
- **理解向函数传递数组或指针的方法**。
##### 6. 动态内存分配与数据结构
- **了解动态数据结构和静态数据结构实现的差异**。
- **理解堆内存分配、堆与拷贝构造函数、深拷贝与浅拷贝**。
##### 7. 类的继承与派生
- **理解继承的概念**, 了解面向对象设计中继承和多态的合理性。
- **掌握派生类的构造与析构**。
- **掌握在对象中使用类层次和继承思想进行设计、实现和测试**。
- **理解重载与同名覆盖的差异**。
- **理解虚函数与多态性**。
#### 五、教学要求
- **培养学生的规范化编程能力**。
- **提倡模仿**。
- **淡化语法、强调算法**: 强调算法的重要性,而不是繁琐的语法细节。
- **精讲多练**: 在教学过程中围绕面向对象C++程序设计的关键技术进行精讲,并通过大量的练习加深理解。
- **正确处理编程细节与大局观**:
- 上半学期侧重于讲解怎样采用C++语言来描述算法。
- 后期逐渐淡化对编程细节的关注,加强对程序整体架构的理解。
#### 六、教学实验
- **实验环境**: Visual C++ 6.0 集成开发环境。
- **实验学时**: 20
- **实验项目**:
- Visual C++集成开发环境
- 简单的C++程序
- 分支结构程序设计
- 循环结构程序设计
- 常用算法:枚举、递推、迭代
- 文本文件简单应用
- 函数的定义与使用等。
#### 七、建议学时分配
- **C++基础知识**: 讲课4学时,实验4学时。
- **基本控制结构程序设计**: 讲课6学时,实验8学时。
- **函数**: 讲课5学时,实验6学时。
以上是对《C++程序设计》教学大纲的详细解析,涵盖了课程的基本信息、教学目标、教学内容、教学要求以及建议学时分配等方面,旨在帮助学生全面掌握C++编程的基础知识和技术要点。