C语言为什么可以被CPU直接执行

为什么只有C语言具备这样的类似汇编语言的特征?为什么其他高级语言就不行?... 为什么只有C语言具备这样的类似汇编语言的特征?为什么其他高级语言就不行? 展开
 我来答
吉祥二进制
高粉答主

推荐于2017-09-07 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84576

向TA提问 私信TA
展开全部
  C语言是不可以被CPU直接执行的,CPU能执行的只有二进制机器码,因此C语言写的源码需要经过预处理阶断、C语言编译阶断、汇编阶断和链接阶断之后,生成的可执行文件才可以被CPU所执行。
sleeeepy
推荐于2017-10-14 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3.5万
采纳率:51%
帮助的人:1.8亿
展开全部

c语言是不能直接被执行的

你从哪里听说c语言是被直接执行的?


编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言汇编语言高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。


由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。

更多追问追答
追问
额 刚提了个问 别人是这么跟我说的~ 难道是我理解有误?
除了高级低级之外,还有另外一种区分语言的方式,解释语言与编译语言。

编译语言:源代码经过编译之后生成的可执行文件,文件的内容能够直接被CPU识别,并且运行。这种语言生成的程序由于CPU就可以直接识别了,所以不需要任何其它工具。但程序对CPU的依赖性很大,换一个架构可能就需要重新编译甚至重新编写程序。
汇编和C都属于这一种。
追答
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

C
语言程序的步骤:

1.编辑
(把程序代码输入,交给计算机)


2.
编译(成目标程序文件.obj)


编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云中凌2
2014-08-15 · TA获得超过718个赞
知道小有建树答主
回答量:808
采纳率:50%
帮助的人:244万
展开全部
不可以直接执行,c语言要先经过编译器编译成汇编语言,再转成机器码才能被CPU执行
更多追问追答
追问
这个过程是在用户的电脑上进行的吗? 还是在编完之后的时候就转成了汇编或者机器语言 然后 用户拿到手的程序 无需编译就可直接执行?
追答
看你运行在什么操作系统,假如是单片机,是直接写入机器码,而window系统就是生成可执行文件exe,至于要不要编译,你问微软吧。汇编CPU也不懂得,必须是机器码才能识别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式