学习c语言用什么软件

本回答为作者(鹏鸟)原创,欢迎转发!

我是品机小屋的屋主“鹏鸟”,热衷回答有关C语言领域和家庭视听娱乐领域的问题。


C语言是一门编程语言。从C语言入门,到在某个领域使用它解决问题,这个过程需要付出很多的努力。而且,学习C语言,并不是语法学好就行OK,还要用它来解决实际的问题,需要学习很多的其他知识。

正好有很多小伙伴在问,学习C语言有没有一个路线呢?在本回答我就来说说C语言的学习路线。当然了这也只是我的看法,小伙伴们有不同的看法可以在评论区留言讨论。

C语言学习路线图如下图所示:

下面我来一个一个地解释每个阶段,希望对你有所启示。

一、C语言基础

这个阶段就是入C语言的门,学习C语言的历史、发展过程以及C语言的语法。语法也就那些个东西,像基本数据类型、程序控制结构、运算符、数组、指针、结构体、链表、文件、函数等等。比较有困惑的可能是指针、链表等。

我认为这个阶段的难点不在于学习这些语法知识点,而在于耐心。是的,你没看错,是你的耐心,这绝对是个难点。学习C语言的语法是一个非常冗长、枯燥、无味的过程;而且你还会受到周围环境影响,你的基友们在玩游戏、打牌、泡妞儿,你会不受他们的影响?谁信!这个时候就看你有没有较好的心理素质,看你能不能扛过来,在该学习的时候仍然能耐心地坐着学习。所以耐心这个东东,靠你自己了!

这个阶段还需要了解C语言常用的标准函数库。比如字符串函数库的常用函数,数学函数库的常用函数等。这些函数库会在代码中经常用到。

二、深入C语言

经过第一阶段的C语言基础学习,你可能只是获取了表面上的认识,也许你还需要进一步提升自己,加深自己对C语言的认识。举个例子吧,学到赋值运算符“=”时,你知道了这是个用来给变量赋值的运算符,在if语句中,你可能会这样写:

if ( 变量a == 1)….

但是有经验的程序员却会这样写:

if ( 1 == 变量a)….

所以需要在进阶的阶段,多了解一些C语言更为本质的东西。

这个阶段你可以选择性地看一些C语言提高的书籍,来帮你更为深入地认识与理解C语言,帮你纠正你在基础阶段的一些错误的认识。

三、平台选择

在C语言基础阶段和C语言深入阶段,你仅仅是在学习C语言这个工具,无关乎在哪个操作平台。现在这个阶段,你就需要决定你未来在哪个操作系统平台上使用C语言编码。

如今主流的两个平台一个是Windows,一个是Linux。就目前来看,商用的平台以Linux居多,你工作之后很有可能是在Linux上做项目。而在学校里,可能在Windows上做项目的居多。

一旦你选择了一个平台,那么你就需要学习在这个平台下的编码知识。

如果你选择的是Linux,那么你也许需要知道:

Linux现在有很多的免费的发行版,比如Ubuntu、openSUSE等,你可以下载你喜欢的,自己先上手玩玩。

Linux下的C语言编译工具,gcc、make等。

Linux下的调试工具,比如gdb。还有一些内存工具等。

代码编辑工具。比如Vim,Emac等。你需要学习Vim的一些命令。

如果你对图像化开发环境比较感兴趣,你可以找一些免费的IDE,比如有Linux版本的Eclipse等。

Linux环境下如何组织多个源文件,并且编译它们、运行它们。

如果你选择了windows平台,那么你需要了解常用的开发IDE等。目前比较流行的IDE是微软的Visual Studio家族。至于Visual C++ 6.0,建议别用了,实在是太老了!

四、编码

在上述三个阶段中,每个阶段都需要上机练习敲代码。遵循由简到难的原则,慢慢来,不要急,刚开始写的代码我觉得能运行出来就行。后面随着时间的延长,慢慢地就要注意代码的风格、代码的规范,还要开始学习一些数据结构、算法的基础知识了。

