| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 981 人关注过本帖
标题:关于C的基本语法的一个问题!
取消只看楼主 加入收藏
lycnsc
Rank: 1
等 级:新手上路
帖 子:243
专家分:0
注 册:2005-3-27
收藏
 问题点数:0 回复次数:3 
关于C的基本语法的一个问题!
在C里,应该尽量用复合表达式,比如:
a=a+m;------>a+=m;
a=a%n;------>a%=n;
这样做的原因是:
1、代码相对短小简练;
2、符合“逆波兰”的格式,编译生成目标代码质量更高;
以上二者都是C相对于其他语言的优势,所以能用复合表达式就尽量用复合表达式!
搜索更多相关主题的帖子: 语法 波兰 质量 目标 复合 
2005-04-30 09:10
lycnsc
Rank: 1
等 级:新手上路
帖 子:243
专家分:0
注 册:2005-3-27
收藏
得分:0 
以下是引用独孤裘在2005-4-30 12:25:39的发言: 什么是“逆波兰”的格式 能不能解释一下
不是我不说,而是三言两语太难说清。要是你感兴趣的话,看看《编译原理》就明白了!
2005-05-01 13:28
lycnsc
Rank: 1
等 级:新手上路
帖 子:243
专家分:0
注 册:2005-3-27
收藏
得分:0 
以下是引用weizheng在2005-5-2 22:48:42的发言: 不是那么绝对吧,任何事物都有两面性。当然这样能提高程序得易读性,但是在较大的程度中很易出错。
其实,我个人认为程序的易读性是指,程序的结构的清晰度.而a=a+m;------>a+=m;的改变不是清晰度的问题,而是习不习惯的问题.大家可能觉得a+=m这种形式很别扭,不像a=a+m那么一看就明白,不过,大家也可以回忆一下,当我们初学C时,是否也觉if(a==3)很别扭!
2005-05-03 08:52
lycnsc
Rank: 1
等 级:新手上路
帖 子:243
专家分:0
注 册:2005-3-27
收藏
得分:0 
以下是引用神vLinux飘飘在2005-5-3 9:11:41的发言: a+=m和a=a+m最终生成的代码是不同的 a+=m的效率要比a=a+m高那么一点点点点点点(按照现在的计算机速度来说的确是这样的) 现在计算机的速度正在转变一些我们曾经认为是真理的观点。当我们曾经所努力捍卫的内存现在升级到了512M,这个时候选择是用long还是int已经没有多大意义了。(当然,这是在32位C/C++编译环境下)
C之所以这么火就是靠他的灵活性,以及代码的高效率,C有两大用途:写操作系统和芯片编程!写应用程序的,现在一般不用C,而选C++\Java\Delphi什么的. 在PC上写操作系统,当然没问题,但在实际中C更多的是代替汇编进行芯片编程,在单片机\DSP\CGI脚本的C编程或者是FPGA的外围芯片编程,那么哪怕只提高那么一点点点点点点效率也会极大的降低成本! 而且现在在实际生产中,操作系统不在只运行在传统的计算机上,在一些普通设备电路上同样也运行一些操作系统.比如,现在有些大型路由器,自身就有一个操作系统,不过比DOS还简单,在里面只要有万把个复合运算符,那节约的系统开销也是相当可观的了! C的生命里在于它的运行效率是除机器语言和汇编以外最高的,而在接近硬件的层次开发中,它的通用范围最广,开发效率最高!
2005-05-03 10:15
快速回复:关于C的基本语法的一个问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012348 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved