本课程是程序设计C语言和C++语言的入门课程。兼顾基础理论和编程实践。基础理论浅显易懂,编程案例趣味性强。视频使用当下流行的集成开发环境visual studio 2015(vs2008-VS2019各版本皆适用)进行编程与调试工具。从分析问题,寻找解题思路,到编程、调试、运行,都借助于实际案例进行展示。特别是初期的编译错误的定位与解决策略,后面的运行错误借助调试工具进行查错、纠错等,通过一系列事例一一展开,很容易通过视频一步步的演示学会编程方法与调试技术。而调试技术的掌握是初学者的难点之一。完整的编程过程解决了初学者看教材明白,上机却无从下手的问题。
不少同学学习C语言的难点在指针与函数。而随后的随处可见的C++的成员函数很自然的就解除函数方面的困惑。指针的难点在于和数组、函数等结合下的变化多端,加上指针使用非常容易出错,这种结合下的错误更多且难以解决。本课程先进行理论讲解,通过指针对内存的实际操作情况进行演示与分析,然后通过由浅入深的编程例题和作业逐渐掌握指针。
学习C语言后,再学习C++,存在面向过程思想向面向对象思想转变的困难,造成学完C++还不能理解C++特点,也不能正确使用C++进行程序设计。本课程通过用C++语言改写前面C语言案例,对比理解二者的区别,体会C++的优势。然后用一个简单的图形界面游戏逐渐扩展功能,使其具有可玩性,功能的增加,使得C语言完成难度增加,而C++的类、继承、派生等面向对象技术却轻松实现这个游戏。通过编程实战掌握C++语言的优势,通过实际案例掌握面向对象思想,解决学而不知何用的困惑。
更新提示: 1. 2018年9月后,上线的视频是全部重新录制,解决了以前视频声音有杂音的问题。2. 解决了教师授课声音问题。3. 根据同学们的反馈,本次所有视频和作业,测验,都一次性发布,供同学们自由选择时间学习。开学初期同学们时间比较充分,可以多学习内容,尽快完成作业,测验和考试。也方便后期才加入课程的同学不能参加作业,测验的问题。4. 首页的评价请参考2018年9月之后的评价,这个是新录制视频的评价,其他评价是以前声音比较差的视频的评价。5. 我们另外提供QQ群进行实时答疑,码图(电子科技大学的在线OJ)辅助同学们进行编程训练。
本课程将使学生掌握程序设计基本思想,掌握自顶向下设计和面向对象开发技术,能够熟练应用C和C++语言进行程序设计。了解计算机及其技术基础,具有良好的程序开发组织管理、协作能力;掌握计算机科学基本思维与基本方法;初步具备应用计算机进行软件开发的能力。
第一章 绪论 本章主要介绍C/C++语言的发展与特点,C/C++语言的基本程序结构,语法单位,以及C/C++语言程序的开发过程等,为以后各章的学习奠定全面基础。
1. 前言:介绍本课程主要内容及章节安排;教材和参考书籍;成绩构成比例。
2. 软件与程序:介绍软件与程序的关系;C语言发展历史;C语言能够解决的问题类型。
3. 软件开发环境与编程实战
4. 程序设计学习方法介绍
5-华为相关技术简介
第一章 绪论 编程作业
第二章 数据类型与表达式:本章主要介绍C程序设计的基础知识,内容包括基本数据类型、常量、变量、基本运算、类型转换及运算的优先级与结合性等
1. 引言
2. C语言的符号
3. 数据类型
4. 常量与变量
5. 基本运算
6. 优先级与结合性
7-输入与输出
8-编程实战
9-小结
10-华为cloudIDE开发编程
第二章 数据类型与表达式 编程作业
第三章 控制语句 本章主要讲述程序的三种基本结构:顺序结构、分支结构和循环结构。
1. 引言
2. 顺序结构
3. 选择结构
4. 循环结构
5. breakContinue
6. 编程实战
7.华为CloudIDE开发编程
8-华为云平台使用与不同架构运行时间对比
补充:如何写测试用例
第三章 控制语句 编程作业
第四章 数组与结构 本章介绍一维和多维数组的定义,使用,特点与注意事项;介绍了如何定义新的构造数据类型-结构。
1. 数组
2. 结构
3. 编程实战
4. 华为CloudIDE开发编程
第四章 数组与结构 编程作业
第五章 指针 本章主要介绍指针概念、定义、运算及应用。指针类型是C语言提供的一种特殊的数据类型。
1. 指针基础
2. 指针与数组
3. 指针与结构
4. 二重指针
5. 字符指针
6. 动态内存
7-编程实战
8-华为cloudIDE编程与调试
第五章 指针 编程作业
第六章 函数 本章主要讲述C语言的自定义函数,内容包括:函数定义,函数调用,函数参数,函数与数组,函数与指针,递归函数,命令行参数等。
1. 认识函数
2. 函数参数
3. 函数与数组
4. 函数指针
5. 函数与结构
6. 递归函数
7. 作用域与存储类型
8. 模块化设计
9. 编程实战
10-命令行参数
11-游戏初步
12-华为CloudIDE开发与编程
第六章 函数 编程作业
第七章 C++基础
1-引子
2-初窥输入输出
3-数据类型与表达式
4-动态内存管理
5-函数重载
6-内联函数
7-常量
8-引用
9-编程实战
9-编程实战2-带位置的猜数游戏
10-小结
第七章 作业
第八章 类与对象 基本概念
1- 抽象与封装
2-初始化与结束处理(构造函数与析构函数)
3-指针,参数,静态,常,友元与组合等概念
第八章 类与对象 编程实战与实验
编程实战
实验(作业)引导-游戏入门
华为cloudIDE编程与调试
第八章 作业
第九章第一部分 继承与派生
引言
1-派生类的引入与特性
2-单继承
3-多继承
4-编程实战
5-精灵游戏
6-小结
ppt
第九章第二部分 多态性
引言
1-运算符重载
2-虚函数
3-纯虚函数与抽象类
4-编程实战
5-精灵游戏
6-华为cloudIDE编程与调试
ppt
第九章 作业
第十章 模板,命名空间与异常处理
1-模板
2-命名空间
3-异常处理
ppt
计算机的数据存储方式及进制转换
《C与C++程序设计语言》
戴波 陈文宇 丘志杰 卢光辉
北京大学出版社,2019.5
注:有同学咨询教材哪里可以买,查询到京东有售
本教材2018年1月出版,2019年5月修订后重印,欢迎购买新版教材。也请同学们能够及时反馈教材的问题和不足,共同将教材建设的更好!
A : 第一次开课是按周分布,发现这种发布方式的最大优点是强迫同学们按照老师的进度要求进行学习,同时也是最大的缺点,原因如下:
(1). 开学时间比较多,学习较轻松,很多同学想用更多时间学习慕课课程,但由于慕课课程按周分布,不能根据自己的时间灵活安排学习进度,所以前期的空余时间不能得到有效利用。从半期开始,功课难度加大,作业比较多,时间非常紧张,因此不少同学逐渐放弃慕课的学习。所以,我们开学一次性把所有内容分布出来,您可以根据自己的时间灵活安排学习进度,对于时间管理困难的同学,可以参考我们教学大纲中每章的学习时间建议进行学习。
(2). 我们课程是半开放的,也就是只要加入课程,哪怕课程已经结束,您还可以回看视频,但不能在讨论区提问和做作业及参加考试。但您可以加入我们QQ群继续提问,同学们和老师都在线的,有空都会答疑。加上我们的课程(视频,作业,考试)都是提前一次性分布,所以您可以灵活的利用开学和假期时间进行学习及复习。