大学慕课:程序设计基础(C&C++)大学慕课

从理论到实践,从分析问题,寻找解题思路,到编程、调试、运行,都借助于实际案例进行展示。特别是初期的编译错误,后期的运行错误,通过视频一步步的演示学会编程方法与调试技术。

——课程团队

课程概述

本课程是程序设计C语言和C++语言的入门课程。兼顾基础理论和编程实践。基础理论浅显易懂,编程案例趣味性强。视频使用当下流行的集成开发环境visualstudio2015(vs2008-VS2019各版本皆适用)进行编程与调试工具。从分析问题,寻找解题思路,到编程、调试、运行,都借助于实际案例进行展示。特别是初期的编译错误的定位与解决策略,后面的运行错误借助调试工具进行查错、纠错等,通过一系列事例一一展开,很容易通过视频一步步的演示学会编程方法与调试技术。而调试技术的掌握是初学者的难点之一。完整的编程过程解决了初学者看教材明白,上机却无从下手的问题。

不少同学学习C语言的难点在指针与函数。而随后的随处可见的C++的成员函数很自然的就解除函数方面的困惑。指针的难点在于和数组、函数等结合下的变化多端,加上指针使用非常容易出错,这种结合下的错误更多且难以解决。本课程先进行理论讲解,通过指针对内存的实际操作情况进行演示与分析,然后通过由浅入深的编程例题和作业逐渐掌握指针。

学习C语言后,再学习C++,存在面向过程思想向面向对象思想转变的困难,造成学完C++还不能理解C++特点,也不能正确使用C++进行程序设计。本课程通过用C++语言改写前面C语言案例,对比理解二者的区别,体会C++的优势。然后用一个简单的图形界面游戏逐渐扩展功能,使其具有可玩性,功能的增加,使得C语言完成难度增加,而C++的类、继承、派生等面向对象技术却轻松实现这个游戏。通过编程实战掌握C++语言的优势,通过实际案例掌握面向对象思想,解决学而不知何用的困惑。

授课目标

本课程将使学生掌握程序设计基本思想,掌握自顶向下设计和面向对象开发技术,能够熟练应用C和C++语言进行程序设计。了解计算机及其技术基础,具有良好的程序开发组织管理、协作能力;掌握计算机科学基本思维与基本方法;初步具备应用计算机进行软件开发的能力。

课程大纲

第一章绪论本章主要介绍C/C++语言的发展与特点,C/C++语言的基本程序结构,语法单位,以及C/C++语言程序的开发过程等,为以后各章的学习奠定全面基础。

1.前言:介绍本课程主要内容及章节安排;教材和参考书籍;成绩构成比例。

2.软件与程序:介绍软件与程序的关系;C语言发展历史;C语言能够解决的问题类型。

3.软件开发环境与编程实战

4.程序设计学习方法介绍

第一章绪论编程作业

第二章数据类型与表达式:本章主要介绍C程序设计的基础知识,内容包括基本数据类型、常量、变量、基本运算、类型转换及运算的优先级与结合性等

1.引言

2.C语言的符号

3.数据类型

4.常量与变量

5.基本运算

6.优先级与结合性

7-输入与输出

8-编程实战

9-小结

第二章数据类型与表达式编程作业

第三章控制语句本章主要讲述程序的三种基本结构:顺序结构、分支结构和循环结构。

2.顺序结构

3.选择结构

4.循环结构

5.breakContinue

6.编程实战

第三章控制语句编程作业

第四章数组与结构本章介绍一维和多维数组的定义,使用,特点与注意事项;介绍了如何定义新的构造数据类型-结构。

1.数组

2.结构

3.编程实战

第四章数组与结构编程作业

第五章指针本章主要介绍指针概念、定义、运算及应用。指针类型是C语言提供的一种特殊的数据类型。

1.指针基础

2.指针与数组

3.指针与结构

4.二重指针

