本书是一本能让大家真正学会编程的程序设计入门书。全书通过对难度逐渐递增的大量例题的深入讲解,介绍了计算机的编程思想、基本算法和基本技巧。本书通过引入一个理想的厨房系统进行类比,系统地讲解了计算机硬件和操作系统中一些极重要的核心知识,具体包括计算机硬件的基本结构、指令和程序执行的全过程、中断、进程、进程调度、输入/输出、虚拟内存等。通过对这些知识的学习,使读者对计算机运行的机制和奥秘有个清楚的了解。
本书内容丰富、独具特色,非常适合各高等院校计算机及其相关专业c语言程序设计入门课的教材或教学参考书,也适合作为各类程序设计辅导班的培训教材。
尽自己*大能力写一本比较轻,松颖,清晰,透彻,有价值的计算机科学入门是我的夙愿;把真正掌握计算奥秘和学会编程的难度,由五星。级降为三墨级,并尽量将枯燥乏味变得生动有趣。只因为计算机科学的核心思想——编程墨路和大局观(现代计瓤硬件与操作系统、编译程序是如何无缝连接,以运行多道程序的)——本身就是极美妙的。本书就是把这些极美妙的、过去初学者几乎不可能学到的但又很有价值的知识,以一种比较系统的、连贯的.深入浅出、简明扼要的方式.展现在大家的面前。
希望本书的出版将使大多数人的梦想成真!
现今,了解计算机工作原理的人何其多,但真正掌握的人却何等的少! 学习编程的人何其多,但真正会编程的人又何等的少! 从梦想到实现,你还需要多久的等待? 一书在手,奥秘尽有! 一册拥有,梦想放飞! 成功之路,就在手中!
序言
针对不少大学生编程能力很差以及对程序设计课感到非常厌烦和恐惧的现状,笔者在三年前下定决心,动手创作本书。本书的初稿从去年下半年就开始试用,深受大多数学生的喜爱。
对于大学生来说,学习程序设计这门课,能够得到的*大收益是什么呢?难道就是学会一门高级程序设计语言的大量语法知识,甚至包括很多容易过时的、枯燥乏味、令人厌烦的细节语法知识吗?笔者认为不是的。因为毕业以后,大多数大学生并不从事程序设计的工作。即使将来从事编程工作,使用C语言进行软件开发的可能性现在也变得较小了(虽然学的人很多)。由此可以得出重要结论,在C程序设计入门课中,c语言所特有的语法细节讲解应当大幅度缩减。 那么,对于大学生而言,程序设计这门课是否本来就不太重要呢?笔者认为不是不重要,而是至关重要!非常重要!极为重要! 究竟什么才是大学生*应该在本课程中学到的重要知识呢?笔者认为应当是c程序设计语言的基本语法要素(这是不容易过时的、各种常用的命令型高级语言的公共部分)、基本编程思想、基本编程技巧和基础算法知识,仅运用这部分知识就可以解决大多数常见的编程问题(虽然有时效率不高),而不是大量的语法细节。本书在后面常常把基本编程思想、基本编程技巧和基础算法知识简称为基本编程技术。 究竟什么是基本编程技术?笔者把需要学习《面向对象程序设计》、《数据结构》和《算法分析与设计》这些高级课程后,才能够掌握的那一部分(面向对象的)编程思想、(需要以链表勾基础的)中高级编程技巧和(需要以离散数学为基础的那一部分)算法排除在外。剩下的那部分就属于基本编程技术的范畴。
后记
在本书中汇集了笔者二十余年间在学习、备课、授课和编程实践中积累的各种编程思路和基本编程技术,以及对计算机科学整体把握的宏观认识。精心加工后,奉献给迫切想*大限度提高编程水平和真正了解计算机奥秘的读者。
当前程序设计类入门教材的写作模式大体上分为两大类。一类是以语法讲解为主线的(这类书很多,类似于文学中的语法书、字典);另一类是以案例讲解为主线的(这类的入门教科书目前还不多,类似于文学中的语文书或范文精选)。前一类书的优点是语法知识系统清晰,有利于读者将来编程时进行查找。但这一类书的主要缺点是学起来比较枯燥乏味,根本原因在于书中的例题一般都是作为讲解语法要点的附属品,题目的难度一般没有明显的阶梯性。而后一种案例类书的优点是学习例题比较生动有趣,但是,在读者学完后,将来要独立进行编程时,却比较难以在书中查找到相应的知识要点并加以应用,比较难作为一本价值很高的手册来使用。
不过,对于计算机高级程序设计语言来说,它的语法知识要比人们之间交流用的普通语言少得多,也重要得多。编程语句稍有一点小错误,计算机就会拒绝接受这个程序。这或许是当前案例类教材难以成为主流入门教材的重要原因之一(另一个重要原因可能是教师的教学习惯)。
那么,有没有一种写作方式既能够同时获得以上两种写作方式的优点,又能够避免两种写作方式存在的难以克服的缺点呢(但同时又顺应教师的传统教学习惯)?本书的写作方式给出了一种可供选择的方案(在这一点上,与本书*为接近的是郑启华先生早年所写的《Pascal程序设计》。可以说,本书在这方面完全传承于郑启华先生所开拓出的写作思路和理念。令人惋惜的是,随着Pascal语言近些年的沉寂,此书没有*新版了。等待了多年,盼望郑先生能用c语言来改写这本名著,但一直没等到。希望本书的出版,能替郑先生了却这一心愿。此外,甘玲等编著的C语言教材与本书大体上同属一类,虽然在取材、结构和表述上还有很大的不同,(参见.参考文献)。
第1章 从理想厨房到计算机的基本工作原理(初)
本章是全书的重要基础。通过本章的学习,可为读者建立起计算机究竟如何工作的整体概念,纠正读者以前对计算机的一些错误认识和看法,并为第2章、第9章、第10章的学习打下坚实的基础。
本章不需要任何预备知识,只要你认得字就行,还有一个比较高的要求:只要你有足够的耐心,这个耐心能确保你把本章认真读两遍。你就能够真正懂得神秘的、到目前为止人类有史以来*伟大、*奇妙而又*复杂的发明——电子数字计算机(当然这个伟大发明汇集了几代人中很多杰出人士的聪明才智和研究成果)是如何工作的基本原理。为达此目的,笔者付出了极大的努力,找到了一种比较好的比喻方法——理想厨房系统。由此开始真正理解计算机工作原理的、激动人心的探索旅程。将要探索的是一个看起来很不起眼的,在有些场合被称为计算机(或电脑)的电子设备,是如何具有如此神奇的魔力和智能的奥秘所在。这种神奇的魔力和智能正在彻底地、快速地、默默无闻或者令人吃惊地改变和丰富人们所生活的大千世界。
本章将从一个理想厨房系统的例子入手,讲解计算机工作的基本原理和特点。这一叙述比较长,但和厚厚的整本计算机原理教材比起来,这里的叙述为了突出重点、减少理解难度而做了极大的简化,也是值得读者认真学习和细心领会的。
但如果你是一个急性子,可以快速地浏览下面用小号字编排的几节,重点要仔细领会第1.2节和第1.3节的内容,即理想厨房的炒菜实例和理想厨房系统的特点。
翻开第l章,就深深地吸引了我,因为它如此巧妙地将计算机与实际生活联系起来,这使我顿觉豁然开朗一…?第2章之后的程序设计也相当精彩,从伪代码到编程易错点,让我们打开了编程的思路。不由得感叹:编程也不是想象中的那么难!编程最重要的就是算法、思路,这本书引领我从编程的无助到喜爱编程,确实是一个飞跃!
——贾层晨
书中好多范例简单易懂,讲解精炼,读了之后,感觉茅塞顿开。相比较看过的其他c语言方面的书,感觉何老师的这本以简单易懂的例子入门,语法与算法完美结合,内容更精简,算法更合理,思路更清晰。
——黄伟
以前,总是觉得编程很神秘。由于对计算机的不了解,对算法的迷惘,使我看到编程题不知如何入手,如何分析。读了本书后使我从害怕编程变为热爱编程。此书的理想厨房给了我一种全新的体验,使我从内部真正了解了计算机。
我相信,它将是我程序员生涯的开。始。
——宋小静
何勤,男,51岁,吉林大学物理硕士,高校计算机教师。从事软件开发20余年,计算机教学十四年。Borland公司Delphi培训核心师资。主持开发过多个商业软件,曾获省科技进步三等奖。
RAW格式数码照片处理完全解析-(附光盘) 本书特色 raw格式是目前所有数码摄影人士都非常喜爱的影像格式,但由于raw格式图片在转换过程中步骤繁多,让许多影友...
ANSYS 14完全自学一本通 本书特色 《ansys14完全自学一本通》是一本理想的自学参考书,适合广大ansys初、中级读者学习使用。既可以作为大中专院校的...
《工作一年拉开差距:逻辑思考》内容简介:刚工作一年,总是感觉思路混乱? 刚接手新的业务压力很大,对新项目的思考总觉得不够深入
《少年读西游》内容简介:这是一本为青少年解读《西游记》的书。著名学者李天飞专注《西游记》研究多年,积累参考上千种文献,然而
《所思远道:两周卷》内容简介:《所思远道:两周卷》全书通过对我国两周时期大量文明遗产(包括各类工艺品、美术作品、音乐舞蹈作
《Android群英传》对具有一定Android开发基础的读者,以通俗易懂的语言介绍了Android开发的进阶技巧。《Android群英传》共分为13
OpenCL领域公认的权威著作,由OpenCL核心设计人员亲自执笔,不仅全面而深刻地解读了OpenCL规范和编程模型,而且通过大量案例和代
《家装设计速通指南·居室风格详解》内容简介:本书对现代风格、工业风格、简约风格、古典中式风格、现代中式风格、欧式风格、乡村
《再见啦,那些让人忧心的生活谣言》内容简介:本书选取的谣言内容大部分来自微信文章,非常具有传播性。谣言内容覆盖范围广,包括
数据库原理及应用(SQLServer2005)-数学指导与习题解答 本书特色 《数据库原理及应用(SQL Server 2005):教学指导与习题解答》是国家级...
《JavaWeb入门经典》以初学者为核心,全面介绍了JavaWeb开发中常用的各种技术。内容排列上由浅入深,让读者循序渐进掌握编程技术
《简笔画5000例,一本就够(动物篇)》内容简介:简笔画几乎是每个人孩提时代绘画生涯的开始。简单的线条,可爱的形状,总是能释放
《国际顶尖插画艺术家的创造力x商业力》内容简介:艺术与商业日渐和谐,划分高尚艺术与流行文化的分界线逐渐模糊,艺术家的身份也
《世界级城市群视阈下的天津发展》内容简介:近年来,世界级城市群在区域经济中的功能不断扩展、地位迅速提升,对国家经济增长和世
Creativityisnolongerthesoleterritoryofthedesignerandothercreativeprofessionals.A...
《Git权威指南》是Git领域的集大成之作,是一本关于Git的百科全书,在广度、深度和实战性上让同类作品望尘莫及。作者是国内顶尖的
佐藤卓,日本知名的平面設計大師、策展人,他設計的作品總是在簡約中散發出一股獨特的黏力,能在市場上屹立數十年不倒,不僅成為
《别具光芒CSS属性、浏览器兼容与网页布局》结合大量范例与实际应用的实例,详细介绍了W3C发布的层叠样式表CSS2.1规范,浏览器对
JavaScript和JScript语言可以把HTML文档、用Java或AchveX编写的W组件及多媒体插入件集成起来,开发动态的、可响应各种用户输入的
《牛汉散文》内容简介:本书精选牛汉散文60余篇,包括童年名篇《绵绵土》《打枣的季节》《月夜和风筝》《海琴》《父亲,树林和鸟》