vlambda博客
学习文章列表

零基础如何学好C语言/C++

首先告诉你的是,零基础学习开始学习C语言/c++肯定难,C语言的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你不认真的对待,你就找不到高薪水的工作。 

提醒大家几点  

一:盲目的去学  当初我在对于C语言这个行业什么都不了解的情况下,比如:不知道未来发展趋势,不知道学习C语言应该注意哪些初始问题,不知道具体的学习规划学习路线等等,一味的买书看书,看视频,到了中期阶段萌生放弃的想法,和主要是因为觉得自己越学越迷茫,也知道自己这样学找不到工作,这是初学者最大的误区。 

二:孤军奋战  当初在学C语言的时候,从来都没有跟别人交流过,就感觉活在自己的世界里,总认为自己什么都可以搞定,而且很多知识不会了,直接就过去了,并没有深究,而这种学习态度也注定了我的学习是失败,学习C语言一定要有讨论的过程,只有跟不同的交流才能了解到你自己不知道的东西。 

三:没人指点  C语言对于我来说是从来不了解的行业,而我当时从来没有想过找一个这个行业比较厉害的人去请教下,现在我终于认识到了一点什么叫“方法不对,努力白费”所有的C语言大神都有自己的学习方法,而学C语言的学习也基本是一致,而对于一个什么都不懂的初学者根本不会知道怎么学,这也是造成失败的最直接原因。 

四:盲目看书  对于新手来说,学习一个技能肯定是买书看书,但是后来我才实践的证明,对于一个啥都不懂的初学者来说看书基本可以成为无用的,因为这样的结果就势必会造成大多数人的情况:能看懂,但是永远不会写,这就是我最初出现的问题,非常烦人,所以建议初学者少看书,多动手,必须弄清楚C语言的效率学习方法。 

五:到处搜集视频  好像大家都有一个毛病,就是到处搜集资源,云盘里有很多东西,但是基本是从来都不看,所以说视频在精不在于多,我当时自学C语言的时候也搜集了各种视频,这里看看,那里看看,学的一点都不系统,而且学了之后也找不到工作,视频一定要最新的,C语言更新的快,旧的是不可以的。 

C语言同C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件。

借用我一个朋友的名言:“现在的程序员,不掌握好几门语言都不好意思跟别人打招呼。”就目前的企业的岗位设置来说,只会C语言的话(当然,能达到深究算法、操作系统、数据库、网络协议的C语言工程师除外),基本上是找不到工作的。首先我们要选定一个方向,继续学习其他知识,后面就会发现,C语言不过是冰山一角,是一项基本求生技能而已,除此以外,程序员要学习的东西还有很多。

对于很多C语言初学者,都会存在如下误区:学习C语言之后今后就要在C语言这条路上走到黑。其实学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。或者也可以这么理解,学好C语言,可以奠定我们今后学习其他编程语言(类C语言)的基础。

零基础学习C语言如何入门

如果你是零基础学习C语言的小白,我建议大家先想明白以下几个问题:

▌未来从业方向:学习C语言能干什么?

C语言既有高级语言的特点,又有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。

一句话概括:如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言

▌需要掌握哪些技能才能满足企业用人需求?

C语言常规岗位职责:

1、服务器软件开发;

2、负责项目架构设计,TCP/IP协议定义;

3、负责系统的架构设计、性能瓶颈分析、性能调优工作;

4、负责技术难点的攻破。

C语言常规岗位任职要求:

1、3年以上服务器相关开发经验,熟悉TCP/IP协议,及制定和规范协议;

2、熟练TCP、UDP协议编程,熟练socket网络通讯编程;

3、熟练C语言编程,熟悉C++编程;

4、熟悉Linux系统编程,多线程和多进程编程;

5、熟悉epoll、select等服务器端异步高并发模式,libevent或者libev等应用;

6、熟悉Mysql数据库,及API编程。熟悉SQL语言;

7、能处理数据库连接池性能瓶颈优先考虑。

▌零基础学习C语言,怎么入门?

能接受枯燥学习法的初学者,啃书效果肯定是奏效的,基础入门书籍吃透一本,收获颇丰。

推荐几本入门书籍:

1、《C程序设计语言》

推荐理由:全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,《C程序设计语言》是一本必读的程序设计语言方面的参考书。

零基础学习C语言如何入门(内附工具书推荐+视频教程)

2、《C primer plus》

推荐理由:本书全面讲述了C语言编程的相关概念和知识。适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。

零基础学习C语言如何入门(内附工具书推荐+视频教程)

3、《C陷阱与缺陷》

零基础学习C语言如何入门(内附工具书推荐+视频教程)

推荐理由:结合自己的工作经验,创作了这本对C程序员具有珍贵价值的经典著作。出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。

小编整理的C语言/C++工程师必备知识的思维导图。

初学者看到这么密集的知识点,是不是有点眼晕呢?的确,C/C++是一门知识面覆盖很广的学科。想学好C/C++的你并不需要慌张,内容虽多,但依然有法可依。只要有足够的耐心和毅力,加上正确的学习方法,就不怕你学不好C/C++