课程

中国大学MOOC,为你提供一流的大学教育

认证学习
为你提供认证成绩和证书,以及AI高效学习服务
查看详情
大学

国家精品

认证学习

智慧课程

理学工学农学

计算机

经济管理

外语

音乐与艺术

心理学

文史哲法

医学与保健

教育教学

大学生竞赛

软件实训

人工智能

升学/择业

考研

期末突击

专升本

四六级

保研及论文

求职就业

专四专八

大学应试英语

大学生涯规划

期末资料

终身学习

名师专栏

兴趣技能

hi,小mooc
27考研全科新手规划
期末考试会员
SPOC学校专有课程
2025春C++语言程序设计B
第1次开课
开课时间: 2025年03月03日 ~ 2025年06月27日
学时安排: 3
当前开课已结束 已有 216 人参加
老师已关闭该学期,无法查看
spContent=本课程是C++语言程序设计课程的线上SPOC课程,依托MOOC《C语言程序设计精髓》,并共享该MOOC的课程资源,主要目的是实现课程大作业在线互评,同时可共享MOOC课程资源。因此,你可以只关注大作业的发布、提交和互评。当然你也可以利用该MOOC课程资源提升自己的学习成效。C++的基础是C语言,C++向下兼容了C语言,但也扩展了自己独特的面向对象的语言特性。因此C++课程内容有一部分与C语言是重叠的,这部分内容可以利用依托的MOOC课程内容进行学习。具体是哪些内容呢,理论上讲C语言的内容C++都是支持的,但有些内容例如输入输出C++进行了升级,采用了更容易学习和高效编程的方式,类似这样的内容我们的课程以C++为主。总体来说,除了输入输出部分,其它部分,只要C++课程大纲中有要求,而且能在本课程中找到对应的视频资源,你就可以学习了。如果遇到与C++课程内容不同的地方,请以C++线下课堂教学内容为准。
本课程是C++语言程序设计课程的线上SPOC课程,依托MOOC《C语言程序设计精髓》,并共享该MOOC的课程资源,主要目的是实现课程大作业在线互评,同时可共享MOOC课程资源。因此,你可以只关注大作业的发布、提交和互评。当然你也可以利用该MOOC课程资源提升自己的学习成效。C++的基础是C语言,C++向下兼容了C语言,但也扩展了自己独特的面向对象的语言特性。因此C++课程内容有一部分与C语言是重叠的,这部分内容可以利用依托的MOOC课程内容进行学习。具体是哪些内容呢,理论上讲C语言的内容C++都是支持的,但有些内容例如输入输出C++进行了升级,采用了更容易学习和高效编程的方式,类似这样的内容我们的课程以C++为主。总体来说,除了输入输出部分,其它部分,只要C++课程大纲中有要求,而且能在本课程中找到对应的视频资源,你就可以学习了。如果遇到与C++课程内容不同的地方,请以C++线下课堂教学内容为准。
—— 课程团队
课程概述

C++的基础是C语言,C++向下兼容了C语言,但也扩展了自己独特的面向对象的语言特性。因此C++课程内容有一部分也C语言是重叠的,这部分内容可以利用依托的MOOC课程内容进行自学。

以下是该MOOC课程的内容简介,与C++课程大纲重叠的部分,是我们关注的重点,其它部分不做要求。

   自2021年秋季学期起,该课程加入教育部-华为“智能基座”精品慕课建设项目,将C语言与华为资源有机结合起来,包括鲲鹏平台软件开发、华为编程实践与编程规范等。具体所在的章节如下:

1.1.2 计算的未来和未来的计算(9分半)

1.1.3 编译型语言与解释型语言及其运行差异(7分)

1.1.4 现代主流计算机指令(8分)

1.2.3 鲲鹏平台介绍——如何在华为云上申请弹性云服务器(6分)

1.2.4 鲲鹏平台介绍——远程登陆(3分半)

1.2.5 鲲鹏平台介绍——linux指令(4分)

1.2.6 鲲鹏平台介绍——运行Hello World(5分)

1.6 进阶:华为编程实践与编码规范

1.6.1 编程实践—数据类型(4分)

1.6.2 编程实践—常量(4分)

1.6.3 编程实践—变量(10分)

1.6.4 编程实践—声明与初始化(1分)


2.6 进阶:华为编程实践与编码规范

