- 作者:小万
- 发表时间:2021-05-14 14:52
- 来源:未知
C语言给我的感觉是,学了之后不知道能做什么。但是学习C的过程当中,确实可以明白很多东西,例如指针和内存的关系,内存和CPU的关系,甚至于为什么32位机器的最高内存是4G(计算机组成原理内容),也可涉及。对于各种学科的关联,C语言确实可以做到这一点。起码我这个时候开始意识到,计算机组成原理,操作系统和编程,这三种的联系很密切(以前单独学的时候从不知道他们究竟可以怎么联系)。 可是学完之后,还是不知道,C语言究…
LZ如果觉得学完了初步的C语言本身的内容之后发现没有什么作用,那是因为你学C语言的过程中没有发现C语言没有很多其它语言有的东西。你所需要的各种库,包括GUI的、Socket的、图像处理的东西,都不是在标准中包含的,因此学完C语言,并没有像Java那样,知道这个东西有哪些功能可以实现的感觉,也不像Perl、Python和Ruby这类的语言,本身标准由作者维护,因此添加特性很随意,各种第三方库也很多,想开发任何东西都有不少现成的工具可以借助。
所以,LZ你需要的,是先在一个平台上扎根,然后开始接触在这个平台上,C语言的用于处理各种东西的库是怎样的,运用它们,熟悉它们,届时,你就会发现C语言真的可以干很多事情。
这就像在问学门语言(譬如 英语,日语)有用吗? 语言只是载体,重要的是其所要表达的内容或说目的。
1.就像C语言可以用来作为算法的载体,用于借助计算机解决数学问题,如果你学过数值分析、算法 之类的课程。2.如果你了解硬件,或者你是半导体专业等等,你不可能用简单但繁琐的汇编来操作硬件,往往我们是用C,而不是别的高级语言(历史原因使然)。3.最后,C语言用的人多便于交流也是一个原因
我认为他的适用场景可以有:要求速度很快并且有实时需求的程序;与OS内核紧密联系的程序;需要在多个操作系统移植的程序;
C语言属于比较低级的语言(应该仅次于汇编吧),这个低级主要指它和硬件关系比较紧密。
1、应用广泛;几乎可以给任何电子设备编程,可以做很底层的开发如操作系统/驱动等。所以如楼上所说嵌入式等地方的开发会大量用到C语言。
2、简单;因为是低级语言,所以不会提供很多的编程特性,如面向对象、多态、重载等等都不会出现。这也是为什么大学会大面积要求C语言课程而不是C++C#(当然,这指的是语言特性简单,不是指编写C语言程序简单,毕竟提出新的语言特性就是为了简化coding),用C语言写简单的程序来入门编程是个不错的组合。
但也因为这两个特点,LZ认为C语言与实际应用脱节。事实上学习完C语言并不能做什么(毕竟不是所有人都会去搞底层/嵌入式/单片机开发),但是可以利用C语言学习到的编程的规律去学习其他的编程语言,会轻松很多。如果搞开发的话建议去学习相关领域中通用的语言(如web开发中的php、
等,win下的.Net系列,应用开发的C++、Java,ios下的ObjectC等)。
当然C语言理论上来说是万能的。他可以实现你需要的大部分功能,问题就是——太麻烦了OAO
还有比C语言更低级的汇编,更麻烦,简单的程序需要大量的语句,优点就是效率高。
服务器,嵌入式,要学好c语言,树莓派是要要入手的,linux也要学的,c有没有用,腾讯为什么这么牛,人家招进来的人操作系统和c都很厉害的
c语言主要应用在linux系统上,嵌入式开发领域,windows系统上的c开发较少,一般都是c++ c#等基于微软VS环境的开发,VC中的c一般也是非标准c用的比较多。
在嵌入式或pc上的linux系统中,c语言有数不清的用处,一个系统几乎70-80%甚至更多都是由c语言构建而成的
对于刚入门的新手来说,C语言 最好的应用就是写嵌入式方面的程序,最简单的就是单片机.
用C语言写单片机的程序,很快就能体验到C语言的威力,相对于汇编语言来说.
用C语言写单片机程序,可以用模拟软件或者是开发板来进行测试,验证自己的源码是否有问题.
因为现在使用C语言一般应用于底层开发,对于新手来说,要看这方面的源码,困难度是相当大的.
只有等到你对C语言的语法非常熟悉,对算法各方面有一定了解,才能去研究比较大型的源码.
一般人靠学C语言去工作比较难,但是学习C语言能帮你更深入地理解操作系统的底层,为进一步学习研究操作系统打下基础。
计算机学习是一个系统性问题,不可偏废。比如说光学编程语言但是不学数学,一定会遇到明显的瓶颈。操作系统当然也是必然要深入的领域。
c语言侧重于嵌入式开发、系统开发、硬件驱动等接近于硬件高于汇编的原始开发
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的,在嵌入式开发上,C语言也应用的非常的广泛。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。