C++程序设计教学材料-2011级

简介: 本课2014级的方案更完整,且有完整讲课视频,请有需求的人士,移步到---->2014C++请看续集:C++程序设计教学材料-2012级计114-34班学生,他们的博客地址:请【点击进入....】。教师:贺利坚 CSDN博客首页 新浪博客网络习题课——贺老师的视频教程,补齐课堂上落下的课,解除做题中的困扰。【课程总结】  我的总结,见《这一年,与84个写代码的菜鸟

本课2014级的方案更完整,且有完整讲课视频,请有需求的人士,移步到---->2014C++



请看续集:C++程序设计教学材料-2012级

计114-34班学生,他们的博客地址:请点击进入....

教师:贺利坚 CSDN博客首页 新浪博客

网络习题课——贺老师的视频教程,补齐课堂上落下的课,解除做题中的困扰。


【课程总结】

  我的总结,见《这一年,与84个写代码的菜鸟相伴而行

  大一菜鸟学习c++后的精彩总结,见《C++课上的作文题

  学生如何看待我们共同的经历,如何看待学习中的相关问题,见《C++课程教学改革问卷调查报告

  刚出炉的统计数据,大一学生发表技术博文能到何种程度?见《我的学生在CSDN上发表博文情况统计


【第2学期材料】

  课程讲义
  
