人工智能带来了C++的再次繁荣,从某种程度上说,Python编程只是在搭建软件的外包装,而C++才是其核心。C++与C在占据系统底层应用方面没有什么差距,但是在规模化编程、自动生成、实现系统架构方面,非C++莫属。况且由于C++源自C的特点,C编程往往又是在C++平台中实现。追本溯源,C++语言才是当今人工智能大发展上最重要的工具。
本课程是C++程序设计的入门课程。兼顾基础理论和编程实践。基础理论浅显易懂,编程案例生动形象。采用全国等级考试的集成开发环境VC++2010 Express进行编程与调试工具。从案例分析和问题入手,寻找解题思路,到编程、调试、运行,都借助于合适的实际案例进行展示。特别是初期的编译错误的定位与解决策略,后面的运行错误借助调试工具进行查错、纠错等,通过案例和视频的展示学会编程方法与调试技术。完整的案例分析和编程过程帮助初学者既能看懂教材,又能解决上机无从下手的问题。
部分同学学习C++语言的难点在指针,指针的难点在于和数组、函数等结合下的变化,加上指针使用非常容易出错,使得指针更增加了神秘的色彩。本课程先进行理论讲解,通过指针对内存的实际操作情况进行演示与分析,然后通过由浅入深的编程例题和作业逐渐掌握指针。
学习C++语言存在面向过程思想和面向对象思想转变的困难,特别是面向对象擅长解决复杂问题,而对初学者的案例都是用简单问题来诠释面向对象的程序设计思想方法,造成难于领会面向对象的程序设计思想的精髓。本课程通过用对比方式,诠释面向对象和面向过程程序设计的区别,体会C++的优势。通过实际案例掌握面向对象思想,通过项目实践,解决学而不知何用的问题。
本课程将使学生掌握程序设计基本思想,掌握自顶向下设计和面向对象开发技术,能够熟练应用C++语言进行程序设计。掌握计算机科学基本思维与基本方法;初步具备应用计算机进行软件开发的能力。
第0章 计算机基础导学
导学
计算机与超级计算机
课外阅读材料
第1章——初识C++语言:从认识变量和常量开始,数据的表示
1.1 计算机程序设计语言
1.2 程序的组成和要素
1.3变量与数据类型
1.4解析法实现顺序结构程序设计
1.5 文字常量与符号常量
1.6 简单的输入和输出
1.7 C++ 语言集成开发环境和程序调试
本章知识点小结和常见错误小结
课外阅读材料
代码规范相关资料
第一章编程题
第一章单元测试
第2章——计算:从数据运算开始,数据简单运算
2.1 表达式和算术运算
2.2 自增自减和赋值运算
2.3关系运算和逻辑运算
2.4特殊运算符
2.5混合运算和类型转换
2.6 程序调试和变量跟踪
运算符优先级和C++的优先级
全国计算机等级考试二级C++语言程序设计考试大纲(2018 年版)
本章小结和常见错误小结
OJ编程错误查找方式
书本中常用的函数说明
全国计算机等级考试二级C语言程序设计考试大纲(2018版)
第二章编程题
第二章单元测试
第3章——分支结构:无处不在的抉择
3.1简单条件语句:从圆面积的计算看条件语句
3.2嵌套条件语句:从输出学生成绩看条件语句
3.3开关语句:从输出学生成绩看开关语句
3.4 分支结构的程序设计—两个实际应用案例看分支结构程序设计的要点
3.5分支结构的测试:程序测试方法
本章小结和常见错误小结
本章参考答案
第三章编程题
第三章单元测试
第4章——循环结构:周而复始,求同存异
4.1 简单循环结构:从计算一个圆的面积到多个圆的面积看循环结构
4.2循环结构程序设计:整数位数拆分
4.3 循环结构程序设计:从Fibonacci数列看递推法
4.4 循环结构程序设计--从判断素数看循环语句中的break
4.5 嵌套循环:再从计算多个圆面积看内外循环的关系
4.6 嵌套循环:从打印九九乘法表看内外循环的关系
4.7 循环结构程序设计--从百钱买百鸡问题看穷举法
4.8 程序调试方法:单步调试法
单步调试实际操作
本章小结和常见错误小结
本章参考答案
第四章单元测试
第四章 编程题
第四章 练一练-----经典基础题---不计入MOOC总成绩---
第四章 练一练-----经典提高题---不计入MOOC总成绩---
第5章——数组:实现算法的利器
5.1一维数组:从多个圆大小排序看一维数组
5.2数组应用:查找算法
5.3数组应用:冒泡排序
5.4数组应用:巧用数组下标
5.5 二维数组:从计算多个学生多门成绩看二维数组
5.6 二维数组应用:多个学生多门课成绩计算总分并排序输出
5.7 字符数组与字符串
5.8 字符串的应用
本章小结和常见错误小结
本章参考答案
第五章单元测试
第五章 编程题
第五章 练一练----经典基础题-----不计入MOOC总成绩---
第五章 练一练----经典提高题-----不计入MOOC总成绩---
第6章——指针:所向披靡的“金箍棒” 魂
6.1 指针概述及基本应用
6.2 指针和一维数组
6.3.1* 指针和二维数组
6.3.2* 指针和二维数组应用
6.4* 指针数组
6.5* 多级指针、动态存储分配
本章小结和常见错误小结
本章参考答案
第6章单元测试
第六章 练一练 经典基础题
第六章 练一练 经典提高题
第六章 编程题
第7章 函数:面向过程的基础
7.1 从最大值的计算看函数的概念和定义
7.2.1 函数的调用和声明
7.2.2 函数的进一步讨论
7.3 变量的作用域与生存期
7.4 参数传递的意义与作用
7.5 递归算法
7.6 编程实战---最短路径算法和红包算法等
本章小结和常见错误小结
本章编程题参考答案
第7章单元测试
第七章 编程题
第七章 练一练---经典基础题--不计入总分---
第七章 练一练---经典提高题---不计入总分---
第8章 文件:让数据流动起来
8.1 输入输出流的基本概念及标准I/O流
8.2 文件处理-文本文件
8.3 *文件处理-二进制文件
8.4 编程实战 -- 银行模拟小程序和成绩管理等
本章小结和常见错误小结
第8章 单元测试
第8章 练一练经典提高题 程序填空题
第9章 以人为本:用类与对象诠释现实世界
9.1类和对象的定义(上)
9.1类和对象的定义(下)
9.2 构造函数和析构函数(上)
9.2 构造函数和析构函数(下)
9.3 复制构造函数
9.4 静态成员
9.5 对象指针与数组
9.6 类组合
9.7 友元
9.8 运算符重载(上)
9.8 运算符重载(中)
9.8 运算符重载(下)
9.9 类和对象的应用
9.10 面向对象简单图形化编程实战
本章编程题参考答案
第9章 单元测试
第九章 编程题
第九章 练一练--经典基础题-钟类专题--不计入总分---
第10章 从生物遗传说起,取其精华——继承与多态
10.1 继承
10.2 派生(上)
10.2 派生(下)
10.3 同名覆盖vs 类型兼容
10.4 虚函数与多态
10.5 函数模板
10.6 类模版
本章编程题参考答案
第10章单元测试
第十章 OJ编程题
第11章 计算机等级考试二级C++
11.1二级c++考试内容及环境介绍
11.2 选择题答题方法及案例解析
11.3 基本操作题答题方法及案例解析
11.4 简单应用题答题方法及案例解析
11.5 综合应用题答题方法及案例解析
11.6 专题举例----运算符重载选择题
11.7 专题举例----运算符重载基本操作题
11.8 专题举例----运算符重载简单应用题
11.9 专题举例----运算符重载综合应用题
本章编程题参考答案
计算机二级等级考试C++考试大纲
C++课程项目要求和展示
1、课程项目要求
2、项目题目目录
3、三类项目题目说明
4、源代码一些规范要求说明
5、项目报告要求
6、学生作品展示----21点游戏
7、学生作品展示-----五子棋游戏
8、学生作品展示-----ATM柜台机模拟程序
9、学生作品展示-----学生信息管理系统
10、学生作品展示-----贪吃蛇游戏
11、学生作品展示-----2048 游戏
12、学生作品展示-----弹弹球游戏
13、学生作品展示----数据分析算法
14、学生作品展示----推箱子游戏
15、学生作品展示-----通讯录管理系统
16、学生作品展示-----网络爬虫软件系统
17、学生作品展示-----图书管理系统
18、学生作品展示-----迷宫游戏
19、学生作品展示-----职工管理系统
20、学生作品展示-----飞船票管理系统
21、学生作品展示-----扫雷游戏
22、学生作品展示-----俄罗斯方块游戏
23、学生作品展示-----卡牌-跑得快游戏
24、学生作品展示-----景区管理系统
25、学生作品展示-----数独游戏
1. 第3次开课-学生作品展示----学生信息管理系统
2. 第3次开课-学生作品展示----贪吃蛇
3. 第3次开课-学生作品展示----矩阵分析和运算
4. 第3次开课-学生作品展示----五子棋游戏
5. 第3次开课-学生作品展示----21点游戏
6. 第3次开课-学生作品展示---- 销售管理系统
7. 第3次开课-学生作品展示---- 通讯录管理系统
8. 第3次开课-学生作品展示---- 字符串运算
9. 第3次开课-学生作品展示---- 图书管理系统
10. 第3次开课-学生作品展示---- ATM模拟程序
11. 第3次开课-学生作品展示---- 推箱子游戏
12. 第3次开课-学生作品展示---- 万年历
1. 第五次开课-- 学生作品展-扫雷游戏
2.第五次开课--学生作品展-超市商品管理系统
3.第五次开课-学生作品展-飞翔的小鸟
4.第五次开课-学生作品展-学生成绩管理
5.第五次开课-学生作品展-ATM机
6.第五次开课-学生作品展-塔防游戏
7.第五次开课-学生作品展-五子棋游戏
8.第五次开课-学生作品展-通讯录
9.第五次开课-学生作品展-租户管理
10.第五次开课-学生作品展示-迷宫
11. 第五次开课-学生作品展-贪吃蛇
12.第五次开课-学生作品展-2048游戏
13.第五次开课-学生作品展-俄罗斯方块
14. 第五次开课-学生作品展-坦克游戏
15. 第五次开课-学生作品展-数学问题
本课程可以零基础学习,大学计算机基础或计算机导论等课程中的数制转换等内容有助于理解本课程的部分内容,但不是必须的。
1、程序设计基础(C++),电子工业出版社,李赤松等编;
2、程序设计基础学习指导书(C++),电子工业出版社,黄庆凤等编。