洛阳俊景广告有限公司

 
当前位置:首页 >>产品中心 >> 产品详情

C++程序设计教与学(PPT课件+大纲+教案+实验指导+习题答案+程序源码,李小斌)

2026年02月10日 20:33
 

课程教学大纲

1

课程基本描述

课程名称:C++程序设计及项目实践

学时/学分:54/3

适用专业:软件工程

先修课程

2

课程性质、课程目标、毕业要求和课程思政

一、课程性质

本课程属于软件工程专业的专业基础课,课程通过对C++语言的语法规则、数据类型、算法、程序结构、函数、指针、结构体、类、继承、多态、文件、标准模板库(STL)、项目实践等方面的学习,为后续课程提供必要的专业基础知识。此外,通过一系列实验和课程设计,理论联系实际,进一步巩固所学的相关理论知识,培养学生具有初步的程序设计能力和良好的程序设计技能。

二、课程目标

目标1:能够针对具体应用问题,在多种可选程序设计方案中,根据问题的约束条件,分析各种方案在程序结构、运行效率上的利弊,选择恰当的处理方法。

目标2:掌握数据描述、赋值语句与输入/输出、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体链表、文件等基本程序设计基础知识。掌握面向对象程序设计基础、类的基础部分、文件、类的高级部分、继承多态虚函数、模板等基本面向对象程序设计基础知识。

三、支撑毕业要求的指标点

1、掌握设计/开发软件工程领域复杂工程问题解决方案的基本方法和技术,了解影响设计目标和技术方案的各种因素。

2、能够选择和使用常用软件开发语言、开发环境和开发框架,理解其局限性,并对复杂软件工程问题进行分析、计算与设计。

四、课程目标与毕业要求指标点对应的矩阵关系

五、课程思政

本课程中的课程思政从程序设计理论和程序设计实践两方面可以体现科学精神和大国工匠精神。

1. 科学精神

在程序设计理论学习中,体现科学精神的地方包括以下几个方面:

(1)系统性:程序应该具有清晰的结构,模块化和高内聚低耦合的特点,方便维护和拓展。

(2)可靠性:程序设计具有较强的错误处理能力,避免出现漏洞和意外的错误。

(3)效率性:程序设计应优化算法和数据结构,减少计算和存储的时间和空间开销。

(4)简洁性:程序设计具有简洁性,避免冗余和复杂的代码结构。

(5)可扩展性:程序能够方便地进行功能扩展和修改。应遵循开放封闭原则,设计可插拔的模块和接口,方便程序的后续维护和拓展。

科学精神要求C++程序设计要符合科学方法的原则,以实证为基础,注重整体规划和细节处理,追求高效、简洁、可靠和可扩展的设计。

2. 大国工匠精神

在程序设计实践中,体现大国工匠精神的地方包括以下几个方面:

(1)严谨的态度:对细节的追求和严谨的态度。程序设计要注重代码的规范性和一致性,遵循良好的编码风格,保证代码的可读性和可维护性。

(2)高质量的代码:不断追求卓越和完美的品质。程序设计要编写高质量的代码,包括正确性、可靠性、可扩展性和高效性,保证程序的稳定性和性能。

(3)高效的算法和数据结构:不断挑战自我,追求创新和优化。程序设计要选择和设计高效的算法和数据结构,以减少计算和存储的时间和空间开销,提高程序的执行效率。

(4)持续学习和自我提升:持续学习和追求技术的不断进步。程序设计要求跟踪和学习最新的技术趋势和最佳实践,不断提升自己的编程技能和解决问题的能力。

大国工匠精神体现在对细节的严谨追求、高质量代码的编写、优化的算法和数据结构的选择及持续学习和自我提升的态度。

3

教学内容及基本要求

4

课程考核方式

5

教材及参考书

参考书籍

6

内容简介、目录

内容简介

本书结合产教融合、实例驱动和以生为本的教学理念,理论部分循序渐进,实践部分学以致用,由作者总结20多年一线教学与软件开发经验撰写而成。

全书共17章,分为4部分。第1部分(第1~9章)为C++面向过程程序设计,包括基础概念、表达式、三种流程、函数、数组、自定义类型、指针及引用等。第2部分(第10~13章)为C++面向对象程序设计,包括类和对象、继承、多态及运算符重载等。第3部分(第14~16章)为C++进阶部分,包括文件、异常、命名空间、预处理器、匿名函数、字符串、正则表达式、标准模板库等。第4部分(第17章)为C++项目开发实践,包括C++基础综合项目、图形用户界面项目、数据库项目、网络通信项目和游戏开发项目5个案例。

本书可作为高等院校计算机类相关专业“C++程序设计”课程的教材,也可作为对编程竞赛、软件开发感兴趣的读者的自学读物,并可作为相关行业技术人员的参考用书。

目录

第1章概述

1.1C++语言

1.2开发工具

1.3第一个C++程序

1.4开发流程

1.5本章小结

习题1

第2章常量、变量及表达式

2.1常量

2.1.1常量基础

2.1.2常量的多种形式

2.2变量及数据类型

2.2.1变量

2.2.2标识符

2.2.3基本输入输出

2.2.4数据类型

2.2.5符号常量与命名常量

2.3运算符及表达式

2.3.1赋值运算符

2.3.2算术运算符

2.3.3自增自减运算符

2.3.4关系运算符

2.3.5逻辑运算符

2.3.6位运算符

2.3.7类型转换运算符

2.3.8复合赋值运算符

2.3.9逗号运算符

2.3.10运算符的优先级

2.4本章小结

习题2

第3章顺序结构

3.1程序语句

3.2三种执行流程

3.3顺序结构

