永发信息网

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

答案:2  悬赏:50  手机版
解决时间 2021-02-10 21:20
从程序执行效率方面考虑,请简述C语言采取的一些措施和原因(这是去年的复试题,请给出比较官方的语言)
最佳答案
说实话,这个问题问的比较大,C语言被誉为最灵活的语言,九曲十八弯,千变万化,如何是程序高效率运行取决于程序员对计算机底层的理解和对C语言的熟练掌握。但单从答题的方面考虑,我在这里提出几点仅供参考:
1.使用指针:对于指针的理解简单点可以认为类似于汇编中的寻址方式,正是指针的存在使C语言威力无穷。有些程序用其他语言也可以实现,但C能够更有效地实现;有些程序无法用其它语言实现,如直接访问硬件,但C却可以。正因为指针可以拥有类似于汇编的寻址方式,所以可以使程序更高效。
2.使用宏函数:函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。函数调用是要使用系统的栈来保存数据的,如果编译器里有栈检查选项,一般在函数的头会嵌入一些汇编语句对当前栈进行检查;同时,CPU也要在函数调用时保存和恢复当前的现场,进行压栈和弹栈操作,所以,函数调用需要一些CPU时间。而宏函数不存在这个问题。宏函数仅仅作为预先写好的代码嵌入到当前程序,不会产生函数调用,所以仅仅是占用了空间,而使程序可以高效运行。在频繁调用同一个宏函数的时候,该现象尤其突出。
3.使用位操作:位操作可以减少除法和取模的运算。在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用"位运算"来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。
4.循环嵌套中将较长循环设为内存循环,较短循环设为外置循环,以减少cpu跨切循环层的次数,提高程序的运行效率。
全部回答

d是正解。

a:错误在于printf有返回值,如果函数调用成功,返回1.

b:循环表达式结果是数值型,不可能是字符型‘0’。

c:既然printf返回一个int类型,在c中完全可以用作条件判断,故合法。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
恩典qq透明皮肤到底怎么弄,急死我?
帝九球皇地址好找么,我有些事要过去
工人分为几种例如装修 电气焊 还有什么
国标舞是什么舞
农村信用合作社ATM(甘溪信用社)地址有知道的
是大地的泪点,使她的微笑保持着青春不谢这句
1916汉庭桌球俱乐部地址在什么地方,我要处理
郑州哪家公司能治理氡气
莱阳市安全生产监督管理局地址有知道的么?有
谁能解释一下爱丽舍高转速发动机怎么开省油
修水到福建樟州多少公里
鑫牌台球地址在什么地方,想过去办事
尔葛克库勒湖我想知道这个在什么地方
我想加盟全一快递,不知道这个公司怎么样,希
徐泊线/兰家河桥(路口)这个地址在什么地方,
推荐资讯
北京注册给排水工程师报名考试审查严格吗?
TOSOKU手轮如何辨别真假
居里夫任和皮埃尔的资料
北京西站到北京站打车多少钱,多长时间
宁波第三医院拔鱼刺多少钱?
淘宝直通车可以退款吗
人与自然水族馆怎么去啊,我要去那办事
真魂珠怎么升级的?麻烦告诉我
中国邮政储蓄银行(高阳邮政所)地址在哪,我要
fail to open file中文意思是什么
德亿健身会所怎么去啊,我要去那办事
翻译纪德,萨特和加缪的译者最好的是谁
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?