电子科技大学编译原理复习笔记(三):控制结构

news2024/10/7 8:30:28

目录

前言

重点一览

语句级控制结构

单元级控制结构

四种单元级控制结构

本章小结


前言

本复习笔记基于张老师的课堂PPT,供自己期末复习与学弟学妹参考用。


重点一览


语句级控制结构

定义:用来构造各种语句执行顺序的机制

传统三种语句级控制结构:顺序/选择(分支)/重复(循环)

顺序:语言可用的、最简单的控制结构,语句结束标记“;”。复合语句:本质仍是顺序执行

(从一句话跳转到下一句话也是一种控制)

选择:从多条可选择的语句中选择其中一条执行(单选/二选一/多选一)

重复:计数器制导,在循环计数器值上重复;条件制导(while/do-while/repeat-until/...)


单元级控制结构

四种单元级控制结构

  • 显式调用从属单元(显式调用,隐式返回);
  • 异常处理(隐式);
  • 协同程序;
  • 并发单元

显式调用从属单元:子程序、函数、等等...

异常处理:先修补程序以继续执行/对致命错误而言中断程序

协同程序:两个及以上的程序单元之间交错执行(“伪并行”,并行的低级形式)

并发单元:同步与互斥/PV操作/生产者消费者/...(了解即可)


本章小结

熟悉两种控制结构即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/569341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hyperledger Fabric explorer区块链浏览器搭建

https://github.com/hyperledger-labs/blockchain-explorer 官方浏览器的github地址 根据文档,采用docker容器的方法搭建explorer。 首先创建explorer的项目, mkdir explorer根据官方提供的文件,需要创建的目录结构如下: 这是官…

【计算机网络复习之路】网络层(谢希仁第八版)万字详解 主打基础

专栏:计算机网络复习之路 目录: 一、网络层的几个重要概念 1.1 网络层提供的两种服务 1.2 网络层的两个层面 二、网际协议 IP 2.1 虚拟互连网络 2.2 IP地址 2.2.1 IP地址及其表示方法 2.2.2 分类的IP地址 2.2.3 无分类编址CIDR &#xff08…

【2023 · CANN训练营第一季】应用开发(初级)第四章——模型推理

