如何学习C和Objective-C

23 c objective-c

我正在学习编程.我计划今年夏天学习C和Objective-C.我买了C for Dummies书,但这完全是浪费时间.它的页面太多了!我应该阅读哪些好书?或者我应该从网站上学习C?什么是最快的方式,因为我真的想快速学习它并开始学习Objective-C.

谢谢

另外,学习C需要多长时间?直到我转向Objective-C 2.0

coo*_*ird 23

没有必要急于求成.按照自己的进度学习,找到最佳的学习方式.

如果你的阅读是你的事情,那么试着读一些书然后慢慢来.

如果你找到了一个你掌握的概念,那就练习吧 如果您发现一个您不太了解的概念,请进行实验.一旦您认为您理解了这个概念,请尝试重新阅读材料,看看您是否第二次理解它.

我发现自己并不擅长通过书本学习 - 我通常不得不在课堂上通过结构化课程开始第一步.在Java社区学院的一个学期课程能够轻松地朝着能够自己开始有效学习的方向发展.看看你们学校是否有任何编程课程.

(虽然在你这个年纪可能有点难以找到 - 我没有得到任何正式的课程,直到社区大学 - 我的高中没有提供任何编程课程.)

需要注意的一件事是以错误的方式学习它.

翻阅材料,或阅读写得不好,不准确的学习材料,可能会导致您需要"取消学习"这些概念并以正确的方式重新学习.

在这方面,K&R书(Kernighan和Ritchie 的C编程语言)将是学习的"正确方法",但它并不是一本非常平易近人的书.这并不是说它是关于C的权威书籍 - 但即使在用C编程了几年之后,我仍然试着一次读取它一口大小.

但话说回来,我真的不能想到其他"好"的学习资源C.我的建议是看看K&R,一次只做几页.不要考虑像普通书一样阅读 - 阅读一节,试一试.一点一点地做.再一次,不要急于求成.以自己的速度工作.

并确保编写代码.如果没有看到它的工作,学习编程就会很困难.并且一开始并没有很大的期望,因为一开始学习C的大部分都涉及仅处理文本的程序.

一旦掌握了一些东西,就要尝试编写其他人可读的干净代码 - 这应该是编写干净清晰代码的动机,它会迫使你更加思考你正在做什么.

这将是一次漫长的冒险,所以一步一步.祝好运!

  • 看,K&R的问题在于它针对的是工程师和使用计算机的人.看看很多例子和练习.用反向抛光记法写一个计算器?排序算法?将数字转换为字符串,同时考虑二的补数表示?对不起,但对于一个正常的12岁孩子来说这是相当的核心. (4认同)
  • 哦,不要低估12岁儿童的能力;) (2认同)

hbw*_*hbw 11

对于学习C,我强烈推荐Dave Mark 在Mac上学习C语言.它不仅针对初学者,而且还教你很多关于编程和计算机科学的重要基础知识(例如数据结构,递归等).它非常易于访问,编写良好且易于阅读.另外,我发现这些例子很有吸引力并且很有趣.在那之后,如果你真的想在C中巩固你的基础,我建议你继续学习C语言.这是一本具有挑战性的书,所以慢慢来吧.如果你发现自己遇到了太多的麻烦,我会说你可以跳到Objective-C,然后一旦熟悉了编程,就会回到C编程语言.

很多人可能会推荐使用C语言编程语言(又名"K&R")作为你读C语的第一本书.毫无疑问,它是一本写得很好的C书(而且它也很短 - 只有200页左右),但是我会说这是一个有点令人生畏的12岁男孩第一次接触C:这是非常密集和硬核.你可以说它绝对针对具有强大计算机/工程背景的老年观众.但是,如果您已经了解编程的基础知识,那么阅读K&R将为您提供宝贵的洞察力和对C的理解.您应该在编程工作的某些时候阅读它.

无论如何,对于Objective-C,如果只有一本我可以推荐的书,它绝对是Aaron Hillegass的Mac OS X的Cocoa Programming.它真的不是那么长(约400页左右,虽然我认为很多是由于书中插图的数量),你可以在一个下午开始运行一些非常酷的项目.它非常清晰易读,这些例子很实用,也很有趣,但最重要的是,它可以正确地融合在一起,不会过于恐吓,同时还能为您提供可靠的信息.另外,它还会教你不仅仅是Objective-C:我发现我学到了一些非常有用的设计模式,例如,通过学习Cocoa的某些组件是如何工作的.

  • 奥斯汀,学习C是一项长期的努力.在调查Obj-C之前,学习/的基础知识可能是值得的.但是不要等到你是C专家,因为这需要很长时间.:) (2认同)

小智 6

当我看到这个问题的标题时,我猜你是12岁.

我13岁的时候开始编程(我现在14岁).

我发现学习取决于你是一个什么样的学习者!

我讨厌阅读,我有一个飞蛾的注意力,我从视频中学到了很多东西.因此,我是一个"视觉学习者".试着找出你是什么样的"学习者",然后这样做.请记住,最简单的方法是最快的.

PS,这里有点小提示.这可能令人沮丧(在我们这个年龄无菌).如果你感到沮丧,那就把它放下10分钟吧.然后回来研究你的学习内容.编程将有时令人沮丧.

编辑: 顺便说一句,我喜欢通过视频学习:p

  • 完全同意.从我12岁开始,现在作为一个24岁的孩子,有时仍然非常令人沮丧.但是,你学习如何学习,奖励永远是值得的. (4认同)
  • MHM.我不能告诉你有多少次我把我的电脑关上了,因为我根本不知道我在做什么 (2认同)

zpa*_*ack 5

斯坦福大学在线发布CS193P(iPhone开发类)的讲座,课堂笔记和作业.如果您根本不了解C或Objective-C,可能会很难,但如果您打算进行iPhone开发,我强烈建议您这样做.

我想我已经阅读了所有Cocoa和Objective-C书籍,并且大多数人都喜欢Aaron Hillegass的Mac OS X可可编程.


Jos*_*osh 0

我认为最快的方法是通过网站学习。

  1. 设定一个你想做的目标并开始一个简单的项目
  2. 不要从理论上阅读太多书籍,而是在谷歌上搜索你想知道的内容,以便在你完成项目时立即获得它。这样你就可以获得实用知识。
  3. 也可以观看在线视频。在此处查看我关于视频的问题
  4. 有什么不懂的可以在 stackoverflow 上提问。我们随时为您提供帮助:)

遵循这些步骤,我可以向您保证,您很快就会成为一名出色的程序员!

干杯!

  • 仅通过谷歌搜索文章和代码片段并不能保证是一种有效的学习方法:很多时候,不同来源之间会存在差距或假设的知识,甚至不准确。就我个人而言,我并不认为乔尔所说的“知识中的页面错误”确实是一种很好的学习方式——它可能很快,但你最终可能会花更多的时间重新学习基本概念,从而使结果,整个过程变得更慢、更痛苦。 (2认同)
  • 只需加入并构建您梦想的软件作为入门项目?如果你没有老师,这听起来并不是一个学习基础知识的好方法。这就像告诉一位崭露头角的建筑师继续建造一座摩天大楼一样。 (2认同)