关于C语言的初级入门学习

大二第一学期学院开设了C语言程序与设计,用的书是谭浩强第四版。刚好我在寒假重新学习了C语言(用的书是C Primer Plus 5th),本文就来讨论下两本书的差异和我的C语言学习的一些小经验。


IDE : VS2012(建议在Linux环境下使用GCC,VS2013或其他编译器,现在GCC对C99和C++11的支持比较完善)

学习环境:一台老式即将淘汰的笔记本和外接显示器。(双显示器确实很爽,现在我一般一台开虚拟机一台开VS2012)

正文:

在网络上谭浩强第四版饱受诟病,然而有一部分黑这本书的人纯粹是跟风黑,自己可能只读过这本书。

寒假初期,我还在犹豫是选择C Primer Plus 5th 还是 K&R,在细看了两本书的目录后我选择了前者。因为前者在学习完基本的内容后还有关于数据结构的知识。


先说说谭浩强第四版吧,此书用作入门我是不反对也不支持的。这本书所讲的内容过于简单,没有更深层次对C语言和系统的理解,对现在的C99标准的描述极少,甚至还有不少错误。具体例子在这就不举出来了。此书拿来应付应付计算机二级绰绰有余了,考试就爱考些老谭的自加自减。

再来看看C Primer Plus 5th 第一个亮点就是本书对C99的描述比较详细,不过对学习的系统环境对Linux的讲解比较多。我大微软的表示不服啊!所以建议初学者就去玩Linux吧。

在讲解完C语言的基本内容后,CPP会有一章特别讲解创建一个更友好的用户界面,可以让初学者对UI有个简单的印象,虽然想要搞UI设计还是得学一些其他更专业的知识。然后就是关于存储类,链接和内存管理的内容,特别是分配内存的章节。学过数据结构的同学应该都知道,有一大部分数据类型在使用C创建的时候要进行内存的分配。我在上数据结构这门专业课的时候,老师用C并没有详细讲malloc() 和free()(老师主要用的C++来讲数据结构),也因为谭书中并没有详细讲,基本只是略过,导致许多同学并不知道为什么要使用malloc() 和free()。因此在CPP中能学到这些内容对后期学数据结构很有帮助。

补充,关于文件输入/输出,谭书讲了好像没讲,还好有CPP中详细对标准I/O函数。还有就是C于处理器和C库,同样是上述情况。位操作就根本没提过,虽然这是个大范畴不专属于C。有时不禁在想,这谭书写出来到底是不是为了教学的。

总的来说,CPP涵盖的知识更多,对深入学习C有比较大的帮助,我也粗略看过K&R,这本书内容非常精简,作为入门书也是可以,不过0基础自学起来可能比较吃力。有人开玩笑说道,把谭书给烧了,生成的PM2.5算出版社的,哈哈。

学习编程还是得多多练习,只看书是不行的,不看书也是不行的。不要抱着个VC++6.0玩,要去多多使用其他编译器。


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

就先写到这里吧,第一篇Blog,开个小头。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值