分支程序设计
二路分支 if … else … 语句 多路分支 switch语句 第4章 选择分支结构程序设计 例。以及条件运算与 条件表达式 3.3 多分支选择结构程序设计 第三章 选择结构流程及应用 3.2 双分支选择结构。5.1 概述 5.2 顺序程序设计 5.3 分支程序设计 5.4 循环程序设计。
分支程序设计Tag内容描述:<p>1、主要内容:关系运算、逻辑运算、二路和多路 分支。 选择结构:根据条件决定执行二路或多路分支 中的一路。 二路分支 if else 语句 多路分支 switch语句 第4章 选择分支结构程序设计 例:从键盘上输入x、y、z三个整形变量,输出其中的最 小值: #include main() int x,y,z,min; scanf(“%d,%d,%d”, if(xz) min = z; printf(“The least is:%dn”, min); 举例 条件:是关系表达式或逻辑表达式,值为逻辑值: 真或假。 C语言用1表示真,用0表示假; 判断时非0为真。 4.1 关系运算符和关系表达式 大于 = 大于等于 100 结果为假。 运算对象为字符数。</p><p>2、3.1 单分支选择结构if语句 3.2 双分支选择结构ifelse,以及条件运算与 条件表达式 3.3 多分支选择结构程序设计 第三章 选择结构流程及应用 3.2 双分支选择结构,条件运算与条件表达式 1、if-else 语句 格式: if(条件表达式) 语句组A; else 语句组B; 格式: if(条件表达式) 语句组A; else 语句组B; 执行过程: 先计算表达式的值, 若为真(非0值), 执行语句A; 若值为0, 执行else后的语句B。 if(xy) z=x; else z=y; 当复合语句中只有一条语句的时候也可以写成 如下格式: 格式: if(条件表达式) 语句1; else 语句2; 或者: if(条件表达式) 语句。</p><p>3、单片机实验报告实验名称 分支程序设计实验 指导教师 刘冬生 专业班级 电子1103班 姓名 XXXXXX 学号 XXXXXXXXXXX 联系方式 XXXXXXXXXXX 一、任务要求熟练掌握KeilC环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO口的使用1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写程序。2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的。</p><p>4、第一章 基础知识第5章分支与循环程序设计 1)分析题意,确定算法。这一步是能否编制出高质量程序 的关键,因此不应该一拿到题目就急于写程序,而是应该 仔细地分析和理解题意,找出合理的算法及适当的数据结 构。 2)根据算法画出程序框图。这一点对初学者特别重要, 这样做可以减少出错的可能性。画框图时可以从粗到细把 算法逐步地具体化。 3)根据框图编写程序。 4)上机调试程序。任何程序必须经过调试才能检查出你 的设计思想是否正确以及你的程序是否符合你的设汁思想 。在调试程序的过程中应该善于利用机器提供的调试工具 (如DEBUG)。</p><p>5、第五章第五章 顺序、循环与分支程序设计顺序、循环与分支程序设计 例例5.1 Data segment X dw 33 Y dw 47 Z dw 65 W dw ? Data ends Code segment assume cs:code assume ds:data Begin:mov ax,X add ax,Y adc ax,Z mov W,ax mov ah,4ch int 21h Code ends end Begin 例例5.2 qvardq 1234567887654321h。</p><p>6、n问题: 上地理课时,四个学生回答我国四大湖大小时分别说: A:洞庭最大,洪泽最小,鄱阳第三 B:洪泽最大,洞庭最小,鄱阳第二,太湖第三 C:洪泽最小,洞庭第三 D:鄱阳最大,太湖最小,洪泽第二,洞庭第三 对于每个湖的大小,每个人仅答对一个,试判断四个湖 的大小。 第3章 逻辑思维及分支程序设计 如何编程序解决这个问题? n需要计算机模拟人的思维过程 n最基本的工具是判断对与错 n对与错的判断用关系表达式和逻辑表达式 实现 n如何根据判断去决定下一步的动作由条件 语句实现 第3章 逻辑思维及分支程序设 计 关系表达式 逻辑表达。</p><p>7、1、 实验题目分支程序设计二、实验目的熟悉汇编语言程序设计的开发环境、格式以及汇编过程;三、实验要求1) Debug的主要命令(结合教材第四章的例子),熟练掌握Debug命令的U命令、D命令、R命令、G命令、T命令、Q命令等;2) 掌握分支程序的设计方法;3) 输入并汇编折半查找程序;4) 观察并记录运行结果。四、实验源代码data segmentA dw 32,85,16,15,8data endscode segmentassume cs:code,ds:datastart: mov ax, datamov ds, axmov cx, 5 dec cx loop1: mov di, cx mov bx, 0loop2: mov ax, Abx。</p><p>8、3.1 汇编语言程序设计 顺序结构程序简单程序结构 无分支、无循环、无转移程序。流程图的特点,表现为只有起始、终止框、 说明处理框,而无判断框。 例、用字节加法,对两个16位数做加法运算。这两个数从 地址0050H开绐连续存放。 程序清单如下: MOVAX,DATA MOV DS,AX MOVSI,0050H;被加数指针 MOVDI,0052H;加数指针 MOVBX,0054H;和的指针 MOVAL,SI ;取被加数低8位 ADDAL,DI ;低位相加 MOVAH,SI+1;取被加数高8位 ADCAH,DI+1;高位相加 MOVBX,AX;保存运算结果 INT 20H;结束 起 始 终 止 保存运算结果 AH=高8位相加 AH=被加。</p><p>9、第3章 分支程序设计,3.1 关系与逻辑运算,3.2 两路分支,3.3 多路分支,3.1 关系与逻辑运算,3.1.1 逻辑数据,用来表示“真”和“假”的数据称为逻辑数据 C语言中没有逻辑数据类型,它用其它数据类型来表示逻辑型数据 C中规定,0值表示“假”,非0值表示“真”,图3-1 C中的逻辑数据表示,3.1.2 关系运算,关系运算也叫比较运算,用来比较两个值的大小,结果是逻辑值 C中有6种关系运算,表3-1 关系运算符,注意事项,(1)关系运算是二元运算,对两个值进行大小比较,任意类型的表达式都可以参加比较运算 若有下面的定义: float y = 5, z; 则: 5 3 /* 。</p><p>10、第5章 循环与分支程序设计,5.1 概述 5.2 顺序程序设计 5.3 分支程序设计 5.4 循环程序设计,开 始,5.1 概述,5.1.1 汇编语言程序设计的一般步骤 5.1.2 流程图,返回本章首页,5.1.1 汇编语言程序设计的一般步骤,汇编语言程序设计一般有以下几个步骤: 1分析问题,确定算法 2绘制流程图 3根据流程图编制程序 4调试程序,返回本节,5.1.2 流程图,1流程图的概念 流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。,2流程图符号表示 (1)起止框:表。</p><p>11、昆明理工大学信息工程与自动化学院学生实验报告( 2011 2012学年第一学期 )课程名称:微型计算机原理与应用 开课实验室:信自楼111 2011年 11月24日年级、专业、班生医091班学号姓名成绩实验项目名称分支程序设计及编译指导教师韩晓东教师评语教师签名:2011年11月 日一、实验目的 1) 掌握分支程序的结构。 2) 掌握分支程序的设计,调试方法。 3) 掌握汇编程序的编译、连接、调试方法。二、实验内容 1) 编写计算下列函数的程序,并在屏幕上显示结果。 1 X0 Y0Z= -1 X<0 Y<0。</p><p>12、实验四 分支程序设计实验学生姓名: 何茂杰 学 号: 2010305104 专业班级:计算机本科一班 指导老师:文远熔 实验日期: 实验成绩: 一、 实验目的1 掌握分支程序的设计方法;2 掌握利用DEBUG修改参数、检查结果的方法;3 熟悉汇编语言源程序的编辑、汇编、连接及调试过程。二、 实验内容p181,例5.10把x的绝对值赋给y,x为一个四字节有符号数。三、 实验环境PC微机DOS操作系统或 Windows 操作系统四、 实验要求1 画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。2 说明本实验是如何利用DEBUG进行调试的。五、 主要实验步。</p><p>13、第4章 汇编语言程序设计,一、概述 二、顺序程序设计 三、DOS系统功能调用 四、分支程序设计 五、循环程序设计,4.3 DOS系统功能调用,4.3.1 系统功能调用方法 4.3.2 常用的DOS系统功能调用,4.3.1 系统功能调用方法,DOS系统功能调用的方法一般可分为以下几步: 设置所要调用功能的入口参数。 在AH寄存器中存入所要调用功能的功能号。 INT 21H指令自动转入中断子程序入口。 相应中断子程序运行完毕,可按规定取得出口参数。,4.3.2 常用的DOS系统功能调用,1不带回显的键盘单字符输入(8号功能) 2. 带回显的键盘单字符输入(1号功能) 3. 单字。</p><p>14、第3章 分支程序设计,关系表达式 逻辑表达式 If 语句 Switch语句,关系表达式,关系表达式用来实现比较 关系运算符 , =, =, =, , != 优先级:高于赋值运算符,低于算术运算符。 关系运算符内部:=和 !=较低 结合性:左结合 关系表达式 用关系运算符将二个表达式连接起来称为关系表达式 关系表达式的结果是: true 或 false,eg. x y,a b = c d 都是合法的关系表达式,注意:-2 -1 0 与PYTHON中的含义不一样,关系表达式 续,算术运算符的优先级比关系运算符高 注意事项 “等于”运算符是由两个等号组成。常见的错误是在比较相等时用一个等号。 。</p><p>15、第五章 循环与分支程序设计,5.1 循环与转移指令 5.2 循环程序设计 5.3 分支程序设计,5.1 循环与转移指令,一、循环控制指令 二、转移指令,控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变,一、循环控制指令,8086指令系统的循环控制指令均为二字节指令 一字节为转移的相对位移量(8位带符号的二进制数) IP IP+相对位移量 EIP EIP+相对位移量 隐含使用CX作为循环计数器,程序中的某段需反复执行若干次时,用循环来实现,短转移,LOOP label ;CXCX1,CX0,循环到标号label,一、循环控制指令,LOOPE/LOOPZ label ;CXCX1,CX0 且ZF1。</p><p>16、7.3 分支结构程序设计及常用指令,7.3.1 分支程序的基本结构形式,双分支:if_then_else结构 if_then结构 多分支:case结构,7.3.2 与转移地址有关的寻址方式,Intel8086/8088CPU中,程序的执行顺序是由CS和IP确定的。通常,程序是顺序执行,当要改变程序的流程时,需要通过控制转移指令给出目标指令的CS和IP值,这就是与目标地址有关的寻址方式。 寻址方式有4种:段内直接寻址、段内间接寻址 、段间直接寻址、段间间接寻址 段内:转移指令与转向的目标指令在同一代码段中,(CS)不变。 段间:转移指令与转向的目标指令在两个代码段中, (CS)变化。</p><p>17、GLUT_C 2013-08 J.CB,1,3.3. 程序的基本结构,最基本的程序结构:顺序结构、分支结构、循环结构。,子程序、中断服务程序是一种特殊的程序,它们也是由以上三种基本结构构成的。,GLUT_C 2013-08 J.CB,2,3.3.1 简单程序设计,例:编写程序将字变量W中的无符号数W=65525除以8,将商保存在字变量QOUT中,将余数保存在字节变量REMA中。 算法分析: 可以使用除法指令,也可以使用右移三位实现除以8的运算。 65525 0FFF5H 1111 1111 1111 0101B,(1)右移3位,移出的三位就是余数,剩余的就是商。 余数的保留:可以选择两种方法,GLUT_C 2013-08 J.C。</p><p>18、1 目的与要求 1 能正确使用关系和逻辑运算构造各种条件 2 能正确选择if和switch语句进行程序设计 3 能够使用流程图和N S图进行算法描述 2 上机练习 练习2 1 若有C源程序2 1 c 其内容如下 include stdio h void main。</p><p>19、实验三 分支程序设计 一 实验目的 1 掌握汇编语言程序开发的过程 2 熟悉调试程序DEBUG的用法 3 掌握汇编语言的编写与调试过程 二 实验内容 根据某数X的值 给Y进行赋值 调试程序后 使用DEBUG中指令检查结果的正确性。</p>