什么是C语言
什么是计算机的编程语言——计算机语言
想要了解什么是计算机语言,就要从最基础的——人和人交流的语言入手
人类社会中,人与人之间通过语言进行交流(图片为网图,侵删):
![](https://img-blog.csdnimg.cn/37c5e170dd334244acd5a079825fec88.png)
![](https://img-blog.csdnimg.cn/3ca3208c102d46a390a50be306deb2b0.png)
![](https://img-blog.csdnimg.cn/8ed0d60ddd5948f4bb50ed0a38e36096.png)
同时,人不光希望自己可以与人进行交流,还希望自己可以与计算机进行交流,让计算机为自己解决一些现实生活中重复的问题,如繁琐的计算(相信大家小时候都有被算数支配的经历hhhhhh),因此,计算机语言就诞生了,从早期的二进制代码,到后面的汇编语言、B语言,渐渐演变成我们现在所熟知的C语言、C++、JAVA(图片为原创图)
![](https://img-blog.csdnimg.cn/0e2f8857b0bc4f358773fbbaa19ad2f5.png)
机器语言
机器语言是一种指令集的体系,它是用二进制代码表示的语言,是计算机唯一可以直接识别和执行的语言,它具有计算机可以直接执行、简洁、运算速度快等优点,但它的直观性差,非常容易出错,程序的检查和调试都比较困难,此外对机器的依赖型也很强。
汇编语言
汇编语言是面向机器的程序设计语言,它是为了解决机器语言难以理解和记忆的缺点,用易于理解和记忆的名称和符号表示机器指令中的操作码,这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言;于是汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。
高级语言
高级语言为用户提供了一种既接近与自然语言,又可以使用数学表达式,还相对独立于机器的工作方式。与汇编语言一样,机器也不能直接执行用高级语言编写的程序。
高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python等等。
高级语言有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但它编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。(参考链接:机器语言,汇编语言,高级语言的主要特点及区别是什么-常见问题-PHP中文网)
最早的计算机采用机器语言,这种语言直接用二进制数表示,通过直接输入二进制数,插拔电路板等实现,这种“编程”很容易出错,每个命令都是通过查命令表实现,既然是通过“查表”实现的,那当然也可以让计算机来代替人查表实现了。于是就产生了汇编语言,所以不管别人怎么定义机、汇语言,我就认为,二者是等价。后来人们发现,用汇编语言编某一功能的时候,连续一段代码都是相同或相似,于是就考虑用一句语言来代替这一段汇编语言,于是就产生了高级语言。因此,所有高级语言都能转化成汇编语言,而所以汇编语言又可转化成机器语言。反之,所有机器语言可以转成汇编语言(因为二者等价)。但并不是所以汇编语言都能转成高级语言。
————————————————
(版权声明:本文为CSDN博主「方克明」的原创文章,遵循CC 4.0 BY-SA版权协议
原文链接:https://blog.csdn.net/godloveyuxu/article/details/76559323)
C语言广泛应用于底层开发,那么,什么是底层?我们通过一张图来直观了解一下(图片为原创图):
![](https://img-blog.csdnimg.cn/cccf82e45cb64832803a6ee9782397b3.png)
应用程序的编译流程:
应用程序—>操作系统—>CPU指令—>指导电脑的硬件工作,比如:一个.c(C语言的存储格式)应用程序,经操作系统编译为CPU指令,在CPU架构上执行。
操作系统:
操作系统是管理计算机硬件的资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。它是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务(参考博客:(6条消息) 应用软件和操作系统的本质区别_天天water的博客-CSDN博客_操作系统与其他应用软件的区别)
CPU:
从功能上看,一般CPU的内部结构可分为:控制单元、逻辑运算单元、存储单元(包括内部总线和缓冲器)三大部分。其中控制单元完成数据处理整个过程中的调配工作,逻辑单元则完成各个指令以便得到程序最终想要的结果,存储单元就负责存储原始数据以及运算结果。浑然一体的配合使得CPU拥有了强大的功能,可以完成包括浮点、多媒体等指令在内的众多复杂运算,也为数字时代加入了更多的活力。(参考博客:cpu的基本结构及其工作原理 - 知乎 (zhihu.com))
其中,Linux、驱动、游戏引擎等均可用C语言进行编写,上层的应用软件也可用C语言进行编写,不过相比之下C语言更适合底层开发,这也是为什么C语言被广泛应用于底层开发。
(声明:本文流程图均为博主原创图,如需使用请注明出处)