本课程是南京邮电大学大一理工科新生的平台课,已有二十多年的教学经验积累。
课程以C语言作为载体和切入点介绍面向过程的程序设计思想与方法。课程的教学内容包括:计算机基本知识、内存与进制、常量与变量、基本数据类型、运算符与表达式、流程控制、函数、指针、数组、结构体与链表、文件、常用算法等,并将面向过程的程序设计思想贯穿其中。通过84个教学视频共计12小时26分47秒时长完整展示课程的全部内容,视频中对每个示例都在编程环境下进行跟踪演示,讲解详尽清晰并体现如何查错和调试,体现理论知识与实际编程相结合。学员可以边听边练,线下勤练编程才能真正掌握课程内容。通过学习本课程,学生能达到:基本掌握结构化程序设计的思想与方法,会使用C语言编写中等及有一定难度的程序,并能够熟悉至少一种C语言的集成开发环境。
不需要你有编程基础,甚至不需要你曾经学过计算机相关知识,带你轻松走进最牛叉的C编程世界。
专业团队精心制作了84个唯美教学视频,让大家在试听享受中逐渐亲近C语言乃至乐在其中。教学内容去繁存简,抓住核心,突出重点,跟踪演示,展示编程技巧和调试方法,既教给大家C语言的基本语法和编程思路,又训练大家的计算思维和运用开发工具的方法,授之以鱼且授之以渔!
用四个月的时间,我们带你走进C,体会C的美妙和强大!成为IT精英和智能社会信息化达人的梦想,将从这里起步!!
第一章 初识计算机、程序与C语言(共5个视频,时长:32分钟54秒)
1.1 计算机及其基本结构
1.2 计算机程序与计算机语言
1.3 C语言简介
1.4 二进制及进制转换问题
第一章单元测验
第二章 初识C源程序及其数据类型(共5个视频,时长:57分钟7秒)
2.1 C源程序及其符号
2.2 C语言中的数据类型
2.3 常量
2.4 变量
2.5 基本数据类型在计算机内部的表示
第二章单元测验
第三章 表达式与运算符(共8个视频,时长:49分钟13秒)
3.1 表达式与运算符
3.2 运算符的优先级与结合性
3.3 常用运算符
3.4 运算过程中的数据类型转换
3.5 位运算
第三章编程
第三章单元测验
第四章 程序流程控制(共11个视频,时长:2小时16分钟37秒)
4.1 语句与程序流程
4.2 顺序结构
4.3 选择结构
4.4 循环结构
4.5 break与continue
4.6 应用举例
第四章编程
第四章单元测验
第五章 函数的基本知识(共7个视频,时长:48分钟8秒)
5.1 模块化程序设计与函数
5.2 函数的定义
5.3 函数的调用
5.4 递归函数
5.5 变量的作用域与存储类型
5.6 应用举例
第五章单元测验
第五章编程
第六章 数组(共 8个视频,时长:1小时15 分钟51 秒)
6.1 一维数组的定义初始化及访问
6.2 一维数组的应用
6.3 二维数组的定义初始化及访问
6.4 二维数组的应用
6.5 数组的常用算法
第六章编程
第六章单元测验
第七章 指针(共 14个视频,时长: 2小时37分钟 39秒)
7.1 指针变量
7.2 指针与数组
7.3 指针与函数
7.4 应用举例
7.5 指针进阶
第七章编程
第七章单元测验
第八章 字符串(共 4个视频,时长: 35分钟 55秒)
8.1 字符串的定义与初始化
8.2 字符串的处理与操作
8.3 字符串应用举例
第八章单元测验
第八章编程
第九章 编译预处理与多文件工程程序(共5个视频,时长: 36分钟 29秒)
9.1 编译预处理
9.2 多文件工程程序
9.3 应用举例
第九章编程
第九章单元测验
第十章 结构、联合、枚举(共10个视频,时长: 1小时2分钟 10秒)
10.1 结构体
10.2 联合
10.3 枚举
10.4 链表
第十章单元测验
第十章编程
第十一章 文件(共7个视频,时长: 54分钟54秒)
11.1 文件与文件指针
11.2 文件的打开与关闭
11.3 文件读写
11.4 指针定位与文件的随机读写
第十一章单元测验
无
第一个教学视频会给大家补充必要的计算机、内存、编程的基础知识,真正零起步!
本课程配套的微课版主教材:(如果您需要购买,请扫描二维码直达购买页面)
与主教材配套的习题与实验教材:(如果您需要购买,请扫描二维码直达购买页面)
其他参考资料:
[1] 南京邮电大学程序设计语言课程教学网站:https://c.njupt.edu.cn,有各种集成开发环境可以免费下载,还有其他共享资源
[2] 谭浩强.C程序设计(第5版)[M].北京:清华大学出版社,2017年8月.
[3] W. W. Norton,Company. C语言程序设计:现代方法[M]. 吕秀锋,黄倩,译.第2版.北京:人民邮电出版社,2010年.
[4] Samuel P. Harbison,Guy L. Steele. C语言参考手册[M].徐波,译.第5版.北京:机械工业出版社,2011年.
[5] 中国大学MOOC网上的其他同类课程资源
Q1:请问这门课对学习者的年龄有要求吗?是不是一定需要本科生以上?
A1:按道理年龄不是问题哈~~~但是,年龄过小,诸如幼儿园、小学的孩子不建议学习啦!初中以上就可以了,只需要比较基本的数理知识就可以。理工科的本科生,绝大多数高校会以C语言作为编程语言统一要求学习,当然文科生也可以学习本课程。即使你是老人,对编程有兴趣一样可以学习。
Q2:南邮的学生注册时有什么要求?
A2:南邮的学生请注意了,大家在注册的时候,昵称请务必按 NJUPT+B开头的学号+姓名组成,例如:学号为B22010340,姓名为东平的学生,在MOOC网上注册时的昵称为:
NJUPTB22010340东平(字符之间都不留空格,字母均需大写),这样方便我们在众多学生成绩中统计出本校学生的成绩,否则不容易找到你的成绩,将会影响你的成绩。
Q3:报名了,但是这门课该怎么学呢?
A3:本课程理论与实践相结合,在MOOC网上有教学视频,学员首先跟着教学视频听课,然后要完成MOOC上的章节测验和编程练习题,以巩固理论知识、强化实践能力;积极参与老师设定的课后讨论话题,每个人至少参加5个话题的讨论,这是计分的。最后一定要完成网上的期末考试。
学员需要在电脑或手机上下载并安装C开发环境,有很多种,比如:Visual C++,Microsoft Visual Studio2010(或其他版本)、CodeBlocks,Dev_Cpp等集成开发环境,C4droid5.apk(手机上使用) 等,便于自己线下加强编程训练。这些开发环境也可以到我们学校的课程网站上免费下载: https://c.njupt.edu.cn。
Q4:这门课能满足计算机等级考试二级C语言考试的要求吗?
A4:本课程虽然面向零起步的初学者,但是教学内容已经涵盖了计算机等级考试二级C语言的所有内容。当然,为了更充分地备考,还需要多做练习、模拟试卷,上机编程训练题,仅仅完成网上的作业训练量不够,针对性也不足。
Q5:对于南邮的同学,通过慕课的方式学习可以代替重修吗?
A5:可以的,对于我们南邮的同学,大家通过加入慕课并完成全部环节的考核(单元测验、作业、论坛发言、 线上期末考试)获得的成绩作为平时成绩,我们将在课程结束之前组织一次线下考试,线下考试的成绩相当于期末成绩,按照平时和期末各40%、60%(或30%、70%)得到课程的总评成绩。对于重修、刷绩点或者补修、提前修读的同学都一样。有关线下考试,教务处也会及时下发通知,我们课程组会在公告中及时发布线下考试的报名通知,大家需要关注我们课程的公告,及时在南邮教务系统中报名。
Q6:本课程中师生是如何交流的?有课程QQ群吗?
A6:每个学期,我们都会建立课程对应的慕课堂班级,同时建立学习QQ群,请留意首页公告,谢谢!
Q7:为什么编程作业在我的本地机上可以通过,提交系统就通不过或部分测试用例无法通过呢?
A7:首先最有可能的错误就是输入和输出的格式控制与题目要求不完全吻合,有些差异肉眼不可辨别,所以一定要按题目中给出的测试用例的输入输出来控制;第二个原因是服务器端编译环境与你本地机不完全相同,因此大家按C语言的通用规范来写程序,比如,注释用/*...*/方式而不要用//方式;变量集中在语句块开始处定义,不能随用随定义等;第三个原因,测试用例只给你展示一个例子,但是系统后台会有多个测试用例去测试,或许你程序中并未对程序的所有可能情况正确处理,这样就会出现部分测试用例无法通过的情况,需要你再检查程序,对所有可能的情况正确处理。