2.6.1 编程实践—表达式(4分)

2.6.2 代码风格—整数(16分)


5.7 进阶:华为编程实践与编码规范

5.7.1 编程实践—控制语句(8分半)


6.1.3 鲲鹏平台ARM处理器的函数优化(8分)

6.5 进阶:华为编程实践与编码规范

6.5.1 代码风格—命名(6分半)

6.5.2 代码风格—注释(6分)

6.5.3 代码风格—格式(17分)

6.5.4 编程实践—预处理(19分)

6.5.5 编程实践—头文件(9分半)


11.5 进阶:华为编程实践与代码风格

11.5.1 代码风格—指针和数组(10分半)

11.5.2 代码风格—字符串(5分)

11.5.3 代码风格—断言(6分)

11.5.4 代码风格—函数设计(17分)

11.5.5 代码风格—函数使用(19分)


13.4 鲲鹏多核体系与弱内存模型(17分)


15.7 进阶:华为编程实践与编码规范

15.7.1 编程规范—内存(6分)

15.7.2 编程规范—文件(3分半)

15.7.3 编程规范—其它(4分)

显示全部
成绩 要求

详见C++课堂说明。此SPOC上只有互评大作业是计分项目。

课程大纲

学习本课前你必须知道的那些事儿

开篇

授课视频内容进度概览

本课程使用的教材和软件开发环境

向老师提问、做编程作业的注意事项

小白遇到的安装使用问题尽在其中

第1周——初识C语言从认识变量和常量开始

1.1 计算机基础(49分钟)

1.2 C 语言集成开发环境简介(39分钟)

1.3 如何定义一个变量(10分钟)

1.4 变量的表数范围和存储形式(30分钟)

1.5 宏常量与const常量(13分钟)

1.6 进阶:华为编程实践与编码规范(19分)

本周课件、知识点小结和常见错误小结

先修知识(有基础者越过)——二进制和内存(11分半)

第1周测验

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第2周——数字间的那些事儿,做点计算哈

2.1 算术运算(20分钟)

2.2 赋值运算(15分钟)

2.3 增1和减1运算(17分钟)

2.4 自动类型转换(5分钟)

2.5 强制类型转换(7分半)

2.6 进阶:华为编程实践与编码规范(20分)

本周课件、知识点小结和常见错误小结

第2周测验

练兵区——编程题——不计入总分

练兵区——单选题——不计入总分

第3周——从键盘中来,到键盘中去,开始输入和输出啦

3.1 数据的格式化屏幕输出(15分钟)

3.2 数据的格式化键盘输入(18分钟)

3.3 单个字符的输入输出(15分半)

3.4 进阶:用getchar()输入数据存在的问题(含错误案例分析)(10分)

3.5 进阶:用%c输入数据存在的问题(含错误案例分析)(10分)

本周课件、知识点小结和常见错误小结

第3周编程题在线测试

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第3周测验

第4周——无处不在的抉择

4.1 关系运算符和逻辑运算符(23分钟)

4.2 条件语句(14分钟)

4.3 开关语句——条条道路通罗马(28分钟)

4.4 进阶:数值溢出和精度损失问题(34分半)

4.5 进阶:软件测试与错误实例分析(20分半)

本周课件、知识点小结和常见错误小结

选学——用raptor绘制选择结构的流程图(27分钟)

第4周测验

第4周编程题在线测试

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第5周——周而复始的循环之道

5.1 计数控制的循环(31分钟)

5.2 递推(33分钟)

5.3 条件控制的循环(32分钟)

5.4 嵌套循环(17分钟)

5.5 穷举(39分钟)

5.6 进阶:软件调试与错误实例分析(27分钟)

5.7 进阶:华为编程实践与编码规范(8分半)

本周课件、知识点小结和常见错误小结

选学——用raptor绘制循环结构的流程图(25分钟)

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第5周测验

第5周编程题在线测试

第6周——函数:分工与合作的艺术

6.1 函数定义、调用、参数传递和函数原型(43分)

6.2 函数封装与程序的健壮性(23分钟)

6.3 进阶:断言与防御式编程(14分钟)

6.4 进阶:代码风格(22分钟)

6.5 进阶:华为编程实践与编码规范(58分)

选学——结构化与模块化程序设计方法(41分)

