编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。

第一招:以空间换时间

计算机程序中的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值:

方法A:通常的办法

_NOBR> _CODE>#define LEN 32

char string1 [LEN];

memset (string1,0,LEN);

strcpy (string1,"This is a example!!");_CODE>

_NOBR>

方法B:

_NOBR> _CODE>const char string2[LEN] ="This is a example!";

char * cp;

cp = string2 ;_CODE>

_NOBR>

使用的时候可以直接用指针来操作。

从上面的例子可以看出,A和B的效率是不能比的。在同样的存储空间下,B直接使用指针就可以操作了,而A需要调用两个字符函数才能完成。B的缺点在于灵活性没有A好。在需要频繁更改一个字符串内容的时候,A具有更好的灵活性;如果采用方法B,则需要预存许多字符串,虽然占用了大量的内存,但是获得了程序执行的高效率。

如果系统的实时性要求很高,内存还有一些,那我推荐你使用该招数。该招数的变招--使用宏函数而不是函数。举例如下:

方法C:

_NOBR> _CODE>#define bwMCDR2_ADDRESS 4

#define bsMCDR2_ADDRESS 17

int BIT_MASK(int __bf)

{

return ((1U << (bw ## __bf)) - 1)

<< (bs ## __bf);

}

void SET_BITS(int __dst,

int __bf, int __val)

{

__dst = ((__dst) & ~(BIT_MASK(__bf))) |

(((__val) << (bs ## __bf))

& (BIT_MASK(__bf))))

}

SET_BITS(MCDR2, MCDR2_ADDRESS,

RegisterNumber);_CODE>

_NOBR>

C语言高效编程的四大绝招.doc

下载Word文档到电脑,方便收藏和打印[全文共817字]

编辑推荐:

下载Word文档

c语言高效编程pdf,C语言高效编程的四大绝招相关推荐

  1. 轻松学c语言编程.pdf等,轻松学编程:轻松学C语言编程 PDF

    资源名称:轻松学编程:轻松学C语言编程 PDF <轻松学编程:轻松学C语言编程>从初学者的角度出发,以通俗易懂的语言.丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识. ...

  2. 汇编c语言混合编程pdf,C语言及汇编语言混合编程的方法.pdf

    维普资讯 1993矩 化 工 电 子 计 算 第 2期 C语言与汇编语言混合编程的方法 f/1) (南京犬李葛于如丽顶吾学系) 摘 要 本文通过实例阐述了当前较为漉行的两种c语盲 (Microsoft ...

  3. 轻松学c语言编程.pdf等,轻松学编程 轻松学C语言编程pdf

    轻松学编程 轻松学C语言编程 内容简介 <轻松学编程:轻松学C语言编程>从初学者的角度出发,以通俗易懂的语言.丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识.全书共1 ...

  4. c语言成颖pdf,程序设计语言开篇导学.ppt-资源下载在线文库www.lddoc.cn

    <程序设计语言>开篇导学.ppt 程序设计语言开篇导学,成颖 教授 博士生导师 南京大学信息管理学院,1.引言,C语言程序设计是计算机相关学科中的一门基础课,也是培养结构化程序设计思想以及 ...

  5. c++语言教程书本pdf,C++语言基础教程_吕凤翥.pdf

    <C ++ 语 言基 础 教 程> 电 子 教 案 吕凤翥 第 1章 C ++ 语言概述 1 . 1 面 向对象程序设计的基本思路 1. 面 向对象的由来和发展 面 向对象的语言更接近于 ...

  6. c语言终极面试宝典 pdf,C语言终极面试--编程

    小程序帮你很好的理解C语言 第三部分:编程题 1.读文件file1.txt的内容(例如): 12 34 56 输出到file2.txt: 56 34 12 #include #include int ...

  7. c语言混合编程 pdf,C语言与汇编语言混合编程的方法.pdf

    C语言与汇编语言混合编程的方法 维普资讯 讫 梅 龄 施 扰 绝 埔 综 勿 穗 直 触 搔 拌 橱 悬 邱 舟 絮 颈 茬 辞 乏 味 绞 涡 菊 黄 宜 悄 条 搬 悄 俱 泼 洋 醚 檀 测 易 ...

  8. 马秀丽C语言程序设计答案pdf,C语言程序设计清华大学马秀丽刘志妩科后习题9答案.doc...

    C语言程序设计清华大学马秀丽刘志妩科后习题9答案 习 题 9 二 编程题 main(){ int n,*a,i,j,t=0; scanf("%d",&n); for(i=0 ...

  9. c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf

    c语言深度解剖(解密).pdf.pdf 还剩 130页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: * Str ...

最新文章

  1. 重磅 |“金砖”电商报告:5年后金砖五国网络零售将超3万亿美元
  2. sersync+rsync同步
  3. 假防病毒软件从电脑移植到了 Android 平台
  4. 用Java求s=a+aa+aaa+.....+aaa...a的值
  5. Vue中无法更改element ui组件样式问题
  6. cloud 调用列表并返回数据操作代码
  7. Mac技巧:如何使用macOS Big Sur中“通知中心”的小组件?
  8. 从金蝶k3到金税盘_金蝶K3操作流程(全篇)
  9. 费曼:“只要我不能创造的,我就还不理解”
  10. Web服务器(Apache)与Servlet容器(Tomcat)
  11. 畅想物联网未来 | 百度云天工智能物联网沙龙圆满落幕
  12. swiper使用教程
  13. css音量调节,CSS3 音量调节旋钮
  14. ClickOnce介绍
  15. idea打开项目,项目(project)栏不显示项目项目名和项目结构
  16. Intellij IDEA的永久破解网站
  17. Java程序设计基础【10】
  18. 【pandas】教程:2-读写表格数据
  19. 炫龙毁灭者KP2笔记本U盘重装系统方法图文详细教学
  20. Revit学习笔记004--极客BIMRevit二次开发方法收集

热门文章

  1. 普适计算机的应用领域有哪些,2017年度计算机科学各领域热点词汇
  2. php 实现两变量值对换,PHP互换两个变量值的方法(不用第三变量)
  3. 某学校新买了一批计算机,2020年度初中信息技术考试选择题.doc
  4. java pollfirst_Java BlockingDeque pollFirst()用法及代码示例
  5. vue ---- 组件
  6. javaSE----学习路线
  7. electron 打开调试_构建基于 iOS 模拟器的前端调试方案
  8. 定时器精度对性能的影响_Comet CAA-500天线分析仪 | 高精度模拟十字针同时显示SWR和阻抗...
  9. Mysql允许root用户远程访问
  10. php password_hash和password_verify