C语言既可以编译执行又可以解释执行吗? 编译执行怎么解释? 解释执行又怎么解释?

C语言既可以编译执行又可以解释执行吗? 编译执行怎么解释? 解释执行又怎么解释?,第1张

C 语言程序仅可以解释执行。

解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。

相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的 *** 作系统上运行。

缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样 *** 作系统底层 *** 作的目的。

解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台( *** 作系统的兼容性)有要求的场合。

扩展资料

1、Python和Java语言,专门有一个解释器能够直接执行Python程序,每个语句都是执行的时候才翻译。

2、 Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。

参考资料来源:百度百科-解释执行

switch(x)

---------x=1

所以执行

case

1:后面的语句

接着switch(y)

-----------y=0

所以执行

case

0:后面的语句

a++

-----------即a=a+1,这时a=0+1=1

执行break跳出switch语句

因为

switch(x)的

case

1

没有break所以继续执行case2

case2:a++;b++

;-----------a=a+1=1+1=2b=b+1=0+1=1

case2后面有break语句所以

跳出switch语句

执行

printf("a=%d,b=%d\n",a,b)

这条语句会在屏幕上打印a=2,b=1【换行】

不适合,确实,任何语言编写的代码都可以通过解释的方式执行,不过,c语言本身就是高效率的语言,如果通过解释的方式反而会降低其效率,而且,市面上面的c语言编译器都是编译的方式,弄一个解释器反而不太现实,所以,解释的方式不太适合


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11118952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存