C语言的运行效率高于机器语言编写的程序吗

1个回答
展开全部
摘要 C语言是高级语言,编译后生成可执行程序。
它的执行速度一般来说,比要通过解释执行的语言快。但比汇编语言慢。
不一定比其它高级语言快,例如,数学运算方面,可能不如fortran快,当然,假定两者用的算法完全一样。
如果算法不同,两种语言就不好比较了。例如,对整篇输入文章进行语句结构或词组结构替代,用Perl 脚本比C快。
计算机语言其实是人的工具,例如,菜刀,斧头,螺丝刀,各有所长,各有各的用途。菜刀切菜,斧头劈柴,换过来用也不是不是可以,斧头切菜,菜刀劈柴,效率差。
C语言同C语言比,速度也不一样。MS VC++ 同 TB 不一样.
同一种C语言,编译时用了优化1,优化2,执行程序快慢不同。
咨询记录 · 回答于2022-01-04
C语言的运行效率高于机器语言编写的程序吗
C语言是高级语言,编译后生成可执行程序。它的执行速度一般来说,比要通过解释执行的语言快。但比汇编语言慢。不一定比其它高级语言快,例如,数学运算方面,可能不如fortran快,当然,假定两者用的算法完全一样。如果算法不同,两种语言就不好比较了。例如,对整篇输入文章进行语句结构或词组结构替代,用Perl 脚本比C快。计算机语言其实是人的工具,例如,菜刀,斧头,螺丝刀,各有所长,各有各的用途。菜刀切菜,斧头劈柴,换过来用也不是不是可以,斧头切菜,菜刀劈柴,效率差。C语言同C语言比,速度也不一样。MS VC++ 同 TB 不一样.同一种C语言,编译时用了优化1,优化2,执行程序快慢不同。
程序中所有使用到同一个变量的地方就是变量的作用范围
从变量的作用域角度来分,可以分为局部变量与全局变量。从变量值的存在的时间(即生存期)来分,可以分为静态存储方法和动态存储方式。所谓静态存储方式是指程序在运行期间由系统分配固定的村粗空间的方式。动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。内存供用户使用的存储空间的情况,这个存储空间可以分为三部分:(1)程序区 (2)静态存储区 (3)动态存储区数据分别存放在静态存储区和动态存储区中。全局变量全部存放在静态存储区中,在程序开始执行时,给全局变量分配存储区,程序执行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不是动态地进行分配和释放。在动态存储区中存放一下数据:(1)函数形式参数,在调用函数时给形参分配存储空间。(2)自动变量。未加static声明的局部变量。(3)函数调用时的现场保护和返回地址等。
register声明的变量不是存放在内存中,而是存在CPU的寄存器中,如果一个变量用的频繁就可以声明一个register变量。static声明的变量只赋一个初值,以后调用函数时不再赋初值而只是保留上次函数调用结束时的值。外部变量,它的作用域是从变量的定义处开始的,到本程序文件的末尾,在此作用域内,全局变量可以为程序中各个函数的所引用,编译时将外部变量分配到静态存储区。有时用extern来声明外部变量,以扩展外部变量的作用域!即可以先用一个未定义的变量,只要它在后面定义就好了!使用extern可以扩展它的作用。如果用static声明外部变量,则在其它文件中用extern是无法使用到这个变量,这就是静态外部变量,只限于本文件使用,别的文件是不能使用到得。而外部变量在其它文件是可以使用到得。作用域与生存期是不等的,一个静态局部变量只能在函数内使用,但它的生存期却是整个程序结束
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消