找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2263|回复: 7
打印 上一主题 下一主题
收起左侧

单片机C语言代码如何简化?

[复制链接]
跳转到指定楼层
楼主
ID:709761 发表于 2022-11-7 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
条件太多,如何简化

51hei图片_20221107090007.png (20.67 KB, 下载次数: 71)

51hei图片_20221107090007.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:824490 发表于 2022-11-7 10:30 | 只看该作者
全单数啊!!这就是规律了:if(t%2) mm[i++]=int0
回复

使用道具 举报

板凳
ID:883242 发表于 2022-11-7 11:59 | 只看该作者
if(t<30&&t&1)mm[i++]=int0;
回复

使用道具 举报

地板
ID:399179 发表于 2022-11-7 13:56 来自手机 | 只看该作者
能回答的都大佬!
回复

使用道具 举报

5#
ID:123289 发表于 2022-11-7 14:06 | 只看该作者
与你的【精简】目标有关。
什么样为最简呢?
源代码用字符最少?烧录时的字节最少?
回复

使用道具 举报

6#
ID:624769 发表于 2022-11-7 20:58 | 只看该作者
有规律的话,找规律,
无规律的话,如下:

case:1
case:3
case:5
...............
mm[i++]=int0;
break;
回复

使用道具 举报

7#
ID:906768 发表于 2022-11-8 16:15 | 只看该作者
1)选择合适的算法和数据结构  应熟悉算法语言。将比较慢的顺序查找法用较快的二分查找法或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,这样可以大大提高程序执行的效率。     选择一种合适的数据结构也很重要。数组与指针具有十分密切的关系,一般来说指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。但是在Keil 中则相反,使用数组比使用的指针生成的代码更短。     2)使用尽量小的数据类型  能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用整型变量定义的变量就不要用长整型(long int),能不使用浮点型(float)变量就不要使用浮点型变量。当然,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,C 编译器并不报错,但程序运行结果却错了,而且这样的错误很难发现。     3)使用自加、自减指令  通常使用自加、自减指令和复合赋值表达式(如a-=1 及a+=1 等)都能够生成高质量的程序代码,编译器通常都能够生成inc 和dec 之类的指令,而使用a=a+1 或a=a-1之类的指令,有很多C 编译器都会生成2~3个字节的指令。     4)减少运算的强度  可以使用运算量小但功能相同的表达式替换原来复杂的的表达式。
回复

使用道具 举报

8#
ID:160893 发表于 2022-11-8 16:51 | 只看该作者
if(t%2)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表