本书是一本能让大家真正学会编程的程序设计入门书。全书通过对难度逐渐递增的大量例题的深入讲解,介绍了计算机的编程思想、基本算法和基本技巧。本书通过引入一个理想的厨房系统进行类比,系统地讲解了计算机硬件和操作系统中一些极重要的核心知识,具体包括计算机硬件的基本结构、指令和程序执行的全过程、中断、进程、进程调度、输入/输出、虚拟内存等。通过对这些知识的学习,使读者对计算机运行的机制和奥秘有个清楚的了解。
本书内容丰富、独具特色,非常适合各高等院校计算机及其相关专业c语言程序设计入门课的教材或教学参考书,也适合作为各类程序设计辅导班的培训教材。
尽自己*大能力写一本比较轻,松颖,清晰,透彻,有价值的计算机科学入门是我的夙愿;把真正掌握计算奥秘和学会编程的难度,由五星。级降为三墨级,并尽量将枯燥乏味变得生动有趣。只因为计算机科学的核心思想——编程墨路和大局观(现代计瓤硬件与操作系统、编译程序是如何无缝连接,以运行多道程序的)——本身就是极美妙的。本书就是把这些极美妙的、过去初学者几乎不可能学到的但又很有价值的知识,以一种比较系统的、连贯的.深入浅出、简明扼要的方式.展现在大家的面前。
希望本书的出版将使大多数人的梦想成真!
现今,了解计算机工作原理的人何其多,但真正掌握的人却何等的少! 学习编程的人何其多,但真正会编程的人又何等的少! 从梦想到实现,你还需要多久的等待? 一书在手,奥秘尽有! 一册拥有,梦想放飞! 成功之路,就在手中!
序言
针对不少大学生编程能力很差以及对程序设计课感到非常厌烦和恐惧的现状,笔者在三年前下定决心,动手创作本书。本书的初稿从去年下半年就开始试用,深受大多数学生的喜爱。
对于大学生来说,学习程序设计这门课,能够得到的*大收益是什么呢?难道就是学会一门高级程序设计语言的大量语法知识,甚至包括很多容易过时的、枯燥乏味、令人厌烦的细节语法知识吗?笔者认为不是的。因为毕业以后,大多数大学生并不从事程序设计的工作。即使将来从事编程工作,使用C语言进行软件开发的可能性现在也变得较小了(虽然学的人很多)。由此可以得出重要结论,在C程序设计入门课中,c语言所特有的语法细节讲解应当大幅度缩减。 那么,对于大学生而言,程序设计这门课是否本来就不太重要呢?笔者认为不是不重要,而是至关重要!非常重要!极为重要! 究竟什么才是大学生*应该在本课程中学到的重要知识呢?笔者认为应当是c程序设计语言的基本语法要素(这是不容易过时的、各种常用的命令型高级语言的公共部分)、基本编程思想、基本编程技巧和基础算法知识,仅运用这部分知识就可以解决大多数常见的编程问题(虽然有时效率不高),而不是大量的语法细节。本书在后面常常把基本编程思想、基本编程技巧和基础算法知识简称为基本编程技术。 究竟什么是基本编程技术?笔者把需要学习《面向对象程序设计》、《数据结构》和《算法分析与设计》这些高级课程后,才能够掌握的那一部分(面向对象的)编程思想、(需要以链表勾基础的)中高级编程技巧和(需要以离散数学为基础的那一部分)算法排除在外。剩下的那部分就属于基本编程技术的范畴。
后记
在本书中汇集了笔者二十余年间在学习、备课、授课和编程实践中积累的各种编程思路和基本编程技术,以及对计算机科学整体把握的宏观认识。精心加工后,奉献给迫切想*大限度提高编程水平和真正了解计算机奥秘的读者。
当前程序设计类入门教材的写作模式大体上分为两大类。一类是以语法讲解为主线的(这类书很多,类似于文学中的语法书、字典);另一类是以案例讲解为主线的(这类的入门教科书目前还不多,类似于文学中的语文书或范文精选)。前一类书的优点是语法知识系统清晰,有利于读者将来编程时进行查找。但这一类书的主要缺点是学起来比较枯燥乏味,根本原因在于书中的例题一般都是作为讲解语法要点的附属品,题目的难度一般没有明显的阶梯性。而后一种案例类书的优点是学习例题比较生动有趣,但是,在读者学完后,将来要独立进行编程时,却比较难以在书中查找到相应的知识要点并加以应用,比较难作为一本价值很高的手册来使用。
不过,对于计算机高级程序设计语言来说,它的语法知识要比人们之间交流用的普通语言少得多,也重要得多。编程语句稍有一点小错误,计算机就会拒绝接受这个程序。这或许是当前案例类教材难以成为主流入门教材的重要原因之一(另一个重要原因可能是教师的教学习惯)。
那么,有没有一种写作方式既能够同时获得以上两种写作方式的优点,又能够避免两种写作方式存在的难以克服的缺点呢(但同时又顺应教师的传统教学习惯)?本书的写作方式给出了一种可供选择的方案(在这一点上,与本书*为接近的是郑启华先生早年所写的《Pascal程序设计》。可以说,本书在这方面完全传承于郑启华先生所开拓出的写作思路和理念。令人惋惜的是,随着Pascal语言近些年的沉寂,此书没有*新版了。等待了多年,盼望郑先生能用c语言来改写这本名著,但一直没等到。希望本书的出版,能替郑先生了却这一心愿。此外,甘玲等编著的C语言教材与本书大体上同属一类,虽然在取材、结构和表述上还有很大的不同,(参见.参考文献)。
第1章 从理想厨房到计算机的基本工作原理(初)
本章是全书的重要基础。通过本章的学习,可为读者建立起计算机究竟如何工作的整体概念,纠正读者以前对计算机的一些错误认识和看法,并为第2章、第9章、第10章的学习打下坚实的基础。
本章不需要任何预备知识,只要你认得字就行,还有一个比较高的要求:只要你有足够的耐心,这个耐心能确保你把本章认真读两遍。你就能够真正懂得神秘的、到目前为止人类有史以来*伟大、*奇妙而又*复杂的发明——电子数字计算机(当然这个伟大发明汇集了几代人中很多杰出人士的聪明才智和研究成果)是如何工作的基本原理。为达此目的,笔者付出了极大的努力,找到了一种比较好的比喻方法——理想厨房系统。由此开始真正理解计算机工作原理的、激动人心的探索旅程。将要探索的是一个看起来很不起眼的,在有些场合被称为计算机(或电脑)的电子设备,是如何具有如此神奇的魔力和智能的奥秘所在。这种神奇的魔力和智能正在彻底地、快速地、默默无闻或者令人吃惊地改变和丰富人们所生活的大千世界。
本章将从一个理想厨房系统的例子入手,讲解计算机工作的基本原理和特点。这一叙述比较长,但和厚厚的整本计算机原理教材比起来,这里的叙述为了突出重点、减少理解难度而做了极大的简化,也是值得读者认真学习和细心领会的。
但如果你是一个急性子,可以快速地浏览下面用小号字编排的几节,重点要仔细领会第1.2节和第1.3节的内容,即理想厨房的炒菜实例和理想厨房系统的特点。
翻开第l章,就深深地吸引了我,因为它如此巧妙地将计算机与实际生活联系起来,这使我顿觉豁然开朗一…?第2章之后的程序设计也相当精彩,从伪代码到编程易错点,让我们打开了编程的思路。不由得感叹:编程也不是想象中的那么难!编程最重要的就是算法、思路,这本书引领我从编程的无助到喜爱编程,确实是一个飞跃!
——贾层晨
书中好多范例简单易懂,讲解精炼,读了之后,感觉茅塞顿开。相比较看过的其他c语言方面的书,感觉何老师的这本以简单易懂的例子入门,语法与算法完美结合,内容更精简,算法更合理,思路更清晰。
——黄伟
以前,总是觉得编程很神秘。由于对计算机的不了解,对算法的迷惘,使我看到编程题不知如何入手,如何分析。读了本书后使我从害怕编程变为热爱编程。此书的理想厨房给了我一种全新的体验,使我从内部真正了解了计算机。
我相信,它将是我程序员生涯的开。始。
——宋小静
何勤,男,51岁,吉林大学物理硕士,高校计算机教师。从事软件开发20余年,计算机教学十四年。Borland公司Delphi培训核心师资。主持开发过多个商业软件,曾获省科技进步三等奖。
EDIUS 6.5快刀手高效剪辑技法 本书特色 edius是一款用于广播电视和影视后期制作的视频剪辑软件,它支持当前所有标清和高清格式的实时编辑,被誉为pc平台...
《基于神经网络的优化设计及应用》所提出的基于神经网络的立体正交优化设计方法是在多学科知识融合的基础上进行了创新,将试验技
《云原生模式》内容简介:拥抱“云”,更多指的是如何设计你的应用程序,而不是你在哪里部署它们。《云原生模式》是一本架构指南,
《一小时漫画基金实战法》内容简介:基金投资是非常适合普通人的一种投资方式,但在投资之前,我们先要搞懂基金是什么、基金是怎么
《CSS入门经典(第2版)》主要内容:CSSLevel1、2、2.1和3规范的相关知识、操纵文本和选择字体效果的方式、IE6和IE7的Bug及解决方案
《黑客(二十五周年新版)》内容简介:黑客文化和伦理的奠基之作,计算机专业人士必读。二十五周年新版,涵盖比尔·盖茨、马克·扎
电脑英汉速查一本通(双色版) 内容简介 读者在操作电脑、上网冲浪、安装和使用软件时,经常会出现难以理解和阅读的英文词汇、信息、缩略语(缩写词)。本书收集了口前*...
《女人就是要有气质》内容简介:本书从关注女性自我生存、生活状态入手,对现代女性培养自我气质、修养、内涵及品位的重要方面进行
《Photoshop CC设计与制作攻略》内容简介:Photoshop CC设计与制作攻略是系统学习Photoshop图形图像处理的工具书。本书从认识Photo
《Arduino项目开发:智能生活》内容简介:本书系统论述了Arduino开源硬件的架构、原理和开发方法,并具体阐述了19个完整的项目设计
《中国汽车史话》内容简介:本书以深邃的历史眼光全面记述中国汽车产业跨越60年发展历程的著作。书中以时间为经线,以历史事件为纬
《链接:商业、科学与生活的新思维》内容简介:复杂网络研究权威 ,无尺度网络创立者,H-指数高达96的论文狂人,诺贝尔奖大热人选,
《异构无线网络融合理论与技术实现》反映了当前异构无线网络融合领域最新的研究成果,全面系统阐述了异构无线网络融合理论、关键
本书围绕通信科技的研发和主要的科技成就展开,为了便于了解该室历任总裁任期内采取的研发方针、政策、管理方法和科学家与工程师
《但问旗民:清代的法律与社会(精)》内容简介:《但问旗民:清代的法律与社会》是赖惠敏研究员继《乾隆皇帝的荷包》之后关于清史
《军人常见心理问题解析及辅导》内容简介:本书选取军人在兵之初、日常工作、人际交往、个人生活(包括恋爱、婚姻、家庭等方面)常
《创意之钥:Android手机交互应用开发》以android手机交互开发为平台,定位于创意从产生到实际应用的过程,将书中内容分为创意的真
指纹特征提取与多特征识别 本书特色 《指纹特征提取与多特征识别》针对大人群和低质量指纹识别中的特征提取和识别问题开展研究,将扩展特征应用到实际的指纹识别系统中,...
《先行者:未来新经济的探索》内容简介:本书探讨了新经济在成都的前世今生。通过跟70+创业者、企业高管、投资人、科研工作者对话,
Abasicproblemincomputervisionistounderstandthestructureofarealworldscenegivensev...