AscendCL运行资源管理 申请运行管理资源时,需按顺序依次申请: Device、Context、Stream,然后根据实际需求调用aclrtGetRunMode接口获取软件栈的运行模型(当同一个应用既支持在Host运行,也支持在Device运行时,在编程时需要就需要根…

k8s进阶5——AppArmor、Seccomp、ImagePolicyWebhook

文章目录 一、AppArmor限制容器对资源访问1.1 实现步骤1.1.1 定义策略1.1.2 加载策略1.1.3 引用策略 2.2 案例 二、Seccomp 限制容器进程系统调用案例一:使用自定义策略案例二:使用容器运行时默认策略 三、动态准入控制Webhook3.1 ImagePolicyWebhook控制…

PowerPoint输出图片分辨率设置

最近想用ppt画几张图,但是输出的分辨率有点不够意思,然后就想着改一下输出分辨率,这里记录一下方便以后查阅。 PowerPoint输出图片分辨率设置

PS-调色

图片的储存格式 JPEG格式:日常作图存储格式、只有一个图层、通用图片格式、内存小画质高 RAW格式:CR2、CR3佳能、NEF尼康、ARW索尼、IIQ哈苏、RAF富士、RW2松下 PNG格式:图片透明格式、用于抠出来的素材用这个格式保存可以是透明底没有背景 …

Linux——操作系统详解

目录 一.操作系统的含义 1.操作系统是什么? 2.那么操作系统为什么要对软硬件资源进行管理呢?这样做的好处在哪里? 3.操作系统又是怎么进行管理的? 如何理解“先描述,再组织”? 二.总结: …

conda环境安装使用教程

conda,anaconda,miniconda傻傻分得清楚 Conda是一个开源的包管理系统和环境管理系统,可以用于安装、管理和卸载软件包以及创建和管理虚拟环境。Anaconda是一个基于Python的数据科学平台,包括Python解释器、Conda包管理器、Jupyte…

Linux:为xfs文件系统卷 设置磁盘配额

首先准备一个xfs文件系统的 卷 || 分区 可以是逻辑卷 ,也可以是普通卷,等等……但是他们的文件格式都要是xfs格式 我这里选择的是逻辑卷,普通卷也是一样的道理 开始前要有两个软件包需要安装 如果已安装直接看下一步 Linux:rpm…

一个人的旅行

说一下,两次的旅行。一次是三月底四月初,一次是四月底五月初。 我的第一站,帝都!!! 31号晚上八点半的高铁去北京,到达北京已经快十二点了。武局的G528次列车。 来到北京后,这是我第…

Android开发环境搭建[Java1.7+eclipse+sdk4.0](某高校物联网工程专业必看!)

Android开发环境搭建[Java1.7eclipsesdk4.0](某高校物联网工程专业必看!) 0. 前言1. 资料拷贝2. 配置环境变量2.1新建 Java_Home2.2 编辑Path情况1情况2 2.3 新建sdk环境变量 3. 验证安装3.1 验证java安装情况3.2 验证eclipse安装 4. 导入已有…

《OrangeS一个操作系统的实现》中printf无法打印数字问题

【问题现象】 《OrangeS一个操作系统的实现》 第9章 a目录下的代码编译运行后,所有printf打印数字的地方都有问题,如下图: HD size 始终为 0MB。 【问题分析】 通过断点,发现printf第61行: int printf(const char *…

【历史上的今天】4 月 28 日:人工智能理论之父出生;大众点评上线;苹果开设 iTunes 音乐商店

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 4 月 28 日,在 1994 年的今天,美国克林顿政府公布了一项价值数百万美元的计划,以帮助那些制造平板显示屏的美国公司维持生计…

Filter详解

Filter是什么: Filter表示过滤器,是Java Web三大组件之一(Servlet、Filter、Listener)。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 过滤器一般完成一些通用的操作,比如:权…

chatgpt赋能python:PythonSearchDialog:利用Python编写高效的搜索对话框

Python Search Dialog:利用Python编写高效的搜索对话框 在当今数字时代,大多数产品都提供搜索功能。而Python Search Dialog 则为产品提供了一个强大、高效的搜索对话框,使得用户能够更快速地、更准确地定位所需信息。 什么是Python Search…

实验三:熟悉常用的HBase操作

实验环境: (1)操作系统:Linux(建议 Ubuntu 16.04 或 Ubuntu 18.04)。 (2)Hadoop 版本:3.1.3。 (3)HBase 版本:2.2.2。 (4)JDK 版本:1.8。 (5)Java IDE: Eclipse。 实验内容与完成情况: (1)现有以下关系数据…

【数据挖掘与商务智能决策】第十七章 神经网络

前言 本人CSDN博客为“仿生程序员会梦见电子羊吗”,本文基于markdown本文书写,平台及软件为CSDN与Typora,文中图片存储地址为CSDN,故部分图片可能带有“CSDN仿生程序员会梦见电子羊吗”的水印,属于本人原创&#xff0c…

视频理解学习笔记(二):I3D and Kinetics Dataset

视频理解学习笔记(二):I3D and Kinetics Dataset 视频理解的三个流派(怎么处理时序)论文概览Kinetics Dataset模型详解将2D卷积网络扩张到3D(Inflating 2D ConvNets into 3D)如何用预训练好的2D…

2023年最新企业网盘排行榜出炉

随着云计算技术的不断发展,企业日常工作中大量的资料、文档等信息需要实现集中管理,此时企业网盘工具就应运而生。企业网盘是一种可用于企业内部管理、团队协作及文件共享的云存储平台,能够极大提高企业办公效率和安全性。 一、企业网盘的帮助…

[链表OJ题 8] 用栈实现队列,没想到你小子的基础这么好,这么快就做对了

目录 题目来源: 代码实现: 思路分析: 实现过程: 题目来源: 力扣 - 232.用栈实现队列 题目描述: 代码实现: 我们这里的栈已经写好了,如果对栈还不是很懂的可以看看这篇文章&am…