初学者必须学习C语言吗?

作者: 青蛙兄 分类: 运维基础 发布时间: 2019-09-29 16:52

C语言?

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

 C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

 

通用性语言?

C语言是一门通用性的语言,并没有针对某个领域进行优化,在实际项目中,C语言主要用于较底层的开发,例如:

Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发;

开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;

单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;

开发系统组件或服务,用于支撑上层应用;

编写PHP扩展,增强PHP的功能;

如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。

 

初学C的坑与迷茫?

对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂亮的界面和生动的交互。于是学数据结构,学算法,学操作系统,越陷越深,越来越难,最后迷茫了,不知道学C语言能做什么,认为学习编程很难,开始怀疑自己,甚至想放弃。其实,这是很多初学者都会踩到的一个坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统、第三方库、单片机来完成。

C的特点?

效率高

能操作硬件他是效率最接近汇编的语言,能方便的操作硬件,因此经常用来做嵌入式的编程语言,设计操作系统。

高级语言

模块快画、结构化,编程和维护方便这一特点只是相对像汇编那样的低级语言来说的,对同样都是高级编程语来说,优势不是很明显。

语法灵活

如果你开始学的汇编,你就会知道C的灵活和零碎,感到不适应。但是用的时间长了,除非特殊情况,否则你再也不想用汇编了。

初学者必须学习C语言吗?

建议从C语言开始,然后学习数据结构、算法、内存、线程、进程、通信、操作系统等基本的概念,它们是学习编程的基础,不管是应用层开发还是底层开发,这些知识都是必须的。如果你非要跳过C语言,从其他语言开始,比如 Java、Python、PHP、JavaScript、C# 等,也不是不可以;但是,在学习的过程中你会有一种雾里看花、空中楼阁的感觉,很多东西只会用,却理解不了,深入不了,原因就是没有计算机基础,没学会走就想跑了,这个时候,还得老老实实回来学习C语言。如何学习底层知识关于数据结构、算法、内存、线程、进程、通信、操作系统等这些基本的知识,重要的是理解概念,知道计算机是怎么回事,千万不要深入细节,把自己绕进去,耽误一两年的功夫,要尽早跳出来去做应用开发,找到兴趣点,获得成就感。这个时候,C语言主要的作用是让你入门,了解编程语言的基本语法,强化编程思维,学习计算机底层知识,为以后的职业生涯打下坚实的基础,而不是用它来做实际开发。在实际开发中,遇到问题,或者哪里理解不透了,可以再来回顾这些底层知识,这个时候就可以深入细节了。因为有了实际开发经验,再学习底层知识就知道哪里是重点了,不会像无头的苍蝇一样乱飞,什么都学。

3条评论
  • 一辆小汽车

    2019-11-07 下午6:06

    学习C语言能更好的了解数据结构和内存管理 比较清晰吧

  • 子非鱼.

    2019-11-07 下午8:45

    黄老师👨‍🏫高手哇

  • 匿名

    2019-11-09 下午1:37

    没有学过C语音,不知道对不对呢

发表评论

电子邮件地址不会被公开。