C51流程控制语句(I)

C51流程控制语句(I)

ID:40836793

大小:212.50 KB

页数:26页

时间:2019-08-08

C51流程控制语句(I)_第1页
C51流程控制语句(I)_第2页
C51流程控制语句(I)_第3页
C51流程控制语句(I)_第4页
C51流程控制语句(I)_第5页
资源描述:

《C51流程控制语句(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章C51流程控制语句4.1表达式语句及复合语句4.1.1表达式语句在表达式的后边加一个分号“;”就构成了表达式语句,如:a=b++;x=8;y=7;++k;可以一行放一个表达式形成表达式语句,也可以一行放多个表达式形成表达式语句,这时每个表达式后面都必须带“;”号,另外,还可以仅由—个分号“;”占一行形成一个表达式语句,这种语句称为空语句。空语句在程序设计中通常用于两种情况:(1)在程序中为有关语句提供标号,用以标记程序执行的位置。例如采用下面的语句可以构成一个循环。repeat:;;gotorepeat;(2)在用while语句构成的

2、循环语句后面加一个分号,形成一个不执行其它操作的空循环体。这种结构通常用于对某位进行判断,当不满足条件则等待,满足条件则执行。【例4-1】下面这段子程序用于读取8051单片机的串行口的数据,当没有接收到则等待,当接收到,接收数据后返回,返回值为接收的数据。#includechargetchar(){charc;while(!RI);//当接收中断标志位RI为0则等待,当接收中断标志位为1则结束等待c=SBUF;RI=0;return(c);}4.1.2复合语句复合语句是由若干条语句组合而成的一种语句,在C51中,用一个大括

3、号“{}”将若干条语句括在一起就形成了一个复合语句,复合语句最后不需要以分号“;”结束,但它内部的各条语句仍需以分号“;”结束。复合语句的一般形式为:{局部变量定义;语句1;语句2;}复合语句在执行时,其中的各条单语句按顺序依次执行,整个复合语句在语法上等价于一条单语句,因此在C51中可以将复合语句视为一条单语句。通常复合语句出现在函数中,实际上,函数的执行部分(即函数体)就是一个复合语句;复合语句中的单语句一般是可执行语句,此外还可以是变量的定义语句(说明变量的数据类型)。在复合语句内部语句所定义的变量,称为该复合语句中的局部变量,它仅在

4、当前这个复合语句中有效。利用复合语句将多条单语句组合在—起,以及在复合语句中进行局部变量定义是C51语言的一个重要特征。4.2C51程序基本结构与相关语句4.2.1C51的基本结构一.顺序结构顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行,图4-1给出顺序结构流程图,程序先执行A操作,然后再执行B操作。AB图4-1顺序结构流程图选择结构可使程序根据不同的情况,选择执行不同的分支,在选择结构中,程序先都对一个条件进行判断。当条件成立,即条件语句为“真”时,执行一个分支,当条件不成立时,即条件语句为“假”时,执行另一

5、个分支。如图4-2,当条件S成立时,执行分支A,当条件P不成立时,执行分支B。二.选择结构条件P语句A语句B成立不成立在C51中,实现选择结构的语句为if/else,if/elseif语句。另外在C51中还支持多分支结构,多分支结构既可以通过if和elseif语句嵌套实现,可用swith/case语句实现。在程序处理过程中,有时需要某一段程序重复执行多次,这时就需要循环结构来实现,循环结构就是能够使程序段重复执行的结构。循环结构又分为两种:当(while)型循环结构和直到(do...while)型循环结构。(1)当型循环结构当型循环结构如图

6、4-3,当条件P成立(为“真”)时,重复执行语句A,当条件不成立(为“假”)时才停止重复,执行后面的程序。三.循环结构图4-3当型循环结构(2)直到型循环结构直到型循环结构如图4-4,先执行语句A,再判断条件P,当条件成立(为“真”)时,再重复执行语句A,直到条件不成立(为“假”)时才停止重复,执行后面的程序。条件P语句A成立不成立图4-4直到型循环结构构成循环结构的语句主要有:while、dowhile、for、goto等。4.2.2if语句if语句是C51中的一个基本条件选择语句,它通常有三种格式:(1)if(表达式){语句;}(2)i

7、f(表达式){语句1;}else{语句2;}(3)if(表达式1){语句1;}elseif(表达式2){语句2;}elseif(表达式3){语句3;}……elseif(表达式n-1){语句n-1;}else{语句n;}【例4-2】if语句的用法。(1)if(x!=y)printf(“x=%d,y=%d”,x,y);执行上面语句时,如果x不等于y,则输出x的值和y的值。(2)if(x>y)max=x;elsemax=y;执行上面语句时,如x大于y成立,则把x送给最大值变量max,如x大于y不成立,则把y送给最大值变量max。使max变量得

8、到x、y中的大数。(3)if(score>=90)printf(“YourresultisanA”);elseif(score>=80)printf(“Yourresulti

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。