C语言难学吗,多久能学会?(小白必读)

对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。

C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如:

  1. 计算机的各个部件是如何交互的;
  2. 程序在内存中是一种怎样的状态;
  3. 一个程序究竟是如何执行的;
  4. 操作系统和应用程序之间有着怎样的爱恨情仇。

这些底层知识决定了你的发展高度,也决定了你的职业生涯。如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手,7 天了解一门新语言不是神话。

C语言难学吗?每个人的逻辑思维能力不同,兴趣点不同,总有一部分人觉得容易,一部分人觉得吃力。对于你来说,我也不知道它难不难,我只知道,只要你想学,肯定能学会。

在我看来,技术就是一层窗户纸,是有道理可以遵循的,最起码要比搞抽象的艺术容易很多。

但是,隔行如隔山,学好编程也不是一朝一夕的事,想“吃快餐”的读者可以退出编程界了,浮躁的人搞不了技术。

在技术领域,编程的入门门槛很低,互联网的资料很多,只要你有一台计算机,一根网线,具备专科学历,就可以学习,投资不超过 1W 元。

想快速入门 C 语言的小伙伴,这里我给大家推荐一套之前看过的教程,语言非常通俗移动,没有那种“学院派”的味道,知识点全面、详细,非常适合 0 基础、想快速入门编程的人。

C语言基础教程(适合小白)icon-default.png?t=N7T8https://xiexuewu.github.io/c/

至于学习时间(以找到工作为准),0.5年 ~ 2年不等。

合格的程序员,或者高薪的程序员,需要两年的学习时间;半吊子码农,或者只懂增删改查的码农,半年也能做出一些不靠谱的项目。

程序员要掌握/了解的东西包括计算机四件套 + 算法 + 对应方向的技术栈 + 数据库,然后还得做两个拿得出手的项目。前前后后加起来,怎么也得两年的时间吧。那些参加培训班的小伙伴,往往不到半年就毕业了,其实只能学到对应方向的技术栈 + 数据库,而且还学得不扎实,一问底层就挂了。

注意,我说的 0.5年 ~ 2年是就业需要的时间,如果是入门编程,比如入门 C 语言,只需要 1 个月左右的时间。

学习 C 语言,我建议花 1 个月的时间学习,最终能独立做出一个学生信息管理系统或者贪吃蛇游戏,就表明你的 C 语言基础掌握的可以了,继续去学习其他的技术,比如学 C++、数据结构、算法、设计模式、socket 等等。

反之,如果你学了 1 个月,还是对 C 语言一知半解,对编程没有感觉,我觉得就不要在编程这件事情上浪费时间了。

初学者必须从C语言开始学吗?

建议从C语言开始,然后学习数据结构、算法、内存、线程、进程、通信、操作系统等基本的概念,它们是学习编程的基础,不管是应用层开发还是底层开发,这些知识都是必须的。

如果你非要跳过C语言,从其他语言开始,比如 Java、Python、JavaScript、C#、Golang 等,也不是不可以;但是,在学习的过程中你会有一种雾里看花、空中楼阁的感觉,很多东西只会用,却理解不了,深入不了,原因就是没有计算机基础,没学会走就想跑了,这个时候,还得老老实实回来学习C语言。

C语言避坑

学习C语言的主要作用是让你入门,了解编程语言的基本语法,强化编程思维,然后再学习计算机的底层知识,为以后的职业生涯打下坚实的基础,而不是用C语言来做实际开发。

千万不要陷在C语言的语法里面拔不出来,尤其是那些复杂指针、各种 scanf/printf 玩法、不常见的预处理命令等,不要在它们身上花费太多功夫。C语言学上一两个月就行了,赶紧跳出来,去学习底层知识吧。

底层知识也不用一下子都学透,没有开发经验的话,学起来也非常枯燥和乏味,容易无的放矢。

先理解基本的概念,知道它们是怎么回事就行了,然后尽早跳出来去做应用开发,找到兴趣点,获得成就感。

在实际开发中,遇到问题,或者哪里理解不透了,可以再来回顾这些底层知识,这个时候就可以深入细节了。因为有了实际开发经验,再学习底层知识就知道哪里是重点了,不会像无头的苍蝇一样乱飞,什么都学。

等到快要找工作了,再背背八股文,就差不多了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值