现在还有学c语言的必要吗 知乎

Python010

现在还有学c语言的必要吗 知乎,第1张

1. 与其它高级语言比起来,C 语言对硬件亲和性差不多算最高,对硬件的利用率也最高(在会用的前提下)。 C 语言可以很方便地任意操作目前计算机内任何可以用地址来表示的东西——也就是说软件能直接操作到的东西中,只有 CPU 里边的寄存器不能直接操作(嵌到 C 里边的汇编或者编译器特殊处理的不算)。2. 比 C 更能全方位操作硬件的只有汇编,但是汇编对复杂程序设计实在是太不方便了。所以目前操作系统也只有很少的部分用汇编写。3. C 语言本身对于应用程序的开发在时间上并不会造成太大的障碍。很多其它语言的高级特性其实只是库的支持而已,如果有那些 library,C 语言在开发效率上并不会有太大的问题。并且发展了这么多年,其实常用的 library 基本上也都能找到。4. 由于计算机性能的增强,越来越多的功能可以仅通过脚本在宿主环境中完成。这是 C 语言做不到的。5. C 语言也是高级语言中最能体现目前计算机硬件工作方式的语言。综合前三点,如果计算机架构不改,C 语言必定还有很大的生存空间。诚然硬件资源和人力资源(编程时间)上的权衡,随着计算机硬件的发展,越来越偏向人力资源,所以C 语言的分额会萎缩。但是人的欲望膨胀得也不慢(对计算机硬件性能的需求膨胀),在这个条件下 C 语言的需求萎缩并不会太快。上面第四点可能是 C 语言需求萎缩的最大原因,不过第四点在一定程度上也拓展了编程人员的需求量。由于最后一点,如果真的要对其它编程语言有很深入的理解,那必须理解计算机的架构(计算机到底是怎么干活的),那么 C 语言是道迈不过的坎。只要涉及到操作系统就离不开 C 语言了(当然可以说有的操作系统用的 C++,但是如果 C 语言都没搞清楚,C++是不可能搞清楚的)。对于比较上层的开发者来说就算不常用C语言,至少要知道 它是怎么回事,就像写驱动的人可能并不常用汇编,但是一定要知道它是怎么回事,不然怎么解那些莫名其妙的 bug?学了C 语言,最不济的情况下,也是会让你有机会成为使用其它任何语言的高手。

说的非常好,转一下

作者:熊心源

链接:http://www.zhihu.com/question/21992679/answer/19991091

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

c入门,一开始很难理解,啃书啃的特别痛苦。不过克服了这个,后面学python,c++都是一帆风顺,因为c算是挺底层的高级语言,很多细节,掌握了这些其他的就不再话下了。所以用c入门可以认为是从较难的开始,打牢这个基础后面就容易了。

大多数人觉得c不适合入门也是这个原因,一开始入门太难太慢成效低,很容易打击学习积极性,尤其是自学的话更困难。所以建议自学还是从易到难深入,python就是公认的很简单的入门语言。有了c做基础一周内就能掌握。没有基础的话几个月也差不多

#include "stdio.h"

int main()

{

int A[8],B[8],C[8]

int i

printf("请输入数组A的元素:\n")

for(i=0i<8i++)

scanf("%d",&A[i])

printf("请输入数组B的元素:\n")

for(i=0i<8i++)

scanf("%d",&B[i])

for(i=0i<8i++)

C[i]=A[i]+B[i]

printf("数组C输出:\n")

for(i=0i<8i++)

printf("%d ",C[i])

printf("\n")

}