荷兰著名计算机学家Edsger W. Dijkstra曾说过,“我们所使用的工具深刻地影响着我们的思维方式和思维习惯,进而也将深刻地影响着我们的思维能力”。 计算机技术的普及已经深刻影响了现代人类生活的各个方面。“计算思维”就如同读、写、算能力一样,是所有人必须具备的思维能力。
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。编程能力即是这种思维能力的一种体现。
本课程目标是通过对C语言的学习和使用,使您掌握结构化程序设计语言的基本概念、思想和方法,从而获得初步的程序设计能力(能够编写小规模程序解决实际问题),逐步养成并具备一定的计算思维能力。
课程以实际应用为背景,以“案例驱动”不断引入相关知识点,随着案例不断深入,将程序设计各相关知识点展现在读者面前,形成一条完整知识链条。因案例都是常见实际应用或初等数学问题,和生活密切相关,所以您大可不必担心学不会。
为什么选C语言作为载体语言?C语言作为当代最优秀的程序设计语言之一,它的优点远远超过了它的缺点。经验表明,程序设计人员一旦学会使用C语言之后,就会对它爱不释手;而且很多语言都是在它基础上发展起来的;所以C语言当之无愧地成为思想交流的首选载体语言。
参考资料:
1. 新形态教材:《程序设计基础》(第三版)陈娟、张长海,2019年8月 北京 高等教育出版社
京东 本教材提供了相应内容的电子教案、例题代码、部分作业参考答案,以及重点内容的视频;可以扫描书上的二维码获得,或者访问http://abook.hep.com.cn/1860420 使用书后粘贴的用户名和密码登录访问。
2. 习题集:《程序设计基础习题集》张长海、陈娟、兰书梅,2008年7月 北京 清华大学出版社 当当网 。本书为大家提供了更多题目,由浅入深训练编程能力。
3. C语言规范:《C语言参考手册(原书第5版)》(美)Samuel P. Harbison III / Guy L. Steele Jr.
邱仲潘 等译 2003年8月
机械工业出版社。此书先后有多个译本,都能在网上搜到。如果您想更加深入了解C语言的特性,此书可以为你提供更多的帮助。
常见问题
Q1: 如何学好该课程?
A1: “程序设计”是实践性极强的课程,想要学好就必须上机实践。对于零基础的同学可以分成如下3步:
(1) 线上学习。通过线上视频和相关资料学习,记忆并理解课程知识点、体会例题代码编写思路、读懂并记下例题代码。请注意这里不是死记硬背,而是理解记忆,举个例子比如某个判断是"a大于等于b",您需要明白为什么要判断"a大于等于b",在您临摹代码时您很可能会将此判断写成"a不小于b",同样合理。
(2) 临摹代码。线上学习后,线下需要自己动手在开发环境中临摹例题代码,即将您记忆的代码录入到开发环境、运行调试。这期间代码可能会正常执行;但更多时候会会出现各种各样错误,此时就需要和例题代码比较找不同,分析造成不同的原因和由此带来的后果,反复修正代码;达到强化学习的目的。
(3) 自主编程。在您将所有例题代码弄懂调通后。此时完成作业,将想法写成代码并运行调试,使其通过所有测试点,训练自己编程解决实际问题的能力。通常一道题有用多种解法(代码),不妨试着分析比较不同方法间的差别或优劣,这对提高编程能力有很大帮助。由于受课程平台题型限制,目前还不能为大家提供在线测评类作业,大家可自行去如:洛谷、Leetcode、牛客、PAT等网上在线测评网站进行训练。
“三个臭皮匠能顶一个诸葛亮”说明了群体学习的重要性。作为初学者,难免会遇到问题,除了问老师;我们鼓励各位同学,组成虚拟学习小组进行交流:如在平台论坛中分享你的学习经验、回帖讨论问题等。
如果您还有参加ACM程序设计大赛的计划,则可以去网上各类ACM在线评测系统刷题,得到进一步的提高。有关ACM程序设计大赛的内容,请查看百度百科。
Q2: 使用什么样的C语言开发环境?
A2: Code::Blocks和VC6.0 是本课程所涉及的两种开发环境。当然还有其他开发环境可以免费获得,完全由您自己决定。
(1)VS community 微软免费环境:
http://visualstudio.microsoft.com/zh-hans/vs/community/
(2)Codeblocks 开源跨平台多语言开发环境:
http://www.codeblocks.org/downloads/26
(3)DEVC++ :
http://bloodshed-dev-c.en.softonic.com/
Q3: 如何在win10下安装VC++6.0?
A3:VC++6.0是非常经典的C/C++语言开发环境,小巧精炼、功能强大;但由于windwos操作系统在XP后对其兼容性变差,导致win10下运行VC常出现错误。具体解决方法可以参照"百度经验"
http://jingyan.baidu.com/article/da1091fb6e5cba027849d6be.html 。
Q4:学习中有了问题怎么办?
A4:(1)在课程论坛里问老师和同学。(2)问百度(http://www.baidu.com )关键字搜索。(3)试着去CSDN论坛(http://bbs.csdn.net/ )看看技术大佬们怎么回答。