x2071361C++程序设计课程教学大纲
- 格式:docx
- 大小:225.22 KB
- 文档页数:140
x2071361 C++程序设计课程教学大纲
课程名称:C++程序设计
英文名称:C++ Programming
课程编码:x2071361
学 时 数:64
其中实践学时数:20 课外学时数:0
学 分 数:4.0
适用专业:测绘工程
一、课程简介
《C++程序设计》是测绘工程专业一门重要的专业基础课程。课程内容主要讲授C++语言的基本语法、数据类型、程序的结构与语句、数组、函数、指针、构造数据类型、类和对象、继承与派生、多态性和虚函数、模板、I/O流等方面的问题。为后续测绘工程专业课的学习以及科学研究提供程序设计基础。
通过《C++程序设计》课程的学习,使学生掌握一门高级程序设计语言,掌握面向对象程序设计的基本概念与方法,进而学会利用C++语言解决测量应用方面的问题,并为从事测绘程序开发打下基础。
二、课程目标与毕业要求关系表
课程目标 毕业要求
1.掌握面向对象程序设计的基本概念与方法。 1-4 掌握用于解决复杂测绘工程问题的专业基础知识,具有对复杂测绘工程问题的设计、解算与分析的能力。
2.结合《测绘学基础》课程的相关知识,学会利用C++语言解决一般测量应用方面的问题。 2-1 具有应用数学知识对复杂测绘工程问题进行分析与数据计算的能力。
3.具备遇到的测量数据处理方面的问题,可以独立开发相关程序予以解决问题的能力。 5-3 能够针对复杂工程问题,基于现代信息技术与资源,开发、选择相关测绘软件或工具。
三、课程教学内容、基本要求、重点和难点
(一)C++的初步知识
了解程序设计基本概念、程序设计方法,一般问题的计算机求解过程;掌握C++程序结构,main()函数,C++源程序的编辑、编译、链接和运行,Visual C++2010集成开发环境的安装和使用。
重点:C+程序结构,main()函数,C++语言程序上机调试步骤和方法。
难点:C++程序结构。
(二)数据类型和表达式
掌握基本数据类型的定义和使用,熟练掌握整型与实型数据的输入与输出,字符型数据的输入与输出。掌握常用运算符和表达式的使用,包括算术运算符、关系运算符、逻辑运算符、自增自减运算符、赋值运算符及其表达式的使用,了解运算符的优先级。了解标识符的构造规则,理解强制类型转换的使用。
重点:数据输入输出中格式控制符的使用,基本数据类型的表示范围对使用的影响。
难点:数据类型转换,运算符的混合使用。
(三)程序设计初步
掌握表达式语何和结构化程序设计的三种基本结构,包括顺序结构、选择结构和循环结构,熟练掌握选择估构中的if-else语句和switch语句,循环结构中的while语句和for语句,了解do-while语句。理解break语句与continue语句使用上的区别。
重点:掌握三种基本结构,混合使用三种基本结构解决实际问题。
难点:循环结构的嵌套使用。
(四)利用函数实现指定的功能
熟练掌握函数的定义和使用方法;掌握函数参数传递的方式:理解函数的作用范围;掌握函数重载、递归函数。了解预处理和函数原型的使用;了解变量的作用域和存储类型。
重点:掌握函数的声明、定义、调用和返回;掌握函数参数传递的两种方式对程序运行结果的影响;函数重载。
难点:理解按地址传递函数参数,递归函数的使用。
(五)利用数组处理批量数据
熟练掌握一维数组和二维数组的定义、初始化和数组元素的引用方法;掌握一维数组的基本操作和基本算法,能应用一维数组进行线性查找和排序。熟练掌握字符数组的定义、初始化与引用;掌握字符数组的输入与输出。了解数组的存储结构。
重点:一维数组定义及使用方法,并应用一维数组解决实际问题。
难点:理解字符数组与字符串的区别和它们的使用。
(六)善于使用指针与引用
正确理解指针变量和地址的概念;掌握指针变量的定义与运算;掌握通过指针引用变量的方法;掌握通过指针引用数组元素的方法。掌握引用的概念,引用作为函数参数的方法。
重点:指针定义与运算,指针与数组,指针变量、引用作为函数的参数。
难点:运用指针表达复杂的数据结构,动态分配内存。
(七)用户自定义数据类型
掌握结构体类型定义和结构体类型变量的引用;掌握结构体数组和结构体指针的定义、初始化与使用;能够正确引用结构体成员;了解共用体;了解枚举型。
重点:结构体类型定义、结构体类型变量的引用;结构体数组,指向结构体的指针。
难点:结构体数组。
(八)类和对象的特性,怎样使用类和对象
理解类的基本概念,熟练掌握类的定义方法;理解信息隐藏、封装和抽象数据类型等基本概念以及它们与类的关系;了解对象、方法和消息等基本概念,能熟练定义和运用对象、方法;掌握方法的定义和引用,方法重载,const对象和const成员函数;了解构造函数和析构函数的特点,理解构造函数和析构函数的功能,熟练掌握构造函数和析构函数的定义和使用方法:理解复合类的含义,掌握复合类、复合类构造函数的定义和使用方法;理解指向对象的指针、指向类成员的指针和this指针的概念,掌握前两种指针的定义方法以及这三种指针的使用方法;掌握成员对象和对象数组;掌握静态类成员,接口和实现的分离,友元。
重点:类的定义方法;构造函数和析构函数的定义和使用方法;静态成员的概念和编程。
难点:构造函数和析构函数的定义和使用方法;this指针的概念;静态成员。
(九)运算符重载
理解什么是运算符重载,掌握运算符重载的方法, 重载运算符的规则;掌握运算符重载作为类成员函数和友元函数;熟悉常用的双目运算符重载和单目运算符重载以及 重载流插入运算符“<<”和流提取运算符“>>”;掌握不同类型数据间的转换。
重点:运算符重载编程。
难点:运算符重载编程。
(十)继承与派生
理解继承与派生的板念,理解继承是如何提高软件可重用性的;掌握派生类的定义方法,能通过继承现有的类建立新类;理解派生类的继承特性并会运用;熟练掌握派生类构造函数和析构函数的概念和编程;理解多继承的概念和编程,理解虚基类的概念,掌据虚基类的使用方法。
重点:继承与派生的概念、派生类构造函数和析构函数的概念和编程。
难点:派生类构造函数和析构函数编程。
(十) 多态性与虚函数
理解虚函数、动态多态性和动态关联的概念:了解虚函数和动态关联对实现动态多态的作用;掌握虚函数的声明、定义方法和访问属性;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;了解抽象类和具体类的区别;理解虚析构函数的概念和作用,掌握其声明和使用方法;理解动态关联的实现机理,学会使用动态多态特性。
重点:虚函数、纯虑函数与抽象类。
难点:纯虚函数与抽象类的概念和编程。
(十一)I/O流与文件系统
了解文件流类的继承关系;掌据使用ofstream类建立文件、打开文件和读文件;掌握使用ifstream类打开文件和写文件;掌握使用文件流读写文本文件;掌握使用文件流读写二进制文件。
重点:I/O流编程。
难点:I/O流编程。
四、教学方式及学时分配
序号 主要内容 主要教
学方式 学时
分配 辅导答
疑比例
一 1. C++的初步知识
1.1 最简单的C++程序
1.2 C++程序的构成和书写形式
1.3 C++程序的编写与实现
1.4 关于C++上机实践 讲授+实训 2+2 1:0.5
二 2. 数据类型和表达式
2.1 C++的数据类型
2.2 常量
2.3 变量
2.4 C++的运算符
2.5 算术运算符和算术表达式
2.6 赋值运算符和赋值表达式
2.7 逗号运算符和逗号表达式 讲授+实训 4+2 1:0.5
三 3. 程序设计初步
3.1 C++的程序结构和C++语句
3.2 赋值操作
3.3 C++的输入与输出
3.4 编写顺序结构的程序
3.5 关系运算和逻辑运算
3.6 选择结构和if语句
3.7 循环结构和循环语句 讲授/实训 4+2 1:0.5
四 4. 利用函数实现指定的功能
4.1 为什么需要函数
4.2 定义函数的一般形式
4.3 函数参数和函数的值
4.4 函数的调用
4.5 函数的嵌套调用
4.6 内置函数
4.7 函数的重载
4.8 函数模板
4.9 有默认参数的函数
4.10 局部变量和全局变量
4.11 变量的存储类别 讲授/实训 4+2 1:0.5
4.12 内部函数和外部函数
4.13 头文件
五 5. 利用数组处理批量数据
5.1 为什么需要数组
5.2 定义和引用一维数组
5.3 定义和引用二维数组
5.4 用数组作函数参数
5.5 字符数组
5.6 C++处理字符串的方法 讲授/实训 4+1 1:0.5
六 6. 善于使用指针与引用
6.1 什么是指针
6.2 变量与指针
6.3 数组与指针
6.4 字符串与指针
6.5 函数与指针
6.6 返回指针值的类型
6.7 指针数组和指向指针的指针
6.8 引用 讲授 4+1 1:0.5
七 7. 用户自定义数据类型
7.1 结构体类型
7.2 共用体类型
7.3 枚举类型
7.4 用typedef声明新的类型名 讲授/实训 2+2 1:0.5
八 8. 类和对象的特性
8.1 面向对象程序设计方法概述
8.2 类的声明和对象定义
8.3 类的成员函数
8.4 对象成员的引用
8.5 类的封装性和信息隐蔽
8.6 类和对象的简单应用举例 讲授/实训 4+1 1:0.5
九 9. 怎样使用类和对象
9.1 利用构造函数对类对象进行初始化
9.2 析构函数
9.3 调用构造函数和析构函数的顺讲授/实训 4+1 1:0.5