5.字符指针

6.动态内存

7-编程实战

第五章指针编程作业

第六章函数本章主要讲述C语言的自定义函数,内容包括:函数定义,函数调用,函数参数,函数与数组,函数与指针,递归函数,命令行参数等。

1.认识函数

2.函数参数

3.函数与数组

4.函数指针

5.函数与结构

6.递归函数

7.作用域与存储类型

8.模块化设计

9.编程实战

10-命令行参数

11-游戏初步

第六章函数编程作业

第七章C++基础

1-引子

2-初窥输入输出

3-数据类型与表达式

4-动态内存管理

5-函数重载

6-内联函数

7-常量

8-引用

9-编程实战

9-编程实战2-带位置的猜数游戏

10-小结

第七章作业

第八章类与对象基本概念

1-抽象与封装

2-初始化与结束处理(构造函数与析构函数)

3-指针,参数,静态,常,友元与组合等概念

第八章类与对象编程实战与实验

编程实战

实验(作业)引导-游戏入门

第八章作业

第九章第一部分继承与派生

引言

1-派生类的引入与特性

2-单继承

3-多继承

4-编程实战

5-精灵游戏

6-小结

ppt

第九章第二部分多态性

1-运算符重载

2-虚函数

3-纯虚函数与抽象类

第九章作业

第十章模板,命名空间与异常处理

1-模板

2-命名空间

3-异常处理

预备知识

计算机的数据存储方式及进制转换

证书要求

为积极响应国家低碳环保政策,2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

认证证书申请注意事项:

2.完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。

参考资料

《C与C++程序设计语言》

戴波陈文宇丘志杰卢光辉

北京大学出版社,2019.5

注:有同学咨询教材哪里可以买,查询到京东有售

本教材2018年1月出版,2019年5月修订后重印,欢迎购买新版教材。也请同学们能够及时反馈教材的问题和不足,共同将教材建设的更好!

