该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

在编写C语言程序后,经常需要对源码进行优化,以提高程序的运行效率,下面简述几个常用的优化技巧以供大家参考:

1.C于代码在程序中的优化

现在的C编译器会自动对代码进行优化,但这些优化是对执行速度和代码长度的平衡。如果要获得更小且执行效率更高的代码,需要程序员手工对代码进行优化。

2.变量类型的定义

不同的数据类型所生成的机器代码长度相差很多,变量类型选取的范围越小运行速度越快,占用的内存越少。能够使用char(字符型)定义的变量,就不要使用整型(int)变量定义;能够使用整型变量定义的变量就不要用长整型(long int),能不使用浮点(float)变量就不要使用浮点型(double)变量。

相同类型的数据类型,有无符号对机器代码长度也有影响。因此我们应按照实际需要合理的选用数据类型。当然,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,C编译器并不报错,但程序运行结果却错了,而且这样的错误很难发现。

3.提高循环语言的效率

在 C 语言中循环语句使用频繁,提高循环体效率的基本办法就是降低循环体的复杂性。在多重循环中,应将最长的循环放在最内层,最短的循环放在最外层。这样可以减少 CPU跨切循环的次数。如例 1-1 的效率比 1-2 的效率要高:

int i,j;

for (i = 0; i < 10; i++)

{

for (j = 0; j < 20; j++)

{

... ...

}

} // 例子 1-1

for (j = 0; j < 20; j++)

{

for (i = 0; i < 10; i++)

{

... ...

}

} // 例子 1-2

4.采用数学方法优化程序

数学是计算机之母,没有数学的依据和基础,就没有计算机的发展,所以在编写程序的时候,采用一些数学算法会对程序的执行效率有数量级的提高。有时候这个问题常常被大家忽略, 对于没有经验的程序员来说更是如此。例如:求 1到100的自然数和sum = 100*(100+1)/2; 数学公式. (n +1)*n/2。

优化算法和数据结构对提高代码的效率有很大的帮助。当然有时候时间效率和空间效率是对立的,此时应分析哪个更重要,做出适当的折中。另外,在进行优化的时候不要片面的追求紧凑的代码,因为紧凑的代码并不能产生高效率的机器码。

当然代码优化的方法还有很多,这里只是简单列举几个例子,希望能为初学者提供一些帮助。

c语言某一行不被优化,C语言优化小技巧相关推荐

  1. 细说接口性能优化的11个小技巧

    前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...

  2. 详细的聊聊接口性能优化的11个小技巧 不收藏对不起我

    前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...

  3. 聊聊接口性能优化的11个小技巧

    点击下方"IT牧场",选择"设为星标" 前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简 ...

  4. java 代码性能优化_Java代码性能优化的几个小技巧

    Java代码性能优化的几个小技巧 时间:2017-08-07     来源:华清远见JAVA学院 代码优化是程序员必须懂得一门学问,所以不管是程序员还是准程序员,养成良好的代码优化习惯都是必须要养成的 ...

  5. 大脸猫:网站优化SEO一些不为人知的小技巧

    网站优化的目的就是使网站更容易被搜索引擎收录,提高用户体验(UE)和转化率进而创造价值. SEO正是借助你在网上发布的产品信息,把你的内容发送到无数的搜索客户面前,所以SEO的初级定义就是发信息,宣传 ...

  6. sql优化的15个小技巧(必知五颗星),面试说出七八个就有了

    目录 前言 1 避免使用select * 2 用union all代替union 3 小表驱动大表 4 批量操作 5 多用limit 6 in中值太多 7 增量查询 8 高效的分页 9 用连接查询代替 ...

  7. 面试必备:聊聊sql优化的15个小技巧

    sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到. 如果某天你负责的某个线上接口,出现了性能问题,需要做优化.那么你首先想到的很有可能是优化sql语句,因为它的改造 ...

  8. 聊聊sql优化的15个小技巧

    前言 sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到. 如果某天你负责的某个线上接口,出现了性能问题,需要做优化.那么你首先想到的很有可能是优化sql语句,因为它 ...

  9. jquery双击一行跳转页面_Word软件使用小技巧,鼠标双击在不同操作对象中有不同的功能...

    Word软件为了方便用户使用各项功能,开发了很多的快捷使用方式,今天就给大家分享"双击鼠标"快速打开设置窗口的小技巧,学会后真的可以提高你的工作效率,不用加班加点(这得老板说了算! ...

  10. 淘宝运营常见的二十个问题,优化店铺必看小技巧

    前面我们说了那么多优化的小技巧和不能踩的坑,今天我们就给大家整理了20个店铺为什么做不起来的原因. 1.引流引不进来,这个问题的关键在于引进来的人对产品不感兴趣,关键词不精准,查询关键词排名,就用v兔 ...

最新文章

  1. 学了那么久的计算机视觉,竟然还不懂YOLO?!
  2. 输入框中默认的值,判断是否输入内容
  3. oracle将时间加一天,加小时,加分,加秒
  4. 各种Oracle常见操作2
  5. 增强学习(Reinforcement Learning and Control)
  6. GoogleAppEngine是什么?
  7. jquery弹出插件
  8. CodeForces369C On Changing Tree
  9. windows7系统配置maven环境
  10. 分库分表读写分离总结
  11. 2017计算机考研视频百度云盘,2017年考研数学视频资料
  12. 平安银行网银助手官方版
  13. spring源码解析大体流程
  14. nodejs返回带图片的HTML页面,Nodejs实现简单的网页图片获取
  15. rdmsr获取Intel CPU温度
  16. H5 页面36种漂亮的CSS3网页按钮Button样式
  17. QGIS官方样式库首现来自中国的贡献——国土空间规划样式库和分区配色表
  18. cannon的英文名_卡农的作者是谁啊 此曲的赏析 英文名cannon不是大炮吗
  19. PHP基于微信小程序的医院预约挂号系统 uniapp 小程序
  20. scp 远程拷贝文件

热门文章

  1. Golang 检查元素在slice中是否存在 模仿Php实现arrary_In
  2. 如何用php编写注册表格,发布PHP-MySQL注册表格
  3. matlab求微分方程同届,Matlab学习——求解微分方程(组)
  4. java的css的块_JavaWeb--了解CSS
  5. linux hadoop 运行jar,Linux下执行Hadoop WordCount.jar
  6. java–jwt_java – Spring引导如何使用jwt管理用户角色
  7. BLE-NRF51822教程3-sdk程序框架剖析
  8. 【DS】时间复杂度排序
  9. python爬虫拉取豆瓣Top250数据
  10. mysql as用法_Spring Data R2DBC响应式操作MySQL