3.4应用

3.5本章小结

习题3

第4章选择结构

4.1if语句

4.2ifelse语句

4.3if语句的嵌套

4.4条件运算符

4.5switch

4.6应用

4.7本章小结

习题4

第5章循环结构

5.1while语句

5.2dowhile语句

5.3for语句

5.4嵌套

5.4.1嵌套选择

5.4.2嵌套循环

5.5break语句

5.6continue语句

5.7应用

5.8本章小结

习题5

第6章函数

6.1定义及调用函数

6.1.1无参函数

6.1.2有参函数

6.1.3参数按值单向传递

6.1.4函数提前声明

6.1.5变量作用域

6.2递归函数

6.2.1可用数学公式描述的问题

6.2.2不可用数学公式描述的问题

6.3重载函数

6.4函数模板

6.5参数默认值

6.6内联函数

6.7多文件项目

6.8标准库函数

6.8.1数学函数

6.8.2输入输出及格式控制函数

6.9应用

6.10本章小结

习题6

第7章数组

7.1一维数组

7.1.1定义数组

7.1.2数组初始化

7.1.3基于位置的数组元素访问

7.1.4基于值的数组元素访问

7.2二维数组

7.2.1定义数组

7.2.2数组初始化

7.2.3数组元素的访问

7.3高维数组

7.4函数中的数组

7.4.1元素值作为参数

7.4.2数组名作为参数

7.5字符数组

7.5.1定义及使用

7.5.2字符串

7.5.3字符串处理标准函数

7.6应用

7.7本章小结

习题7

第8章自定义类型

8.1结构体

8.1.1结构体类型定义

8.1.2结构体变量的定义

8.1.3结构体变量的初始化

8.1.4读写结构体变量

8.1.5函数中的结构体

8.1.6结构体数组

8.2联合体

8.3枚举

8.4类型别名

8.4.2typedef

8.4.3using

8.5应用

8.6本章小结

习题8

第9章指针及引用

9.1指针基础

9.1.1内存地址及指针

9.1.2指针变量的定义

9.1.3指针变量的使用

9.1.4void指针

9.1.5NULL指针

9.1.6指向指针的指针

9.2指针与数组

9.2.1数组指针

9.2.2指针数组

9.2.3字符指针

9.3内存动态分配

9.3.1基础类型内存动态分配

9.3.2可变长数组动态分配

9.3.3结构体类型内存动态分配

9.4指针与函数

9.4.1指针作为函数参数

9.4.2指针作为函数返回值

9.4.3函数指针

9.5单向链表

9.6引用

9.6.1引用的声明及使用

9.6.2引用作为函数参数

9.6.3引用作为函数返回值

9.7const对指针及引用的写保护

9.7.1保护指针及指针指向值

9.7.2保护引用

9.8应用

9.9本章小结

习题9

第10章类和对象

10.1初步了解

10.2类声明

10.2.1声明形式

10.2.2成员函数

10.3对象

10.3.1对象的定义

10.3.2对象指针

10.3.3对象引用

10.3.4对象数组

10.4构造函数

10.4.1一般构造函数

10.4.2复制构造函数

10.5析构函数

10.6this指针

10.7静态成员

10.7.1静态成员数据

10.7.2静态成员函数

10.8const对类及对象的保护

10.9类模板

10.10友元

10.10.1友元函数

10.10.2友元成员函数

10.10.3友元类

10.11本章小结

习题10

第11章继承

11.1单继承

11.1.1基础

11.1.2访问属性

11.1.3构造函数

11.1.4析构函数

11.2多继承

11.2.1基础

11.2.2二义性

11.2.3虚继承及虚基类

11.3本章小结

习题11

第12章多态

12.1基类派生类对象赋值

12.2虚函数

12.3纯虚函数

12.4虚析构函数

12.5本章小结

习题12

第13章运算符重载

13.1实现基础

13.1.1示例: 成员函数实现

13.1.2示例: 友元函数实现

13.2双目运算符重载

13.3关系运算符重载

13.4单目运算符重载

13.5赋值运算符重载

13.6new与delete运算符重载

13.7特殊运算符重载

13.7.1函数调用运算符重载

13.7.2成员访问运算符重载

13.7.3下标访问运算符重载

13.8类类型转换

13.8.1转换构造函数: 其他类型向类转换

13.8.2类型转换函数: 类向其他类型转换

13.9输入输出运算符重载

13.10本章小结

习题13

第14章文件

14.1文本文件

14.1.1写文本文件

14.1.2读文本文件

14.2二进制文件

14.2.1写二进制文件

14.2.2读二进制文件

14.3文件随机访问

14.3.1随机访问文本文件

14.3.2随机访问二进制文件

14.4应用

14.5本章小结

习题14

第15章C++进阶

15.1异常处理

15.1.1处理框架

15.1.2标准异常类

15.1.3自定义异常类

15.2命名空间

15.2.1单文件单命名空间

15.2.2单文件多命名空间

15.2.3多文件单命名空间

15.2.4多文件多命名空间

15.3预处理器

15.3.1预处理器指令

15.3.3预定义的预处理器宏

15.4匿名函数

15.4.1基础使用

15.4.2mutable特性

15.5字符串string类

15.6正则表达式

15.6.1基础

15.6.2算法

15.6.3迭代器

15.7本章小结

习题15

第16章标准模板库

习题16

第17章项目实践

附录AASCII表

附录B数的进制

附录C转义字符表

附录DC++关键字

附录E二进制编码

附录F浮点数存储格式

附录G运算符优先级

附录H常用数学函数

附录I正则表达式字符

参考文献

7

课件、教案、视频样例

课件样例

教案样例