现在网上有很多的刷题网站,比如著名的OJ题库就很不错,经常上去练练手,把自己目前学到的所有知识,包括C语言语法知识、C函数标准库、调试方法、跟踪方法、数据结构、算法等都用上去,就这样慢慢地去提高自己的水平。

五、领域选择

如果说上述四个阶段还属于自娱自乐的话,那么从这个阶段开始,你就要开始严肃一点了。

经过之前的四个阶段,也许你的编程技术有了很大的提高,基础也打的很牢固了,但是不能解决生活、工作中的实际问题有个鸟用!所以,现在到了你为自己选择一个研究领域的时候了,说不定也是你未来工作的研究领域。

C语言可应用的领域很多,我想到的大概有如下几方面:

计算机网络;

图像处理;

音视频处理;

嵌入式开发;

DVB数字电视;

硬件驱动;

……….

你选择了某个领域,你就要去学习这个领域的知识。这个时候,你之前学习的所有的编程技术都只是工具而已,工具只是用来解决问题的。举个例子,你选择了在计算机网络领域使用C语言解决问题,今后想从事网络方面的编程,开发聊天软件、文件传送软件等,那么你就需要好好学习计算机网络领域的知识,包括OSI七层模型、TCP/IP协议族、路由器、交换机等等。如果你选择了音视频处理,今后想从事音视频应用开发,那么你就需要学习编码、解码、封装、流媒体等概念;如果你选择了DVB数字电视,那么你就需要学习PSI/SI标准、解扰、解调、复用等概念。

六、继续编码

在你选择你研究的领域后,选择你使用的平台,那么你就要开始在这个OS平台上,使用C语言解决你这个领域内的问题了。如果说在第四阶段,你写的代码叫“练手代码”,那么现在你写的代码就是“业务代码”了。如果说在第四阶段,你写代码的目的还只是磨炼自己的技术,那么现在你写代码的目的纯粹就是在解决问题,帮助你的公司创造价值。

七、编程磨炼

在第六阶段的编码中,你对自己的技术需要“深入”。你的编程意识要深入,编程思想要深入,你选择的OS平台要深入,你的算法设计要深入,你的代码管理要深入…….总之,一切都要“深入”!

八、代码管理

代码管理在整个项目管理中非常重要。常用的代码管理工具有SVN、Git等等,这也是你必须要学习的工具。

上面是我总结的C语言学习的路线。这八个步骤并不是严格的顺序关系,因人而异。

这个路线图还有许多东西需要补充,小伙伴们有什么好的建议可以给我留言,一起来完善这个路线图。

小编从事嵌入式C语言编程十余年,从三个层次谈谈如何学好C语言,贻笑大方。

1.初级阶段,目标是了解C语言,会用C语言。这个入门的初级阶段,很重要,它是技术大厦的根基,不应也不该随便完事。此阶段应注意:C语言,编码风格。

小编强烈推荐一本书:C primer plus。该书畅销30余年,知识覆盖面全,讲解简单,通俗易懂。

编码风格,可以参考一些大公司,如谷歌,华为等一些编码规范,亦可参考一些行业标准。

2.进阶阶段,
目标是熟悉C语言,用好C语言。这个阶段是拉开距离的阶段,务必把握好方向,踏实地努力学习。此阶段应注意:向经典学习,以C语言为中心扩散学习。

小编推荐一本书《程序员的自我修养-链接、装载和库》,主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项。

小编建议至少研读一款嵌入式操作系统,推荐uC/OS-II(最新是ⅠⅠl版),uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS)。

3.高级阶段,目标是精通C语言,认识C语言。此阶段应回归基本,深挖基础,在语法,语义,语句,都有独到的见解,阅读一切代码,尤其是复杂的大型的代码无障碍,例如Linux。理解代码作者意图和思想,通俗来讲,增删修改代码时,应和作者一脉相承,就像同一个人写的那样。此阶段完成的好,就练就了举一反三的本领,其他编程语言,也会很容易上手掌握。