THE END
1.C++游戏大全2{public:intscore;//游戏分数int_id;//图形编号inttop;//最高点高度intspeed;//下落速度Game();voidshowMenu();//显示菜单voidshowGround();//显示游戏界面voidgameOver();//游戏结束界面voidRun();//运行游戏voidsharpDraw(intid,bool show=false);//绘制图形voidkeyControl();//键盘控制boolmove(intdirhttps://blog.csdn.net/hydol/article/details/144398485
2.C++游戏与小程序开发:跨平台与智能化体验整合项目背景:开发一款支持 Windows、macOS 和移动平台的3D动作游戏,要求高帧率和复杂的物理效果。 解决方案: 选择引擎:采用Unreal Engine,其基于 C++,支持多平台开发。 跨平台框架:利用Qt进行跨平台界面开发,统一用户体验。 性能优化:针对各平台进行性能调优,利用 C++ 的内存管理优化渲染和物理计算。 https://www.8kiz.cn/archives/25116.html
3.C++高性能游戏引擎开发:从底层架构到渲染优化的核心技术详解C++高性能游戏引擎开发:从底层架构到渲染优化的核心技术详解 C++ High-Performance Game Engine Development: Core Technology Details from Low-Level Architecture to Rendering Optimizationhttps://www.jianshu.com/p/afea3bc2125e
4.UnrealEngine4游戏开发入门经典虚幻引擎4是被许多专业游戏开发者和独立游戏开发者使用的一个强大的游戏引擎。当你首次使用像虚幻引擎这样的工具时,弄清楚该从哪里开始可能是一项艰巨的任务。本书为你提供了一个起点,介绍虚幻引擎4的界面、工作流以及许多编辑器和工具。本书将帮助你建立一个强大的基础,并且激发你进一步研究虚幻引擎和游戏设计的兴趣https://labs.epubit.com/bookDetails?id=N6999
5.利用c++和easyx图形库做一个低配版扫雷游戏游戏界面 由于这个游戏是我抱着玩一玩的心态做出来的,所以没有过多的去设计界面,也没有去找游戏的资源(图片、游戏音效等)。仅使用了不同颜色的方块来表示游戏中方块的状态和种类。(绿色为初始状态(未翻转的状态),黄色为翻转后的背景颜色,蓝色表示已插旗的方块,红色代表地雷) https://www.xiuzhanwang.com/a1/Cyuyan/1.html
6.C++实现坦克大战小游戏EGE图形界面C语言这篇文章主要为大家详细介绍了C++实现坦克大战小游戏EGE图形界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用! 【如果你想靠AI翻身,你先需要一个靠谱的工具!】 C++ EGE 实现坦克大战小游戏,供大家参考,具体内容如下 https://www.jb51.net/article/181692.htm
7.?《十万字C语言动漫教程》,别用4G看,不然100M流量没了Dev C++ 是一个轻量级的 C/C++ 集成编译环境,正因为是轻量级,所以还是有很多不太好用的地方,不过不用担心,对于教学来说已经足够了。 相比Visual Studio 20XX 来说,安装快了不少,所以我打算用这个工具来进行后续文章的讲解。 可以选择以下任何一个链接进行下载,下载后解压出DevCpp_v6.5.exe即可。 http://zhangshiyu.com/post/23487.html
8.入门:控制台字符界面贪吃蛇小游戏制作!51CTO博客C语言编程入门:控制台字符界面贪吃蛇小游戏制作! 游戏的实现主要是对一个二维数组按一定逻辑进行修改、变换。这里不对编写过程进行赘述,主要说一下最基本功能的逻辑、和一些之前较少用的函数等。 效果图: 一、 基本功能逻辑 1、游戏的背景、打印 定义一个二维字符串,用“”和空格表示边界、蛇身、空白等。打印是用https://blog.51cto.com/u_15103022/2639878
9.c++wpf在游戏开发中的应用问答在游戏开发中,C++和WPF通常是分别用于游戏引擎和游戏界面的开发。 C++通常用于游戏引擎的开发,因为其性能高效、灵活性强,适合处理游戏中的复杂逻辑和大量数据。许多流行的游戏引擎,如Unity和Unreal Engine,都是用C++开发的。 WPF(Windows Presentation Foundation)是.NET平台上的一种GUI框架,通常用于开发游戏的用户界面。https://m.yisu.com/ask/13230033.html
10.腾讯游戏学院专家:手游开发,该如何做好Android内存优化?可能有的同学会问游戏一般都是全屏的,是不需要Navigation Bar或Status Bar的,但其实在游戏中从屏幕边缘向下或者向左右滑动时,仍然是会在游戏界面上显示Navigation Bar或Status Bar的。 其实在SurfaceFlinger到Screen之间,还有一个可选的模块HWC(Hardware Composer),用于最终把内容显示到屏幕上。如果存在HWC,那么https://www.gameres.com/865025.html
11.探索Qt3D之旅:从基础到实战,打造引人入胜的三维界面与应用在现代计算机图形学领域,三维图形与界面的重要性日益凸显。从游戏、动画电影到工程设计、虚拟现实等领域,它们都在发挥着重要的作用。Qt 3D是一款用于开发交互式3D图形应用的库,广泛应用于各种场景。本节将简要介绍三维图形与界面的重要性、Qt 3D的简介与应用场景以及Qt 3D在现代图形应用中的地位与价值。 https://developer.aliyun.com/article/1463734
12.上古卷轴5可自动/手动显示隐藏UI界面iHUD2.02汉化游侠网补丁站提供上古卷轴5 可自动/手动显示隐藏UI界面-iHUD2.02汉化下载,上古卷轴5(Elder Scrolls V)可自动/手动显示隐藏UI界面-iHUD2.02汉化相关游戏MOD尽在游侠网补丁站。https://patch.ali213.net/showpatch/19284.html