第3篇 基于对象的程序设计

   第8章 类和对象     PPT     讲课视频:1234     
     实验1:任务内容  任务详解:任务2-改造坏程序   任务3-扩充Time类  任务4-设计立方柱类
     实验2:任务内容  任务详解:任务1-三角形类  任务2-一个项目,多个文件  任务3-正整数类 任务4-设计工资类(Salary)

   第9章 关于类和对象的进一步讨论     PPT 讲课视频:1234-5-6   (5、6遭遇死机……我溜)
     实验1:任务内容  任务详解:任务1-三角形类 任务2-分数类 任务3- 5个长方柱 任务4- 5个学生
     实验2:任务内容  任务详解:任务1-使用常对象的一个典型错误   任务2-程序填空   任务3-设计平面坐标点类 
                  任务4-用点类作成员的三角形类    任务5-多文件组织三角形类
      贺老师原创案例讲解:”玻璃罩const”系列的三篇文章:

       1. 使用常对象——为共用数据加装一个名为const的玻璃罩

       2. 常(const)+ 对象 + 指针:玻璃罩到底保护哪一个

       3. 对象更有用的玻璃罩——常引用

     实验3:任务内容  任务详解:任务1-静态数据成员和静态成员函数 任务2-使用成员函数、友元函数和一般函数 任务3-复数模板类

   第10章 运算符重载   PPT  讲课视频:123

     实验1:任务内容  任务详解:任务1-复数类中运算符重载-方案1-成员函数实现方案2-非成员函数实现方案3-与实数运算

                  任务2-实现Time类中的运算符重载任务3-实现分数类中的运算符重载 任务4-实现分数类中的运算符重载(分数与整数运算)

     实验2:任务内容  任务详解:任务1-Complex类中运算符的重载    任务2-Time类中运算符重载    任务3-分数类中运算符重载
                  任务4-二维数组类  任务5- 一元一次方程类

     补充内容:软件开发与编程语言(对于有了一定编程基础的同学,选择进一步学习的语言是一个问题。程序员除了学语言编程序还能做些什么?做开发和语言有什么关系?本讲座试图解答这些问题。

     期中测验:C++程序设计 阶段测验 类-对象-运算符重载


  第4篇 面向对象的程序设计

   第11章 继承与派生   PPT  讲课视频:1234 

     实验1:任务内容  任务详解:任务0-构造和析构函数的执行过程实例解析  任务1-程序填空:直线类继承点类  任务2-CEmployee类继承CPerson类
                  任务3-由点到圆再到圆柱体
               专题:C++防灾——为指针成员分配专门的存储空间

     实验2:任务内容  任务详解:任务2-双肩挑干部  任务3-做个摩托车开一开  任务4-点类与圆类

   第12章 多态性与虚函数   PPT  讲课视频:1-2 
      实验:任务内容  任务详解:任务1-抽象类-用车辆类去体会  任务2-动物怎么叫?——好玩中理解抽象类
                  任务3-抽象基类Shape及派生类Circle、Rectangle和Triangle 任务4-抽象类CSolid及派生类CCube、CBall、CCylinder 
     阅读:关于多态的理解

   综合实验1:数组类、链表类及c++标准类

     任务内容 任务详解 任务1-数组类的构造  任务2-链表类

   拓展实验1:

     指导:C++“窗口”程序设计启蒙 C++“窗口”程序设计启蒙(之二)

     任务内容 任务详解(略)


   第13章 输入输出流   PPT  讲课视频:1-2- 3- 4

      实验1:任务内容  任务详解:任务1-涨工资了  任务2-学生成绩排序   任务3-电子词典  任务4-文档的自动处理


   第14章 C++工具  PPT  讲课视频:1 2 实验:1  2

  

【第1学期材料】

  课程讲义
  第1章   ch1 C++的初步知识【大】 ch1 C++的初步知识【小】  同步项目——前言 同步项目——简单程序设计 
  第2章   ch2 数据类型和表达式 
  第3章   ch3 程序设计初步   同步项目:选择结构(1)  (2) 同步项目:循环结构(1)  (2)
  第4章   ch4 函数
  第5章   ch5 数组 
  第6章   ch6 指针
  第7章   ch7 自定义类型     同步项目:全部任务 

  实验指导
  第1次 第5周实验指导      
  第2次 第6周实验指导 好作品:宋本一   
  第3次 第8周实验指导 好作品:程龙   烽火戏嫦娥    
  第4次 第9周实验指导 好报告:张宗佳    
  第5次 第10周实验指导 好解法:刘文英    
  第6次 第11周实验指导 教师总结:任务1-累加 任务2-英尺转米制    
  第7次 第12周实验指导 教师总结:任务1-完数 任务1-练习回文日任务2-大奖赛计分 任务3-存款利息   
  第8次 第13周实验指导 教师总结:任务1-函数求分段函数 任务2-太乐了 任务3-三角函数表    
  第9次 第14周实验指导 教师总结:任务1-递归 任务2-小组成绩     
  第10次 第15周实验指导 教师总结:任务1-冒泡 任务2-字符数组 任务3-操作文件    
  第11次 第16周实验指导 教师总结:任务1-冒泡指针版 任务2-奇因子  
  第12次 第17周实验指导 教师总结:任务1-结构体数组 任务2-动态链表 成长记录   
  第13次 第18周实验指导 教师总结:任务1-指向字符的指针 任务2-二维数组 成长记录    
   

  实验参考

  1. C++课程上机实验常见错误汇集 2.C++常见错误小集  3.C++名词解释及常见错误
  4. C++常用库函数   5. VC调试功能初步  6.VC++窗口程序设计启蒙

  观点交流

  1. 说下我对C语言的一些看法 ——烟大CSDN俱乐部前主席的看法

  2. 奖学金感想——站在十字路口的选择 ——大一,大二……

  3.关于《学编程,还有必要上大学吗? 》

  4. 如何成为一个编程高手

  

  资源

  1. 微软公司VC++开发中心,提供了大量适合初学者的资源,以及VC++开发的指南

  2. MSDN上的 Visual C++ 指导教程,按案例指导,掌握VC++项目开发(MSDN 库为使用 Microsoft® 工具、产品、技术和服务的开发人员提供必不可少的信息资源。)

  3. CSDN, 全球最大中文IT社区,能找到大量的高手和有价值的资料

  4. POJ 是“北京大学程序在线评测系统”(Peking University Online Judge)的缩写,是个提供编程题目的网站,兼容Pascal、C、C++、Java、Fortran、Python等多种语言。有大量的练习机会。

  5. 刘未鹏|C++的罗浮宫

  6. The Archive of Interesting Code 不少好代码

  7. learn-with-open-source 非常好的一个文档。禄学编程者可以看其中学习建议,编程有基础想更深入的追随进入开源世界,那可是一个宝库。

目录
相关文章
|
8月前
|
存储 算法 C++
【C++数据结构——查找】二分查找(头歌实践教学平台习题)【合集】
二分查找的基本思想是:每次比较中间元素与目标元素的大小,如果中间元素等于目标元素,则查找成功;顺序表是线性表的一种存储方式,它用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的元素在物理存储位置上也相邻。第1次比较:查找范围R[0...10],比较元素R[5]:25。第1次比较:查找范围R[0...10],比较元素R[5]:25。第2次比较:查找范围R[0..4],比较元素R[2]:10。第3次比较:查找范围R[3...4],比较元素R[3]:15。,其中是顺序表中元素的个数。
287 68
【C++数据结构——查找】二分查找(头歌实践教学平台习题)【合集】
|
8月前
|
存储 C语言 C++
【C++数据结构——栈与队列】顺序栈的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现顺序栈的基本运算。开始你的任务吧,祝你成功!​ 相关知识 初始化栈 销毁栈 判断栈是否为空 进栈 出栈 取栈顶元素 1.初始化栈 概念:初始化栈是为栈的使用做准备,包括分配内存空间(如果是动态分配)和设置栈的初始状态。栈有顺序栈和链式栈两种常见形式。对于顺序栈,通常需要定义一个数组来存储栈元素,并设置一个变量来记录栈顶位置;对于链式栈,需要定义节点结构,包含数据域和指针域,同时初始化栈顶指针。 示例(顺序栈): 以下是一个简单的顺序栈初始化示例,假设用C语言实现,栈中存储
331 77
|
8月前
|
存储 C++
【C++数据结构——树】哈夫曼树(头歌实践教学平台习题) 【合集】
【数据结构——树】哈夫曼树(头歌实践教学平台习题)【合集】目录 任务描述 相关知识 测试说明 我的通关代码: 测试结果:任务描述 本关任务:编写一个程序构建哈夫曼树和生成哈夫曼编码。 相关知识 为了完成本关任务,你需要掌握: 1.如何构建哈夫曼树, 2.如何生成哈夫曼编码。 测试说明 平台会对你编写的代码进行测试: 测试输入: 1192677541518462450242195190181174157138124123 (用户分别输入所列单词的频度) 预
187 14
【C++数据结构——树】哈夫曼树(头歌实践教学平台习题) 【合集】
|
8月前
|
存储 C++ 索引
【C++数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】
【数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】初始化队列、销毁队列、判断队列是否为空、进队列、出队列等。本关任务:编写一个程序实现环形队列的基本运算。(6)出队列序列:yzopq2*(5)依次进队列元素:opq2*(6)出队列序列:bcdef。(2)依次进队列元素:abc。(5)依次进队列元素:def。(2)依次进队列元素:xyz。开始你的任务吧,祝你成功!(4)出队一个元素a。(4)出队一个元素x。
236 13
【C++数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】
|
8月前
|
算法 C++
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】 目录 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现二叉排序树的基本算法。 相关知识 为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下: (1)由关键字序列(4,9,0,1,8,6,3,5,2,7)创建一棵二叉排序树bt并以括号表示法输出。 (2)判断bt是否为一棵二叉排序树。 (3)采用递归方法查找关键字为6的结点,并输出其查找路径。 (4)分别删除bt中关键
204 11
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
|
8月前
|
C++ 芯片
【C++面向对象——类与对象】Computer类(头歌实践教学平台习题)【合集】
声明一个简单的Computer类,含有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,以及两个公有成员函数run、stop。只能在类的内部访问。这是一种数据隐藏的机制,用于保护类的数据不被外部随意修改。根据提示,在右侧编辑器补充代码,平台会对你编写的代码进行测试。成员可以在派生类(继承该类的子类)中访问。成员,在类的外部不能直接访问。可以在类的外部直接访问。为了完成本关任务,你需要掌握。
164 19
|
8月前
|
存储 人工智能 算法
【C++数据结构——图】最短路径(头歌教学实验平台习题) 【合集】
任务描述 本关任务:编写一个程序,利用Dijkstra算法,实现带权有向图的最短路径。 相关知识 为了完成本关任务,你需要掌握:Dijkst本关任务:编写一个程序,利用Dijkstra算法,实现带权有向图的最短路径。为了完成本关任务,你需要掌握:Dijkstra算法。带权有向图:该图对应的二维数组如下所示:Dijkstra算法:Dijkstra算法是指给定一个带权有向图G与源点v,求从v到G中其他顶点的最短路径。Dijkstra算法的具体步骤如下:(1)初始时,S只包含源点,即S={v},v的距离为0。
118 15
|
8月前
|
存储 编译器 数据安全/隐私保护
【C++面向对象——类与对象】CPU类(头歌实践教学平台习题)【合集】
声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,以及两个公有成员函数run、stop。根据提示,在右侧编辑器补充代码,平台会对你编写的代码进行测试。​ 相关知识 类的声明和使用。 类的声明和对象的声明。 构造函数和析构函数的执行。 一、类的声明和使用 1.类的声明基础 在C++中,类是创建对象的蓝图。类的声明定义了类的成员,包括数据成员(变量)和成员函数(方法)。一个简单的类声明示例如下: classMyClass{ public: int
202 13
|
8月前
|
Java C++
【C++数据结构——树】二叉树的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现二叉树的基本运算。​ 相关知识 创建二叉树 销毁二叉树 查找结点 求二叉树的高度 输出二叉树 //二叉树节点结构体定义 structTreeNode{ intval; TreeNode*left; TreeNode*right; TreeNode(intx):val(x),left(NULL),right(NULL){} }; 创建二叉树 //创建二叉树函数(简单示例,手动构建) TreeNode*create
178 12
|
8月前
|
C++
【C++数据结构——树】二叉树的性质(头歌实践教学平台习题)【合集】
本文档介绍了如何根据二叉树的括号表示串创建二叉树,并计算其结点个数、叶子结点个数、某结点的层次和二叉树的宽度。主要内容包括: 1. **定义二叉树节点结构体**:定义了包含节点值、左子节点指针和右子节点指针的结构体。 2. **实现构建二叉树的函数**:通过解析括号表示串,递归地构建二叉树的各个节点及其子树。 3. **使用示例**:展示了如何调用 `buildTree` 函数构建二叉树并进行简单验证。 4. **计算二叉树属性**: - 计算二叉树节点个数。 - 计算二叉树叶子节点个数。 - 计算某节点的层次。 - 计算二叉树的宽度。 最后,提供了测试说明及通关代
160 10