本周课件、知识点小结和常见错误小结

第6周测验

第6周编程题在线测试

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第7周——《盗梦空间》的逻辑:探寻递归的奥秘

7.1 从嵌套调用到递归调用(20分钟)

7.2 递归是如何执行的(16分钟)

7.3 进阶:尾递归是什么鬼?(14分半)

7.4 变量的作用域(22分半)

7.5 进阶:变量的生存期(33分半)

本周课件、知识点小结和常见错误小结

选学——分治和迭代(33分半)

7.6 进阶: 多文件结构(7分半)

第7周测验

第7周编程题在线测试

练兵区——编程题——不计入总分

练兵区——单选题——不计入总分

第8周—— 一堆数据来了,你准备好了吗

本周内容导读

8.1 数组的定义和初始化(43分)

8.2 向函数传递一组相同类型的数据(19分)

8.3 查找算法——众里寻他千百度(37分半)

8.4 排序算法——让世界变得更有序(17分半)

本周课件、知识点小结和常见错误小结

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第8周编程题在线测试

第8周测验

第9周——指针:C语言世界中所向披靡的“金箍棒”

本周内容导读

9.1 指针变量的定义、初始化及其解引用(19分)

9.2 指针变量作函数参数(36分半)

9.3 进阶:函数指针及其应用(27分)

9.4 进阶:数组的趣味应用(50分)

本周课件、知识点小结和常见错误小结

第9周编程题在线测试

第9周测验

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第10周——字符串:C语言世界中的大力水手

本周内容导读

10.1 字符串的存储与表示(28分)

10.2 字符串处理操作(15分)

10.3 向函数传递和从函数返回字符串(26分)

10.4 进阶:缓冲区溢出与错误案例分析(51分半)

本周课件、知识点小结和常见错误小结

第10周测验

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第10周编程题在线测试

第11周——指针的孪生兄弟

本周内容导读

11.1 指针的运算(8分)

11.2 指针和一维数组间的关系(14分)

11.3 指针和二维数组间的关系(18分)

11.4 进阶:指针数组及其应用(22分)

11.5 进阶:华为编码实践与代码风格(57分半)

本周课件、知识点小结和常见错误小结

第11周测验

第11周编程题在线测试

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第12周——海陆空齐上阵:又来了一堆数据

本周内容导读

12.1 结构体类型(13分)

12.2 结构体与数组的嵌套(7分)

12.3 结构体的相关计算和操作(19分)

12.4 向函数传递一堆不同类型的数据(28分半)

12.5 枚举类型和共用体类型有什么用(25分)

12.6 进阶:典型应用实例——洗发牌模拟(20分)

本周课件、知识点小结和常见错误小结

练兵区——编程题——不计入总分

第12周测验

第12周编程题在线测试

练兵区——单选题——不计入总分

第13周——原来内存也可以这么玩,我是指针我怕谁

本周内容导读

13.1 何为动态内存分配(26分)

13.2 动态数组

13.3 进阶:常见的内存错误及其解决对策(52分半)

13.4 鲲鹏处理器Memory Models机制(17分)

本周课件、知识点小结和常见错误小结

第13周测验

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第14周——结构设计的艺术

本周内容导读

14.1 数据的链式存储——单向链表

14.2 进阶内容:其他数据结构简介(21分)

本周课件

学习体会

第14周测验

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第15周——学会保存你的数据

本周内容导读

15.1 二进制文件与文本文件(14分)

15.2 文件的打开和关闭(8分)

15.3 格式化数据的文件读写(5分)

15.4 字符和字符串的文件读写(39分)

15.5 内存数据块的文件读写(7分)

15.6 随机读写与文件缓冲(6分半)

15.7进阶:华为编码实践与编码规范(13分半)

本周课件、知识点小结和常见错误小结

扩展内容——诗与迷宫

练兵区——单选题——不计入总分

练兵区——编程题——不计入总分

第15周测验

扩展内容:华为Devkit开发套件的使用

华为云账号申请与删除

putty及gbd cmake安装

DevKit插件使用

Devkit课件

展开全部
源课程

该SPOC课程部分内容来自以上源课程,在源基础上老师进一步增加了新的课程内容

哈尔滨工业大学
2 位授课老师
郭勇

郭勇

博士

黄剑华

黄剑华

教授

下载
下载

下载App