中国地质大学(武汉)

零基础学C语言

图片
课程概述

    C语言是目前世界上最流行、使用最广泛的高级程序设计语言之一,在TIOBE世界编程语言社区排行榜中始终位居前两位,对操作系统和需要对硬件进行编程的场合,用C语言明显优于其他高级语言,许多大型系统软件都是用C语言编写的。同时,C语言简洁、紧凑,使用方便、灵活,运算符和数据类型丰富,使用其编写的程序可移植性好,并具备很强的数据处理能力。


    C语言是一门优秀的教学语言,其优美的结构,完善的语法,都是对面向过程的结构化编程语言最好的诠释。同时,C语言也是其他很多程序设计语言的基础,是后续学好其他程序设计语言甚至是学好整个计算机技术的一块基石,所以,各高等学校和专科院校校均采用C语言作为计算机编程的入门语言。


    本课程面向广大程序设计入门者,既可以作为各高等学校和专科院校计算机专业学习程序设计和深入学习计算机技术的先修课程,也可以作为理工类各专业的一门公共基础课程,更是广大程序设计爱好者及非理工类专业学生都能够学懂学会的课程,是真正打开人机对话之门的一把钥匙。本课程讲解细致入微,范例实用、丰富,浅显易懂,一步步推进,让大家彻底摆脱C语言枯燥乏味的固有印象。每节课课前均由引导题作为内容引出,课后有思考题和练习题作为总结和任务驱动,由浅入深,知识点环环相扣,尤其是针对编程入门的新手易犯的错误,均有特别指出和说明。


   本课程考虑到大多数的零基础同学,配备全套的教学资料,包括教学ppt、课堂练习、程序示例、题库和课外阅读的参考资料等,也会有助教团队负责大家平时学习过程中的讨论、在线互动和答疑解惑,并且会定期发布公告提醒大家学习的进度和安排。需要说明的是,本课程所有演示均采用VC++6.0编译环境,这是目前学习C语言最易上手的平台之一,目的是除了适用于各高等学校和专科院校的教学现状和机考环境,还可以兼顾计算机等级考试的备考者所需。


  ------------------------------------------完美分割线----------------------------------------------


    你是否还在将计算机当做看电影、聊天和玩游戏的工具?那么,当你点开本课程的时候,太好了,你又多了一个更好的选择和一个独特的机会。不论是比尔·盖茨还是乔布斯,抑或谢尔盖·布林和拉里·佩奇,他们都有一个共同的特点:在少年时酷爱编程。乔布斯说过,“每个人都应该学习如何编程,因为它教会你如何思考”。而TED大会上的托马斯·苏亚雷斯更是用亲身经历告诉我们,一个十二岁的孩子,也能编写出精彩的APP。只要你对计算机感兴趣,或是迷恋或是渴望,就不妨让自己在一个只有0和1的世界中同计算机展开一场逻辑较量,体会成功后的快乐和喜悦。而要想练就这身本领,需要跟随本课程,一步一个脚印,多上机多实践,这是学好编程最好的方法。


    语言只是一个工具,一个载体,学习编程,我们学的是方法,是一种思维模式,而不是语言本身。这就好比你学会了开车,那么开什么车就不重要了,目的都是到达。将计算机应用到各自感兴趣和熟知的领域,从而改变我们触摸世界的方式,这才是学习编程及计算机技术的真正目的,让我们的思维,插上计算机的翅膀,去创造一个属于我们自己的奇迹!


授课目标
本课程是程序设计的入门基础,通过对本课程的学习,即使零基础的人也能实现对计算机讲话,编写自己的专属应用,而不是仅仅只能使用别人做好的应用。在本课程结束之后,学生应该具备编写一些简单程序的能力,包括用计算机去解决一些数学、物理题,一些趣味性的小程序和小游戏,甚至是演奏一段音乐等。
证书要求

本课程的总评分采取百分制,平时测验30%(共三次)+期末考试70%。

其中:

平时测验全部采用选择题;

期末考试采用客观选择题(80%)+主观编程题(20%)相结合的形式。


