从编译器的角度 理解程序的逻辑结构

news/2025/4/2 6:23:28/

从编译器的角度 理解程序的逻辑结构

一 逻辑结构之我见

先说一下结论如果从人的思维的角度上看,程序的逻辑结构有三种,
分别是顺序结构,分支结构和循环结构。但是如果学习了汇编语言,
从机器的角度上看,已经分不出分支和循环了,它们都是用跳转指令。

从编译器的角度上看,分支结构和循环结构都能逻辑等价地改写成
顺序结构的语句。本质上只有顺序结构。与顺序结构并立而存的,
只有并发结构。在单个CPU,单核的状态下,计算机指令的执行
是顺序性的,流水线式的执行。分支与循环只是方便人脑对逻辑的
理解罢了。

二 分支结构与表格查表法表示逻辑的优劣比较

第一点是它们逻辑上可以表达出完全一样的逻辑语义。
第二点是在表达复杂的逻辑时,多层嵌套的条件语句,不如查表法
的程序可读性好。
第三点是条件语句,可以使用调试器进行调试,设置断点,方便调试语句。
查表法写的语句,仅能用测试法检查语句的质量,调试法没有了用武之地。

三 循环结构与递归法表示逻辑的优劣比较

第一点是它们逻辑上可以表达出完全一样的逻辑语义。
第二点是在表达复杂的逻辑时,循环不如递归法的可读性好。
第三点是,在调试时,循环容易一点。
第四点是,相比与循环语句,写递归的语句,更容易写出死循环的情况,
且不容易被发现。

四 编程的一点经验之谈

如果是系统底层的库的开发,程序的执行性能优先于可读性。
如果是应用层的开发,程序的可读性远远优先于执行性能。
可读性好意味着程序员本身的开发效率高,团队协作效率高。
也意味着系统可维护性也比较好。应用层的代码修改的概率是
非常高的。如果代码可读性不好,项目很难维护下去。写出智力
一般的人都看得懂的代码是第一位的。

执行性能好,主要是指需要的CPU的指令周期数比较少。对于系统
底层的代码库,是计算密集型的,需求的变动几乎没有。对于需要被
调用数以亿计的数学函数,每节省一个毫秒的执行时间意义是非常重大的。
也许几十年前写成的fortran,c等的库代码还在系统上运行着呢。


http://www.ppmy.cn/news/280850.html

相关文章

【MyBatis-Plus】代码生成器(新)官方文档问题 2023-06-05

对应文档:代码生成器(新) 该文档更新时间:2023/04/06, 10:19:51 1. Cannot resolve method ‘dataSourceConfig’ in ‘FastAutoGenerator’ dataSourceConfig 方法是在 3.5.3.1 版本中新增的方式,将 pom.xml 中 myb…

Java 中反射的概念、作用和特点,在什么情况下使用反射及使用实例

反射的概念 反射(Reflection)是 Java 的一种特性,它可以让程序在运行时获取自身的信息,并且动态地操作类或对象的属性、方法和构造器等。通过反射功能,可以让我们在不知道具体类名的情况下,依然能够实例化…

BCLinux8.*安装部署nmap

目录 RPM包二进制安装 源码编译安装 下载并解压源码包 安装编译环境 安装依赖 编译安装 验证安装是否成功 源码构建RPM包 只能改选全手动构建RPM包了 RPM包二进制安装 rpm -ivh nmap-7.94-1.x86_64.rpm 错误:依赖检测失败: python >…

Microkia诞生,诺基亚的新机遇

Microkia诞生,诺基亚的新机遇 2011年02月13日 万众期待之下,昔日大哥诺基亚终于和微软签订的了战略合作协议,未来windows phone将作为nokia的主要移动操作系统。 话说塞班真是到日子了,被ios和android蚕食了大量的高端市场,如今投…

几个比较好的IT站和开发库官网

几个比较好的IT站和开发库官网 1、IT技术、项目类网站 (1)首推CodeProject,一个国外的IT网站,官网地址为:http://www.codeproject.com,这个网站为程序开发者提供了很好的代码示例以及讲解,不过需要英文基础扎实才好。…

业界安全事件最新动态

2013-10-14 1.1病毒快报 国家计算机病毒应急处理中心通过对互联网的监测发现,近期出现“代理***”新变种Trojan_Agent.IDFJX。该变种采用JPG图标进行伪装,文件名一般为“宝贝实物图”等,从而迷惑计算机用户。该变种运行后&#xf…

软件托管的神话

软件托管的神话 2006/04/21   多年来,一些企业在购买、实施、维护传统企业管理软件时历尽坎坷。现在新一代的软件 在线服务(软件托管或叫软件租用)正在冲击这些传统软件,并最终给企业带来他们寻求已久 的效率和商业利润。 中…

955 互联网公司白名单来了!

955,每天 9 点上班,下午 5 点下班,一周工作 5 天。相比 IT 行业盛行的 996,955 的生活是相当轻松了。 还是回到那个选择题,“如果 996 工资、待遇好于 955,你会怎么选择?”、“996 钱多和钱少&a…