本书是一本能让大家真正学会编程的程序设计入门书。全书通过对难度逐渐递增的大量例题的深入讲解,介绍了计算机的编程思想、基本算法和基本技巧。本书通过引入一个理想的厨房系统进行类比,系统地讲解了计算机硬件和操作系统中一些极重要的核心知识,具体包括计算机硬件的基本结构、指令和程序执行的全过程、中断、进程、进程调度、输入/输出、虚拟内存等。通过对这些知识的学习,使读者对计算机运行的机制和奥秘有个清楚的了解。
本书内容丰富、独具特色,非常适合各高等院校计算机及其相关专业c语言程序设计入门课的教材或教学参考书,也适合作为各类程序设计辅导班的培训教材。
尽自己*大能力写一本比较轻,松颖,清晰,透彻,有价值的计算机科学入门是我的夙愿;把真正掌握计算奥秘和学会编程的难度,由五星。级降为三墨级,并尽量将枯燥乏味变得生动有趣。只因为计算机科学的核心思想——编程墨路和大局观(现代计瓤硬件与操作系统、编译程序是如何无缝连接,以运行多道程序的)——本身就是极美妙的。本书就是把这些极美妙的、过去初学者几乎不可能学到的但又很有价值的知识,以一种比较系统的、连贯的.深入浅出、简明扼要的方式.展现在大家的面前。
希望本书的出版将使大多数人的梦想成真!
现今,了解计算机工作原理的人何其多,但真正掌握的人却何等的少! 学习编程的人何其多,但真正会编程的人又何等的少! 从梦想到实现,你还需要多久的等待? 一书在手,奥秘尽有! 一册拥有,梦想放飞! 成功之路,就在手中!
序言
针对不少大学生编程能力很差以及对程序设计课感到非常厌烦和恐惧的现状,笔者在三年前下定决心,动手创作本书。本书的初稿从去年下半年就开始试用,深受大多数学生的喜爱。
对于大学生来说,学习程序设计这门课,能够得到的*大收益是什么呢?难道就是学会一门高级程序设计语言的大量语法知识,甚至包括很多容易过时的、枯燥乏味、令人厌烦的细节语法知识吗?笔者认为不是的。因为毕业以后,大多数大学生并不从事程序设计的工作。即使将来从事编程工作,使用C语言进行软件开发的可能性现在也变得较小了(虽然学的人很多)。由此可以得出重要结论,在C程序设计入门课中,c语言所特有的语法细节讲解应当大幅度缩减。 那么,对于大学生而言,程序设计这门课是否本来就不太重要呢?笔者认为不是不重要,而是至关重要!非常重要!极为重要! 究竟什么才是大学生*应该在本课程中学到的重要知识呢?笔者认为应当是c程序设计语言的基本语法要素(这是不容易过时的、各种常用的命令型高级语言的公共部分)、基本编程思想、基本编程技巧和基础算法知识,仅运用这部分知识就可以解决大多数常见的编程问题(虽然有时效率不高),而不是大量的语法细节。本书在后面常常把基本编程思想、基本编程技巧和基础算法知识简称为基本编程技术。 究竟什么是基本编程技术?笔者把需要学习《面向对象程序设计》、《数据结构》和《算法分析与设计》这些高级课程后,才能够掌握的那一部分(面向对象的)编程思想、(需要以链表勾基础的)中高级编程技巧和(需要以离散数学为基础的那一部分)算法排除在外。剩下的那部分就属于基本编程技术的范畴。
后记
在本书中汇集了笔者二十余年间在学习、备课、授课和编程实践中积累的各种编程思路和基本编程技术,以及对计算机科学整体把握的宏观认识。精心加工后,奉献给迫切想*大限度提高编程水平和真正了解计算机奥秘的读者。
当前程序设计类入门教材的写作模式大体上分为两大类。一类是以语法讲解为主线的(这类书很多,类似于文学中的语法书、字典);另一类是以案例讲解为主线的(这类的入门教科书目前还不多,类似于文学中的语文书或范文精选)。前一类书的优点是语法知识系统清晰,有利于读者将来编程时进行查找。但这一类书的主要缺点是学起来比较枯燥乏味,根本原因在于书中的例题一般都是作为讲解语法要点的附属品,题目的难度一般没有明显的阶梯性。而后一种案例类书的优点是学习例题比较生动有趣,但是,在读者学完后,将来要独立进行编程时,却比较难以在书中查找到相应的知识要点并加以应用,比较难作为一本价值很高的手册来使用。
不过,对于计算机高级程序设计语言来说,它的语法知识要比人们之间交流用的普通语言少得多,也重要得多。编程语句稍有一点小错误,计算机就会拒绝接受这个程序。这或许是当前案例类教材难以成为主流入门教材的重要原因之一(另一个重要原因可能是教师的教学习惯)。
那么,有没有一种写作方式既能够同时获得以上两种写作方式的优点,又能够避免两种写作方式存在的难以克服的缺点呢(但同时又顺应教师的传统教学习惯)?本书的写作方式给出了一种可供选择的方案(在这一点上,与本书*为接近的是郑启华先生早年所写的《Pascal程序设计》。可以说,本书在这方面完全传承于郑启华先生所开拓出的写作思路和理念。令人惋惜的是,随着Pascal语言近些年的沉寂,此书没有*新版了。等待了多年,盼望郑先生能用c语言来改写这本名著,但一直没等到。希望本书的出版,能替郑先生了却这一心愿。此外,甘玲等编著的C语言教材与本书大体上同属一类,虽然在取材、结构和表述上还有很大的不同,(参见.参考文献)。
第1章 从理想厨房到计算机的基本工作原理(初)
本章是全书的重要基础。通过本章的学习,可为读者建立起计算机究竟如何工作的整体概念,纠正读者以前对计算机的一些错误认识和看法,并为第2章、第9章、第10章的学习打下坚实的基础。
本章不需要任何预备知识,只要你认得字就行,还有一个比较高的要求:只要你有足够的耐心,这个耐心能确保你把本章认真读两遍。你就能够真正懂得神秘的、到目前为止人类有史以来*伟大、*奇妙而又*复杂的发明——电子数字计算机(当然这个伟大发明汇集了几代人中很多杰出人士的聪明才智和研究成果)是如何工作的基本原理。为达此目的,笔者付出了极大的努力,找到了一种比较好的比喻方法——理想厨房系统。由此开始真正理解计算机工作原理的、激动人心的探索旅程。将要探索的是一个看起来很不起眼的,在有些场合被称为计算机(或电脑)的电子设备,是如何具有如此神奇的魔力和智能的奥秘所在。这种神奇的魔力和智能正在彻底地、快速地、默默无闻或者令人吃惊地改变和丰富人们所生活的大千世界。
本章将从一个理想厨房系统的例子入手,讲解计算机工作的基本原理和特点。这一叙述比较长,但和厚厚的整本计算机原理教材比起来,这里的叙述为了突出重点、减少理解难度而做了极大的简化,也是值得读者认真学习和细心领会的。
但如果你是一个急性子,可以快速地浏览下面用小号字编排的几节,重点要仔细领会第1.2节和第1.3节的内容,即理想厨房的炒菜实例和理想厨房系统的特点。
翻开第l章,就深深地吸引了我,因为它如此巧妙地将计算机与实际生活联系起来,这使我顿觉豁然开朗一…?第2章之后的程序设计也相当精彩,从伪代码到编程易错点,让我们打开了编程的思路。不由得感叹:编程也不是想象中的那么难!编程最重要的就是算法、思路,这本书引领我从编程的无助到喜爱编程,确实是一个飞跃!
——贾层晨
书中好多范例简单易懂,讲解精炼,读了之后,感觉茅塞顿开。相比较看过的其他c语言方面的书,感觉何老师的这本以简单易懂的例子入门,语法与算法完美结合,内容更精简,算法更合理,思路更清晰。
——黄伟
以前,总是觉得编程很神秘。由于对计算机的不了解,对算法的迷惘,使我看到编程题不知如何入手,如何分析。读了本书后使我从害怕编程变为热爱编程。此书的理想厨房给了我一种全新的体验,使我从内部真正了解了计算机。
我相信,它将是我程序员生涯的开。始。
——宋小静
何勤,男,51岁,吉林大学物理硕士,高校计算机教师。从事软件开发20余年,计算机教学十四年。Borland公司Delphi培训核心师资。主持开发过多个商业软件,曾获省科技进步三等奖。
CorelDRAW X4基础运用与设计实例 本书特色 《CorelDRAW X4基础运用与设计实例》:艺术与设计类规划教材。CorelDRAW X4基础运用与设...
本书从ExtJS实现的基本功能开始讲解RIAWeb开发,详细讲解ExtJS的基本功能、常用的表单、面板和布局、常见的工具类与函数,以及Ex
《小学生减压涂色书——给古诗涂上颜色》内容简介:这套书秉承着“疗愈效果的是传统之美”的理念,在诗、词、曲和神话中选取涂色的
《Java Web程序设计》内容简介:本书以Web开发流程为主线,让读者了解真实的Web开发过程,体会规范化、标准化、专业化的软件开发流
《职场进阶的60个原则》内容简介:以原则为基础的人生成为专家型人才,还是管理型人才?接受犯错让下属干,还是撸起袖子亲自干?从
《模式识别与智能计算:Matlab技术实现》广泛吸取统计学、神经网络、数据挖掘、机器学习、人工智能、群智能计算等学科的先进思想和
《众妙之门——网页排版设计制胜秘诀》是SmashingMagazine网站的精选文章合辑,旨在帮助读者提升网页版式设计水平。《众妙之门—
kh10269名师讲坛Linux从入门到精通 内容简介 本书是中国台湾优秀it图书作家丰士昌先生的*新力作,总结了作者10余年来使用linux操作系统的经验和技...
推荐系统开发实战 本书特色 本书是一本关于推荐系统从入门到进阶的读物,采用“理论 实践”的形式展开,不仅对各种推荐算法进行了介绍,还对算...
BookDescriptionReusablecomponentsandpatternsforAjax-drivenapplicationsAjaxisoneo...
《进步的回退》内容简介:本书分为演讲、对话、记谈录三部分。主要内容包括:进步的回退;冷战后:文学写作新的处境;现代汉语再认
《纠错编码的艺术(第2版)》讲论了所有的关键主题,包括Reed-Solomon码、Viterbi译码、软输出译码算法、MAP、log-MAP和MAX-log-M...
李蕙蓁│研究所專研生態與觀光遊憩,喜愛藝術、設計、攝影,曾在望安與海龜結下不解之緣,擁有豐富的「龜」收藏。曾任報紙、雜誌
《女生健康养护指南》内容简介:★ 800余万粉丝喜爱的科普作者“恩哥聊健康”邹世恩博士首部作品。★ 每个女性人手一本,贴心、实用
《不插电的计算机科学》主要内容简介:“ComputerSciericeUnplugged”(不插电的计算机科学)是面向世界范围的信息科学普及项目,
《应急响应》内容简介:本书的内容将前沿的网络安全应急响应理论与一线实战经验相结合,从科普角度介绍网络安全应急响应基础知识。
语音处理及人机交互技术 本书特色 《语音处理及人机交互技术/智能科学技术著作丛书》是在作者张毅、刘想德、罗元多年从事服务机器人及信息无障碍技术的基础上总结所取得...
《反黑风暴·网站入侵与脚本技术快速防杀》由浅入深、图文并茂地再现了网站入侵与脚本技术快速防杀的全过程,内容涵盖:Windows系
《精通CSS网布布局》深入、系统地讲解了使用css进行网页布局设计的相关知识和技巧,内容包括css基础、文字和版式设计、图像控制、
本书整合了自1999年《Java虚拟机规范(第2版)》发布以来Java世界所出现的技术变化。另外,还修正了第2版中的许多错误,以及对目