总评分达到60分以上可获得合格证书;

总评分达到80分以上可获得优秀证书。

预备知识

你可以完全是零基础的,课程第一周我们会有所铺垫;

但如果懂得一点计算机的基础知识,对于本课程的最初理解无疑是有所帮助的。


授课大纲

入门篇:

1.C  Travel

 1.1 为什么要学习C语言?

 1.2 扬帆起航:计算机文化基础

 1.3 磨刀不误砍柴工:雇佣“翻译”


2.初识C语言程序

 2.1 让计算机开口“说话”

 2.2 让计算机帮我们做算术

 2.3 让计算机自己做决定


3.有多少种“房间”

 3.1 初识数据类型

 3.2 第一种房间:整数类型

    3.2.1 整数类型(上)

    3.2.2 整数类型(下)

    3.2.3 移形换位心法

 3.3 第二种房间:实数类型

    3.3.1 浮点型(上)

    3.3.2 浮点型(下)

 3.4 第三种房间:字符类型

    3.4.1 字符型(上)

    3.4.2 字符型(下)

    3.4.3 变形计:转义字符


4.相亲相爱的一家人

 4.1 在一起:混合运算 

 4.1 做什么:运算符和表达式(上)

 4.3 做什么:运算符和表达式 (下)


5.三种结构——顺序

 5.1 格式化输出

 5.2 格式化输入


6.三种结构——选择

 6.1 我想做选择

 6.2 选择与多重选择


7. 三种结构——循环

 7.1 循环结构(上)

 7.2 循环结构(下)

 7.3 能不能更快一点


8.一大波数来了

 8.1 我想排序

 8.2 初试锋芒

 8.3 大显身手

 8.4 弹奏一首音乐

参考资料

本课程教材:

《C程序设计(第五版)》 谭浩强 清华大学出版社 2017.8


参考阅读:

《计算机科学导论(原书第三版)》 (美)佛罗赞 机械工业出版社 2015.8

《C语言的科学和艺术》 (美)罗伯茨 机械工业出版社 2005.3

《C程序设计语言 第2版·新版》 (美)布莱恩·克尼汉 丹尼斯·里奇 机械工业出版社 2004.1

《C primer plus》 (美)史蒂芬·普拉达 人民邮电出版社 2016.5


实践上机部分:

《基于PBL的C语言课程设计及学习指导》 张冬梅等 清华大学出版社 2011.10

常见问题

1、问:需要一台什么样的电脑?

     答:开机速度能够击败全国1%的用户即可。一个会编程的大脑远比一台高配置的电脑有用。


2、问:是否需要掌握一些计算机的基础知识?

     答:会用电脑,会用鼠标键盘即可。


3、问:课程进行了一半,我还能加入并跟上么?

     答:of course!发布的课程可以随时观看,并可以根据自己的时间集中学习赶上进度,学习结束后最终提交单元测试并参加考试即可。


4、问:我下载的VC++6.0与我的win10系统不兼容怎么办?

     答:下载绿色免安装版不失为一种解决方案,如果还是无法使用,请见下面的问题5。


5、问:是否一定只能用VC++6.0作为编译平台?

     答:不一定,选择有很多,比如Dev-C++就很好很规范,比如Mac的系统我们可以用Xcode等。我们学的是如何对计算机说话,而由谁来帮我们翻译并不care,事实上,VC++6.0一定不是最好的,但它一定是最容易上手的。


6、问:我有很多问题想提问怎么办?

     答:课程设有专门的讨论区,希望大家踊跃提问,我们会安排专门的助教老师与大家互动。对于常见的经典问题及对理解有所补益的问题,我们甚至会针对该问题制作一个FAQ小录屏,同时,对于能够提出这类问题的同学,我们也将给与平时分的奖励。


7、问:每周要花多长时间学习?

     答:当然是越多越好。李小龙说:“我不害怕会一万种腿法的人,但我害怕把一种腿法练了一万次的人。”。so,如果你一周只有两个小时,那么,请保证这其中至少有一个小时是用来上机练习的。