



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
转帖转帖 程序员之路程序员之路 如何学习如何学习 C C 语言并精通语言并精通 C C 语言语言 程序员之路 如何学习 C 语言 学习 C 语言不是一朝一夕的事情 但也不需要花费十年时间才能精通 如何以最小的代价 学习并精通 C 语言是本文的主题 请注意 即使是 最小的代价 也绝不是什么捷径 而是以最短的时间取得最多的收获 同时也意味着你需要经历艰苦的过程以最短的时间取得最多的收获 同时也意味着你需要经历艰苦的过程 一 要读就读好书 否则不如不读 所有初学者面临的第一个问题便是 如何选择教材 好的开始是成功的一半 选择一本 优秀的教材是事半功倍的关键因素 不幸的是 学校通常会帮你指定一本很差劲的 C 语言 课本 而幸运的是 你还可以再次选择 大名鼎鼎的谭浩强教授出了一本 C 语言程序设计 据说发行量有超过 400 万 据我 所知 很多学校都会推荐这本书作为 C 语言课本 虽然本人的名字 谭浩宇 跟教授仅仅 一字之差 但我是无比坚定地黑他这本书的 这本书不是写给计算机专业的学生的 而是 给那些需要考计算机等级考试的其它专业学生看的 这本书的主要缺点是 例子程序非常例子程序非常 不专业 不能教给你程序设计应该掌握的思考方式 程序风格相当地不好 会让你养成乱不专业 不能教给你程序设计应该掌握的思考方式 程序风格相当地不好 会让你养成乱 写代码的恶习 错误太多 曾经有人指出过这本书的上百个错误 其中不乏关键的概念性写代码的恶习 错误太多 曾经有人指出过这本书的上百个错误 其中不乏关键的概念性 错误 错误 好了 这本书我也不想说太多了 有兴趣大家可以百度一下 Kernighan 和 Ritchie 的 The C Programming Language 中译名 C 程序设计语言 堪称经典中的经典 不过旧版的很多内容都已过时 和现在的标准 C 语言相去甚远 大 家一定要看最新的版本 否则不如不看 另外 即使是最经典最权威的书 也没有办法面 面俱到 所以手边常备一本 C 语言参考手册 是十分必要的 C 语言参考手册 就是 C Reference Manual 是 C 语言标准的详细描述 包括绝大多数 C 标准库函数的细节 算得上是最好的标准 C 语言的工具书 顺便提一句 最新的 C 程序设计语言 是根据 C89 标准修订的 而 C 语言参考手册 描述的是 C99 标准 二者可能会有些出入 建议 按照 C99 标准学习 还有一本 C 和指针 写得也是相当地不错 英文名是 Pointers on C 特别地强调指针的重要性 算是本书的一个特点吧 不过这本书并不十分适合初 学者 如果你曾经学过 C 语言 有那么一些 C 语言的基础但又不是很扎实 那么你可以尝 试一下这本书 我相信 只要你理解了指针 C 语言便不再神秘 如果你已经啃完了一本 C 语言教材 想要更进一步 那么有两本书你一定要看 首先是 C Traps and Pitfalls 中译名 C 陷井与缺陷 很薄的一本小册子 内容非常 非常地有趣 要注意一点 这本书是二十多年前写成的 里面提到的很多 C 语言的缺陷都 已被改进 不过能够了解一些历史也不是什么坏事 然后你可以挑战一下 Expert C Programming 中译名 C 专家编程 书如其名 这本书颇具难度 一旦你仔细读完一旦你仔细读完 并能透彻理解 并能透彻理解 你便可以放心大胆地在简历上写 精通 C 语言 了 切记一个原则 不要读自己目前还看不懂的书 那是浪费生命 如果你看不懂 那你一 定是缺失了某些必需基础知识 此时 你要仔细分析自己需要补充哪些内容 然后再去书 店寻找讲述的这些内容的书籍 把基础知识补充完毕再回头来学习 才会真正的事半功倍 二 Unix Linux 还是 Windows 这是个很大的问题 不同的编程环境会造就出不同思维的程序员 Windows 的程序员大多依赖集成开发环境 比如 Visual Studio 而 Unix 程序员更加钟爱 Makefile 与控制台 显而易见 集成开发 环境更容易上手 在 Windows 上学习 C 语言 只需要会按几个基本的 Visutal C 工具栏 按钮就可以开始写 Hello World 了 而在 Unix 下 你需要一些控制台操作的基本知识 有人也许认为 Unix 的环境更简洁 但习惯的力量是很大的 大家都很熟悉 Windows 的基 本操作 而为了学习 C 语言去专门装一个 Unix 系统 似乎有点不划算 对于一个只懂得 Windows 基本操作 连 DOS 是什么都不知道的新手而言 尽快做一些有 趣而有意义的事情才是最重要的 用 C 语言写一个小程序远比学习 ls cat 等命令有趣 况且我们要专注于 C 语言本身 就不得不暂时忽略一些东西 比如编译链接的过程 Makefile 的写法等等等等 所以我建议初学者应该以 Visual C 6 0 不是 VisualC NET 或者 Dev C 作为主 要的学习环境 而且千万不要在 IDE 的使用技巧上过多纠缠 因为今后你一定要转向 Unix 环境的 Visual C 6 0 使用很方便 调试也很直观 但其默认的编译器对 C 标准的支持 并不好 而 Dev C 使用 gcc 编译器 对 C99 的标准都支持良好 使用顺带提一下 很多 大学的 C 语言课程还在使用 Turbo C 2 0 作为实验环境 这是相当不可取的 原因其一是 TC 2 0 对 C 标准几乎没有支持 其二是 TC 2 0 编译得到的程序是 16 位的 这对今后理解 32 位的程序会造成极大的困扰 当然 用 djgpp 之类的东西可以使 TC 2 0 编译出 32 位程 序 不过那过于复杂了 等你学完一本 C 语言的教材 你一定要转向 Unix 平台继续学习 几乎所有的 C 语言高 级教程都是基于 Unix 平台的 比如 C 专家编程 转变的过程是痛苦的 你需要面对 的是各种纷繁复杂的命令 完全不同于 Windows 平台的思考方式 但是这种痛苦是值得的 Unix 与 C 是共生的 Unix 的思考方式和习惯更加符合 C 语言的思考方式和习惯 在 Unix 下 你可以找到无数优秀的源代码供你尽情阅读 你可以方便地查看某个库函数的联机手 册 还可以看到最优秀的代码风格 归结起来就是一句话 初学 C 语言 建议使用 Windows 系统和集成开发环境 在准备向 高手 方向努力时 请先转向 Unix 平台 三 万事俱备 你就是东风 书已选定 环境配置完成 正所谓万事俱备 只欠你自己的努力了 请从书的前言开始 仔细地阅读手头的教材 很多人看书喜欢直接从第一章开始看 这是错误的做法 前言是 作者对整本书的大体介绍 作者一般会告诉你需要什么基础才能够顺利阅读本书 这可以 帮助你检验自己的基础知识是否已经具备 看完前言 还要浏览一下目录 了解一下书的 整体结构 顺便给自己安排一下学习计划 学习 C 语言 必需注意每一个细节 书上的例子代码一定要自己亲自敲一遍 编译执行 输出都跟书上说的一致才能算是学完了一个例子 如果不一致 就要仔细找原因 出了书 本上有的例子 自己还要 创造 一些例子 比如学习运算符优先级的时候 可以写几个 相同的表达式 在不同的位置加上括号 看看有哪些不同的行为 比如 p 和 p 又 比如 a b c a b c 和 a b c 等等 自己抄的书上的例子以及改造之 后的例子 还有自己 创造 的例子 都应该仔细地归类保存 并且要在源代码中写上简 短的注释 阐述这个例子的意图 例子之后就是习题了 我建议初学者把所有的习题都独立做一遍 然后对照答案的代码 看看自己的代码有那些不足 再试着修改自己的代码 很多人不重视习题 这是极大的错 误 因为作者通常会在习题中说明一些重要的道理 而不是单纯地检验前面的知识 也许你认为这样学习太慢 其实不然 学得细致就不用走回头路 等你学到后面才发现 自己前面没搞清楚 那才是真的得不偿失 一般说来 整本书读完 你应该完成数千行乃 至上万行的代码 无论是原封不动照抄书上的 还是自己心血来潮写就的 都是今后继续 学习的一笔财富 以我自己举例 阅读 Windows 核心编程 时 我只阅读了 3 4 的内容 除了抄书上的代码 还自己写了很多例子 一共有 5574 行 用 unix 下的 wc 工具统计 时隔多日 我早已记不清 Windows 的系统编程了 但只要花几分钟翻出以前的代码看看 便会重新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育技能初赛试题及参考答案
- 年公司年终试题及答案
- 毕节安全员b证考试题库及答案解析
- 胸外科护理三基题库及答案解析
- 涂料化工基金从业考试题及答案解析
- 期货从业考试重复题目及答案解析
- 2025年高二秋季开学摸底考试地理试卷(广东专用)(解析版)
- 护理医院考试题库及答案解析
- 2025年银行招聘之银行招聘综合知识模拟考试试卷附答案详解
- 2025年高技术模拟会考试题库及答案指导
- 2024-2025学年山东省济南市高一上册第一次月考数学学情检测试题
- 2025年印刷行业趋势分析报告
- 劳动教育的跨学科融合
- 2025年中考英语高频词汇表
- 《钠离子电池简介》课件
- 十八项核心制度
- 《水的组成说课课案》课件
- 理疗课件教学课件
- 起重作业十不吊、八严禁
- 医院消防安全知识培训课件
- 快件处理员(中级)职业技能鉴定考试题库(含答案)
评论
0/150
提交评论