c语言某一行不被优化,C语言优化小技巧
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在编写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语言优化小技巧相关推荐
- 细说接口性能优化的11个小技巧
前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...
- 详细的聊聊接口性能优化的11个小技巧 不收藏对不起我
前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...
- 聊聊接口性能优化的11个小技巧
点击下方"IT牧场",选择"设为星标" 前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简 ...
- java 代码性能优化_Java代码性能优化的几个小技巧
Java代码性能优化的几个小技巧 时间:2017-08-07 来源:华清远见JAVA学院 代码优化是程序员必须懂得一门学问,所以不管是程序员还是准程序员,养成良好的代码优化习惯都是必须要养成的 ...
- 大脸猫:网站优化SEO一些不为人知的小技巧
网站优化的目的就是使网站更容易被搜索引擎收录,提高用户体验(UE)和转化率进而创造价值. SEO正是借助你在网上发布的产品信息,把你的内容发送到无数的搜索客户面前,所以SEO的初级定义就是发信息,宣传 ...
- sql优化的15个小技巧(必知五颗星),面试说出七八个就有了
目录 前言 1 避免使用select * 2 用union all代替union 3 小表驱动大表 4 批量操作 5 多用limit 6 in中值太多 7 增量查询 8 高效的分页 9 用连接查询代替 ...
- 面试必备:聊聊sql优化的15个小技巧
sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到. 如果某天你负责的某个线上接口,出现了性能问题,需要做优化.那么你首先想到的很有可能是优化sql语句,因为它的改造 ...
- 聊聊sql优化的15个小技巧
前言 sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到. 如果某天你负责的某个线上接口,出现了性能问题,需要做优化.那么你首先想到的很有可能是优化sql语句,因为它 ...
- jquery双击一行跳转页面_Word软件使用小技巧,鼠标双击在不同操作对象中有不同的功能...
Word软件为了方便用户使用各项功能,开发了很多的快捷使用方式,今天就给大家分享"双击鼠标"快速打开设置窗口的小技巧,学会后真的可以提高你的工作效率,不用加班加点(这得老板说了算! ...
- 淘宝运营常见的二十个问题,优化店铺必看小技巧
前面我们说了那么多优化的小技巧和不能踩的坑,今天我们就给大家整理了20个店铺为什么做不起来的原因. 1.引流引不进来,这个问题的关键在于引进来的人对产品不感兴趣,关键词不精准,查询关键词排名,就用v兔 ...
最新文章
- 学了那么久的计算机视觉,竟然还不懂YOLO?!
- 输入框中默认的值,判断是否输入内容
- oracle将时间加一天,加小时,加分,加秒
- 各种Oracle常见操作2
- 增强学习(Reinforcement Learning and Control)
- GoogleAppEngine是什么?
- jquery弹出插件
- CodeForces369C On Changing Tree
- windows7系统配置maven环境
- 分库分表读写分离总结
- 2017计算机考研视频百度云盘,2017年考研数学视频资料
- 平安银行网银助手官方版
- spring源码解析大体流程
- nodejs返回带图片的HTML页面,Nodejs实现简单的网页图片获取
- rdmsr获取Intel CPU温度
- H5 页面36种漂亮的CSS3网页按钮Button样式
- QGIS官方样式库首现来自中国的贡献——国土空间规划样式库和分区配色表
- cannon的英文名_卡农的作者是谁啊 此曲的赏析 英文名cannon不是大炮吗
- PHP基于微信小程序的医院预约挂号系统 uniapp 小程序
- scp 远程拷贝文件
热门文章
- Golang 检查元素在slice中是否存在 模仿Php实现arrary_In
- 如何用php编写注册表格,发布PHP-MySQL注册表格
- matlab求微分方程同届,Matlab学习——求解微分方程(组)
- java的css的块_JavaWeb--了解CSS
- linux hadoop 运行jar,Linux下执行Hadoop WordCount.jar
- java–jwt_java – Spring引导如何使用jwt管理用户角色
- BLE-NRF51822教程3-sdk程序框架剖析
- 【DS】时间复杂度排序
- python爬虫拉取豆瓣Top250数据
- mysql as用法_Spring Data R2DBC响应式操作MySQL