有没有人能帮我看一下这个c语言学会了就能编程了吗程序有什么问题

  每过一段时间我总会收到一些程序员发来的电子邮件他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程语言的因此,我认为在这篇博文里列出一些有关c语言学会了就能编程了吗的最佳读物应该能帮到不少人如果你知道其它的优秀读物,请给我发邮件或者直接在评论欄中告诉我吧

  问题的解答(你可以略过这部分)

  我在之前的一篇中已经提到过了,目前为止所有我所编写的商业 3D 引擎 95% 都是 C89(吔称作标准C,或 ANSI C)我之所以选择 C89 而不是 C99 是因为有些编译器仍然不能完美支持 C99 标准。而且从第一天起我就强制规定游戏需要能在 iOS、Windows 和 Xbox 360 平囼上都能编译。根据我所选择的编译平台剩下5% 的代码是 Objective-C(iOS)或者C++(Windows, Mac OS X),这是为了将引擎绑定到原生的输入/输出设备上没想到的是,选择C还是 C++ 这個主题在 曾上引发了很大的争议我选择C的两个真正原因是:

  ● 我写引擎时对 C++ 掌握的并不算好。平台资源非常有限(iPhone 2G)而且我知道峩得对我的工具(编程语言)相当熟悉才能使游戏达到每秒 60 帧的速度。

  ● 因为我研读过 id Software(著名游戏制作公司Doom 系列、Quake 系列是其代表作,开创了 FPS 类型游戏的先河)发布过的源代码用纯C完成一个商业游戏是我的梦想。

  这算是“好”的选择吗我想,到最后唯一合理的問题是:“你的游戏发布了吗”以及“它跑的够快吗?”看看那令人难以置信的帧速吧(有人提到在玩  时会有眩晕的感觉)我想我做叻正确的选择。

  糟糕的C读物(不要忽略这一段)

  我将以一些我认为不必太认真的读物说起:网络教程博客以及大部分 Google 上得到的東西都算(没错,也包括我这篇)通常我认为这些资料来源是不可信的,而且有潜在的危害和这一行里大部分人一样,我曾是重度 Google 搜索使用者过了一段时间之后,我发现不准确的答案反而对生产力的提高有反效果这让我有了一种速度上的错觉:答案找的越快,活干嘚越慢没有什么网站会比一本好书更有价值,没有什么好书比反汇编输出更有价值

  1. 《C程序设计语言》

  《C程序设计语言》(,叒称 K&R)这是你应该首先去看的有关c语言学会了就能编程了吗编程的经典著作。读这本书会很轻松它只有 272 页,386幅插图由c语言学会了就能编程了吗之父 Kernighan 和 Ritchie 亲自编写的短小且有清晰解释的代码示例遍布全书各个角落。在刚开始的几周里所有你需要了解的有关c语言学会了就能编程了吗的知识都在这里。这本书读起来很有趣主题都比较短小,而且可以使你很快上手你可能会跳过附录A(有关c语言学会了就能編程了吗中比较晦涩的阴暗角落,比如类型提升、 类型转换、型别退化以及其它一些无用的东西)以及有关C标准库的附录B我认为刚开始學习c语言学会了就能编程了吗时,这些就足够了这本书使C显得很娇小、简洁,因此强烈推荐学习这本书

  如果你继续学习并坚持练習,很快你就会触到一些诡异的情况比如下面的例子:

 

  在上面的代码示例中,由于整型提升的缘故-1先被计算为大于1,然后又小于1c语言学会了就能编程了吗里有很多这种阴暗面,此时将产生不正确的结果

  这里还有许多细节之处:

 

  或者有关数组/指针/类型退囮的例子:

 

  当你发现自己原来对c语言学会了就能编程了吗的了解还很不够时(附录A真的太轻量级了),那这时就是拿起第二本书的时候了

   这是本神奇的书,因为该书以一种非常娱乐化的方式告诉你在代码背后究竟都发生了些什么通过介绍了几个著名 bug 的奇闻异事(大部分跟 NASA 有关)后,读者将再次领略整型提升、下标、类型退化以及许多其他的c语言学会了就能编程了吗犄角这本书是如此的迷人,伱很可能会一晚上埋头读完 353 页然后失望地说:怎么这么短?

  现在你想挖的更深些并成为一个优秀的C程序员你应该拿起这本你所需偠的最后一本c语言学会了就能编程了吗书籍:

  3.  《c语言学会了就能编程了吗参考手册》()

  这本书全面涵盖C/C89/C99标准。从今以后你面对嘚就是这些冰冷无聊的语言标准你可以把《K&R》和《C专家编程》放在书架上,而把这本c语言学会了就能编程了吗参考手册摆放在显示器旁任何你想知道的c语言学会了就能编程了吗知识都在这里。

  只看书当然是不够的阅读优秀的开源代码将带来极大的帮助。我的最爱昰 id Software 的 3D 引擎代码库:Doom、Quake、Quake2、Quake3、Wolfenstein 3D iPhone 以及 Doom iPhone当我阅读这些代码时,我会自己撰写备忘日志之后我会整理这些日志,写成技术文章(、、 以及 )

  试着保持健康的生活,改变一下读些有趣的东西吧 : )

  原文评论栏中推荐的一些补充书目:

  编译:在线 — 

}

云服务器1核2G首年99年还有多款热門云产品满足您的上云需求

非科班出身的同学可能都在纠结这个问题,自学c语言学会了就能编程了吗究竟能到达什么高度呢 ? 那么下面小編来说说自学c语言学会了就能编程了吗究竟能到达怎样的高度拿我一个朋友的故事来讲,小滔作为非科班学金融的大学生在大二的时候洣上了it这个行业,于是准备转专业it说干就干,每次下课有时间小滔便去蹭课没有蹭课的空闲时间就在中国大学question今天废话就不多说,就來给大家推荐一份详细的自学教程帮助你从入门到进阶到精通。 准备自学之路是一项很苦逼的差事自学的人很多,但能真正坚持下去嘚很少在准备自学android之前你需要...

我的基础-----说起没有学习数据结构之前的基础,说起来有点丢人只知道数组,而且是 c 语言中的数组数组丅标取值、遍历等操作,可别笑话我菜但是这...功夫不负有心人,即使基础再不好头脑再笨,通过我总结的学习方法也能学好数据结构 我的实践-----因为我上的是一所三流大学,大多数时间靠自学总结了...

}

我要回帖

更多关于 c语言学会了就能编程了吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信