主页 > 程序语言 > 从程序执行效率方面考虑,请简述C语言采取的一些措施和原因(这是去年的复试题,请给出比较官方的语言)

从程序执行效率方面考虑,请简述C语言采取的一些措施和原因(这是去年的复试题,请给出比较官方的语言)

2023-12-14 20:24来源:m.sf1369.com作者:宇宇

说实话,这个问题问的比较大,C语言被誉为最灵活的语言,九曲十八弯,千变万化,如何是程序高效率运行取决于程序员对计算机底层的理解和对C语言的熟练掌握。但单从答题的方面考虑,我在这里提出几点仅供参考:

1.使用指针:对于指针的理解简单点可以认为类似于汇编中的寻址方式,正是指针的存在使C语言威力无穷。有些程序用其他语言也可以实现,但C能够更有效地实现;有些程序无法用其它语言实现,如直接访问硬件,但C却可以。正因为指针可以拥有类似于汇编的寻址方式,所以可以使程序更高效。

2.使用宏函数:函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。函数调用是要使用系统的栈来保存数据的,如果编译器里有栈检查选项,一般在函数的头会嵌入一些汇编语句对当前栈进行检查;同时,CPU也要在函数调用时保存和恢复当前的现场,进行压栈和弹栈操作,所以,函数调用需要一些CPU时间。而宏函数不存在这个问题。宏函数仅仅作为预先写好的代码嵌入到当前程序,不会产生函数调用,所以仅仅是占用了空间,而使程序可以高效运行。在频繁调用同一个宏函数的时候,该现象尤其突出。

3.使用位操作:位操作可以减少除法和取模的运算。在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用位运算来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。

4.循环嵌套中将较长循环设为内存循环,较短循环设为外置循环,以减少cpu跨切循环层的次数,提高程序的运行效率。

这绝对是编译原理和编程语言的综合运用,这题是哪个学校的?

我觉得百度知道上多数C语言和计算机专业的人可答不上来啊,自然也包括了我。

如果你是跨专业的……你考到了一个超强的学校啊……

相关推荐

哪些编程语言是函数式的

程序语言 2024-01-14

VB编程的函数详解

程序语言 2024-01-02

c语言扑克牌问题

程序语言 2023-12-28

iphone语言与地区有什么用?

程序语言 2023-12-19

C语言程序,怎么使用,

程序语言 2023-12-17

把word嵌入到C#程序中

程序语言 2023-11-26

HTML是不是编程语言?

程序语言 2023-11-17