<em id="0s9ur"></em>

<em id="0s9ur"></em>
<div id="0s9ur"><ol id="0s9ur"></ol></div>
<div id="0s9ur"><tr id="0s9ur"><object id="0s9ur"></object></tr></div>

      <dl id="0s9ur"><ins id="0s9ur"><small id="0s9ur"></small></ins></dl>

      笨办法学C语言PDF中文版电子书免费下载

      资料大小: 2.03 MB

      所需积分: 0

      下载次数:

      用户评论: 0条评论,查看

      上传日期: 2019-03-26

      上 传 者: 易水寒他上传的所有资料

      资料介绍

      标签:python(893)UNIX(108)IDE(110)C语言(3436)

        如果有?#27426;?#24341;述用来描述C语言编程的话,那就是它了。对于大多数程序员,C是极其可怕而且邪恶的。他就像是恶魔、撒旦,或者一个使用指针的花言巧语和对机器的直接访问来破?#30340;?#29983;产力的骗子洛基。于是,一旦这位计算界的路西法将你缠住,他就会使用邪恶的“段错误”来毁掉你的世界,并且揭露出与你交易中的骗局而嘲笑你。

        ?#27426;珻并不应由于这些现实而受到责备。你的电脑和控制它的操作系统才是真正的骗子,而不是朋友。它们通过密谋来向你隐藏它们的真实执?#26032;?#36753;,使你永远都不真正知道背后发生了什么。C编程语言的失败之处只是向你提供接触背后真正工作原理的途径,并且告诉了你一些难以接受的事实。C会向你展示痛苦的真像(红色药丸),它将幕布拉开来向你展示一些神奇的原理。C即是真理。

        既然C如此危险,为什么还要使用它?因为C给了你力量来穿越抽象的假象,并且将你从愚昧中解放出来。

        这本书的目的是让你足够熟悉C语言,并能够使用它编写自己的软件,或者修改其他人的代码。这本书的最后,我们会从一本叫做“K&R C”的名著中选取实际的代码,并且用你学过的知识来做代码审查。你需要学习下面这些东西来达到这一阶段:

        C的基本语法和编写习惯。

        编译, make 文件和链接。

        寻找和预防bug。

        防御性编程实践。

        使C的代码崩溃。

        编写基本的Unix系统软件。

        截至最后一章,你将会有足够的工具来解决基本的系统软件、库和其它小项目。

        这本书为那些已经掌握至少一门编程语言的人而设计。如果你还没有接触过编程,我推荐你先学习笨办法学Python,这本书适用于真正的新手并且适合作为第一本编程书。一旦你学会了Python,你可以返回来开始学习这本书。

        对于那些已经学会编程的人,这本书的开头可能有些奇怪。它不像其它书一样,那些书中你会阅读?#27426;?#27573;的文字然后编写一些代码。相反,这本书中?#19968;?#35753;你立即开始编程,之后?#19968;?#35299;释你做了什么。这样更有效果,因为你已经经历过的事情解?#25512;?#26469;更加容易。

        由于采用了这样的结构,下面是本书中你必须遵守的规则:

        手动输入所有代码。不要复制?#31243;?/p>

        正确地输入所有代码,也包括注释。

        运行代码并保证产生相同的输出。

        如果出现了bug则修正它。

        做附加题?#20445;?#22914;果你做不出某道题,马上跳过。

        在寻求帮助之前首先试着自己弄懂。

        如果你遵守了这些规则,完成了本书的每一件事,并?#19968;?#19981;会编程C代码的话,你至少尝试过了。它并不适用于每个人,但是尝试的过程会让你成为一个更好的程序员。

        我假设你来自于一种弱者的语言。这些“?#23376;?#30340;”语言之一是Python或者Ruby,它们带给了你草率的思维和半吊子的黑魔法。或者,你可能使用类似Lisp的语言,它假设计算机是纯函数式的奇幻大陆,带有一些为婴儿准备的充气墙。再或者你可能学过Prolog,于是你认为整个世界都是一个数据库,你可?#28304;?#20013;寻找线索。甚至更糟糕的是,我假设你一直都在用IDE,所以你的大脑布满了内存漏洞,并且你?#30475;?#19977;个字符都要按CTRL+空格来打出函数的整个名字。

        无论你的背景如?#21361;?#20320;都可能不擅长下面四个技能:

        阅读和编写

        如果你使用IDE这会尤其正确。但是总体上我发现程序员做了很多“?#36828;痢保?#24182;且在理解上存在问题。它们会?#36828;?#38656;要详细理解的代码,并且觉得他?#19988;?#32463;理解了但事实上没?#23567;?#20854;它语言提供了可以让他们避免实际编写任何代码的工具,所以面对一种类似C的语言?#20445;?#20182;们就玩完了。你需要知道每个人都有这个问题,并且你可以通过?#31185;?#33258;己慢下来并?#26131;?#32454;?#28304;?#38405;读和编写代码来改正它。一开始你可能感到痛苦和无?#27169;?#20294;是这样的次数多了它也就变得容易了。

        专注?#38468;?/p>

        每个人都不擅长这方面,它也是劣质软件的罪魁祸首。其它语言让你不会集中注意力,但是C要求你集中全部注意力,因为它直接在机器?#26174;?#34892;,并且机器比较挑剔。C中没?#23567;?#30456;?#39057;?#31867;型”或者“足够接近?#20445;?#25152;以你需要注意,再三检查你的代码,并假设你写的任何代码都是错?#27169;?#30452;到你能证明它是对的。

        定位差异

        其它语言程序员的一个关键问题就是他们的大?#21592;?#35757;练来指出那个语言的差异,而不是C。当你对比你的代码和我练习中的代码?#20445;?#20320;的眼睛会跳过你认为不重要或者不熟悉的字符。?#19968;?#32473;你一些策略来强制你观察你的错误,但是要记住如果你的代码并不完全像书中的代码,它就是错的。

        规划和调试

        我喜欢其它较简单的语言,因为我可以想怎么写就怎么写。我将已?#26800;?#24819;法输入进解释器,然后可以立即看到结果。你可以把你的想法试验出来,但是要注意,如果你仍然打算“试验代码使其能够工作?#20445;?#23427;就行不通了。C对于你来说稍困难,因为你需要规划好首先创建什么。的确,你也可以进行试验,但是比起其他语言,你必须在C中更早地严肃?#28304;?#20195;码。?#19968;?#25945;给你在编程之前规划程序核心部分的方法,这对于使你成为更好的程序员十分有帮助。即使一个很小的规划,都会使接下来的事情变得顺利。

        学习C语言会使你变成更好的程序员,因为会强制你更早、更频繁地解决这些问题。你不会再草率地编写半吊子的代码,代码也会能够正常工作。C的优势是,它是一个简单的语言,你可以自己来弄清楚,这使得它成为用于学习机器,以及提升程序员核心技能的最佳语言。

        C比其它语言都要难,而这是由于C并?#27426;?#20320;隐藏?#38468;冢?#23427;们在其它语言中都试图并且未能被掩盖。

      用户评论

      查看全部 条评论

      发表评论请先 , 还没有账号?免费注册

      发表评论

      用户评论
      技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
      上传电子资料
      上海快3开奖走势图
      <em id="0s9ur"></em>

      <em id="0s9ur"></em>
      <div id="0s9ur"><ol id="0s9ur"></ol></div>
      <div id="0s9ur"><tr id="0s9ur"><object id="0s9ur"></object></tr></div>

          <dl id="0s9ur"><ins id="0s9ur"><small id="0s9ur"></small></ins></dl>
          <em id="0s9ur"></em>

          <em id="0s9ur"></em>
          <div id="0s9ur"><ol id="0s9ur"></ol></div>
          <div id="0s9ur"><tr id="0s9ur"><object id="0s9ur"></object></tr></div>

              <dl id="0s9ur"><ins id="0s9ur"><small id="0s9ur"></small></ins></dl>
              广西快乐十分号码走势图 意甲转会 平码短期出码规律 体彩吉林11选5走势图开奖 中国乒乓球最新消息 斯诺克世锦赛2019 3d2019年288期开号码 一肖中特免费公开资料 甘肃十一选五走势图旧版 1763期南国彩票坐标局 北京快三走势图一定牛网一定牛 六合图库35 2071期双色球开奖号码 吉林快3讨论微信群 3d打印技术