以上每一个阶段,看书,阅代码,写代码,这三步曲都应反复实践,多思考多总结,量变提升到质变,自然水到渠成。

谢谢大家。

原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/4735.html

(0)
上一篇 2022-10-24 下午2:30
下一篇 2022-10-25 上午9:35

相关推荐

  • 学西点哪个学校最好,学西点哪个学校比较好

    在国内,我不敢说自己是最好的,但是在福建一定是。欧米奇全国17家,厦门欧米奇在岛内湖里区华美空间对面,有3000多平,包揽了一整层楼的校园。可以学西点,西餐 咖啡 调酒,14间西点…

    培训问答 2022-11-09
  • 天津导游证,天津考导游证怎么报名

    1.是有传闻说今年六月之后要出台新的法律法规,要严格控制导游考试的学历门槛,必须本科以上学历才可以报考。本科在读生是没有问题的。 2.自从86年导游考试改革之后,导游证的考试可以在…

    培训问答 2022-05-04
  • 焊工怎么考,考焊工理论技巧

    焊工考试的内容一般分为理论和实践两部分。一、理论。理论要求我们多记点知识,多做题。二、实操。就实操考核而言,每类焊工的操作内容各不相同,但做好实操后,我们要注意:将焊条焊在中间的口…

    培训问答 2023-01-05
  • 私立小学怎么样,西湖区私立小学

    我自己小时候就是读私立小学的,所以对于私立小学深有体会。 一、私立学校的益处 1. 相比较于公立学校,私立小学师资力量还是相对不错的,老师入职对能力要求往往高于文凭要求,而且老师也…

    培训问答 2023-03-10
  • 湖南哪些本科大学招收专科,上海专升本考试科目有哪些

    这样的学校有很多,最好联系上海考试院了解,咨询电话:35367070。 我查询到名单如下: 2019上海专升本院校名单 一. 上每自考专升本院校名单 1 华东师范大学 2 上海外国…

    培训问答 2023-03-13
  • 大家开车上路前会找陪练吗

    想快速提升车技首先你一定要对车辆的性能做到非常熟悉,如果你对车辆内部的基本配置,按键用途及如何使用都不清楚,不熟悉的话,那么想开好车是无从谈起的。 在熟悉车辆基本性能及车内按键用途…

    培训问答 2023-06-23
  • 如何自己学习计算机

    首先我来整理一下方向。 设计类:图像处理(ps ai)影视(pr ae)3D(CAD C4D)等等对于技术爱好者设计类是附加项,学但不精,什么时候用什么时候学。 编程类:c,c++…

    培训问答 2023-03-04
  • 网络运营人员应该如何优化网站建设

    应该如何进行网站优化? 在互联网时代,绝大部分有实力的企业都会选择在网上建立网站,来推广自己的服务或产品。在这个大趋势下,越来越多的同质化企业网站或同质化信息涌现,导致用户在搜索企…

    培训问答 2022-11-29
  • 天津青少年篮球培训,青少年篮球训练如何均衡发展的

    好久没有写有关于训练的文章了,今天有感而发。续写一下自己对于青少年篮球训练均衡发展的感想,对于青少年篮球训练,在他们这个年龄段是没有位置与技术之分的,都是处在初学,打基本功的阶段。…

    培训问答 2022-12-12
  • 员工福利制度,一般员工对企业员工福利都有什么要求呢

    哈喽!我是“发哥_打工在线”,打工20多年,专注各类打工话题。今天分享话题:一般员工对企业员工福利有哪些要求? 自己现在工作是负责招聘事项,接触这类比较多,来分享一下这方面的所见所…

    培训问答 2022-10-29

发表回复

登录后才能评论