对于这个地球上大多数人来说,真正的数字化革命还没有开始。在接下来的10年里,变化将无处不在,让我们一起来给这个世界编码吧!——Eric Schmidt Google执行主席
我们会用13周的时间来简单介绍计算机基础知识并深入讲解C语言,在授课过程中,我们会注重多解释一些“为什么”以及错误程序的分析,从环环相扣的问题入手,将一些易被忽视且对高水平程序设计很重要的“点”,沿着数据结构从简单到复杂的主线逐一展开,在实例的“不断深化和提升”中引出知识点,通过对问题的举一反三和前后知识点的融会贯通,由浅入深地引导你循序渐进地编写规模逐步增大的程序。
在过去30年90%的时间里,C语言独领风骚,仅偶尔被 Java 超越,可见其魅力。C语言作为一种高级语言,其实并不高级,但正是这种“低级”给我们更多思考的机会。期望通过本课程的学习,你不只是简单地能够掌握一种语言的语法,还能理解隐含在语法背后的思想,并初步具备灵活使用这些思想进行编写程序解决实际问题的能力。如果你掌握了这些,你会发现,迈向成功的最后一步不过是选择一种合适的编程工具而已。
你想从“菜鸟”升级为“程序猿”吗?那就加入“稀饭”的行列,和我们一起踏上爱上C语言之旅吧。
评分方案:本门课总成绩100分。
本课程的成绩由平时成绩和期末考试两部分组成。其中平时成绩占40%(包括考勤、在线学习、实验、半期考试)、期末考试占60%。
第一部分 计算机基础知识
1、 计算机的产生、发展与特点
2、 计算机系统与工作原理
3、 数制与编码
4、 计算机程序
5、 计算机安全(选讲)
第二部分 C语言概述
1、 程序与程序设计概念
2、 C语言的发展和特点
3、 C语言程序设计初步
第三部分 基本数据类型与常用库函数
1、字符集与标识符
2、C语言中的基本数据类型
3、常量与变量
4、输入输出函数
5、常用库函数
第四部分 运算符与表达式
1、 算术运算符和算术表达式
2、 自增、自减运算
3、 位运算
4、 赋值运算
5、 关系运算与逻辑运算
6、 条件表达式与逗号表达式
第五部分 C语言的控制结构
1、顺序结构
2、选择结构
3、循环结构
4、程序设计方法
第六部分 数组
1、一维数组
2、二维数组
3、字符串与字符数组
第七部分 函数
1、函数的定义与说明
2、函数的调用
3、函数的参数传递
4、函数嵌套调用与递归调用
5、变量的存储类型
第八部分 指针
1、指针概念
2、指针与一维数组
3、指针与多维数组(选讲)
4、指针与字符串
第九部分 结构体与共用体(选讲)
1、结构体概念及定义
2、结构体变量与结构体数组
本门课程的基本内容是面向零基础的学生。
《C程序设计》,谭浩强编,清华大学出版社。
Q:如何提问,能得到快速的解答?
A:
1)标题:撰写标题时,要注意把要问的问题的出处和核心词写出来,最好用【】标出来,比如【第1周编程题在线测试的第1题】求解。
2)内容:内容上要把你不懂的地方说出来,最好详细点,把自己尝试修改的过程也说一下。
3)附源代码:把源码贴到讨论区(不要使用图片,因为图片看不清,也不能拷贝),这样大家可以通过你贴出的源码帮你分析错在哪里。
4)附错误提示:把编译出错的提示也贴出来(一般是英文形式),这样大家不用拷贝粘贴和调试程序也能帮你分析出错原因了。
Q:常见的运行结果错误的原因有哪些?
A:程序提交后通常显示三类错误:格式错误、结果错误、运行超时。
对于格式错误,请检查你的程序的输入输出信息是否和题目要求的完全一致。
对于结果错误,请检查你的程序使用的算法和计算公式是否正确,如果涉及浮点运算,可以尝试将float换成double或者反之。
对于运行超时错误,请检查你的程序是否存在死循环,死循环通常由永真的循环控制条件或者while后面添加了不必要的分号引起。注意在本网站提交程序进行测试时,不要使用flush()函数清除缓冲区,输入字符串也不要使用fgets(),原因详见视频讲解 。
注意事项如下:
1)数据输入输出的格式没有严格按照题目的要求写,直接拷贝粘贴题目中给的格式字符串和提示信息,是最简单和不易出现格式错误的方法。
2)输入输出字符串中的字符大小写有错误,或者空格数量和位置与题目中的要求不一致,或者缺少换行等。
3)仔细审题,例如题目要求计算半圆的周长,就不要加上直径,更不要计算整个圆的周长。
4)如果只有几个测试用例通过,还有没有通过的测试用例,那么说明你没有考虑所有的可能性,甚至是非法输入的情况。
5)检查是否为英文输入,切记切换成英文状态再输入。一些同学误用了中文作为输入法,就会出现不能编译的问题,例如中文状态下输入的分号和英文状态下输入的分号是完全不同的,语句的末尾使用的分号一定要在英文状态下输入。
Q:如果无法正常观看视频,我该怎么办?
A:如果无法正常观看视频,请尝试进行如下操作:
1.确认你使用了支持视频播放的浏览器。
2.清除浏览器的浏览数据及缓存。
3.关闭硬件加速。请在浏览器的 设置 - 显示高级设置 中,将“使用硬件加速模式”(如果可用)一项取消勾选,并重新启动浏览器。
4.检查你的网速。你可以尝试在其他视频网站播放视频(如优酷、土豆等),如果你在其他网站仍无法观看视频,那么你的网络连接很可能有问题。你需要重新连接你的网络或者切换至网速更快的网络以实现流畅的视频播放。
Q:我想考二级,学完这个课程可以考吗?
A:二级考试题考查语言的语法细节较多,所以能否通过二级考试,要看你的应试水平如何。本课侧重于讲解程序设计的方法以及错误程序的排错方法,更关注实战能力,因此应该说本课程对学生的要求是高于二级考试的要求的。