《语句和流程》ppt课件_第1页
《语句和流程》ppt课件_第2页
《语句和流程》ppt课件_第3页
《语句和流程》ppt课件_第4页
《语句和流程》ppt课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第13章 C51语句和流程 C51语句,即C51言语中的操作命令,用于使单片机完成特定的功能。C51的源程序是由一系列的语句组成的,这些语句可以完成变量声明、赋值和控制输入输出等操作。一条完好的语句必需以“;终了。由于单片机能识别的是机器指令,因此普通一条语句经过编译后生成假设干条机器指令来执行。C51言语中的语句包括阐明、表达式语句、循环语句、条件语句、开关语句、复合语句、空语句和前往语句等,下面分别进展阐明。13.1 阐明语句阐明语句普通是用来定义声明变量,可以阐明其的类型和初始值。普通方式为:类型阐明符 变量名(=初始值);其中,类型阐明符指定变量的类型,变量名即变量的标示符,假设在声明

2、变量的时候进展赋值,那么需求运用“=指定初始值。典型的阐明语句例如如下,其中分别进展了变量声明以及初始化赋值。int a=1;/声明并初始化整型变量float c;/声明浮点型变量char p6=first;/声明并初始化字符数组sfr P1=0 x80;/声明并初始化存放器bit third;/声明位变量13.2 表达式语句表达式语句是用来描画算术运算、逻辑运算或使单片机产生特定的操作。表达式语句是C51言语中最根本的一种语句。例如如下:b=b*20;Count+;X=A;Y=B;P=(a+b)/a-1;以上的都是合法的表达式语句。普通来说,任何表达式在末尾加上分号“;,便可以构成语句。例如

3、如下:a=a+8/赋值表达式a=a+8;/赋值语句13.3 复合语句复合语句是用花括号“将一组语句组合在一同而构成的语句。C51言语中由单个表达式和末尾的分号构成的语句是简单语句。在C51言语中,复合语句是允许嵌套的,即就是在花括号“中的“也是复合语句。复合语句在程序运转时,“中的各行单语句是依次顺序执行的。在C51言语中运用复合语句需求留意如下几点:C51言语中,复合语句在语法上等同于一条单语句。复合语句中不但可以由可执行语句组成,还可以用变量定义等语句组成。要留意的是在复合语句中所定义的变量,称为“部分变量,所谓部分变量就是指它的有效范围只在复合语句中。对于一个函数而言,函数体就是一个复合

4、语句,函数内定义的变量有效范围只在函数内部。13.4 循环语句 循环语句经常用于需求反复多次执行的操作。C51言语中有3种根本的循环语句:while语句、do-while语句和for语句。这几个语句同样都是起到循环作用,但详细的作用和用法又不大一样。下面分别引见。13.4.1 while语句While循环语句的普通运用方式为:while(表达式)语句;当其中的表达式值为真时,便执行语句,然后再次判别表达式的值,直到表达式的值为假时,才终了循环,并继续执行循环外的后续语句。while语句的特点是先判别条件,后执行语句。while语句的循环过程如下图。13.4.2 do-while语句 do-wh

5、ile语句的普通方式为: do 语句; while(表达式); do-while语句是先执行一次do后面的语句,然后再判别表达式能否为真,假设表达式为真,前往再次执行do后面的语句,直到表达式为假时,才终了循环,并继续执行循环外的后续语句。 do-while语句的特点是先执行语句,后判别条件。因此,do-while语句至少执行一次do后面的语句。同样,由多个语句构成语句体时,必需用“括起来,表示成复合语句的方式。13.4.3 for语句 for语句的普通方式为: for(表达式1;表达式2;表达式3) 语句; 其中,表达式1为赋值语句,给循环变量进展初始化赋值;表达式2是一个关系逻辑表达式,作

6、为判别循环条件的真假;表达式3定义循环变量每次循环后按什么方式变化。当由表达式1初始化循环变量后,那么由表达式2和表达式3可以确定循环次数。 求解完表达式1后,判别循环条件,即表达式2的真假,假设条件为真,那么执行下面的循环语句和表达式3,直到循环条件为假时,才终了循环,然后继续执行循环外的后续语句。13.5 条件语句 条件语句常用于需求根据某些条件来决议执行流向的程序中。其是由关键字if构成,即if条件语句。条件语句又被称为“分支语句。C51言语提供了3种方式的条件语句,下面分别进展引见。13.5.1 单分支构造单分支构造的条件语句只需一个语句分支或者语句块分支,其普通方式为:if (表达式

7、) 语句;其中,当if条件语句表达式的结果为真时,就执行分支语句,执行完后,继续执行后续程序;当表达式为假时,就跳过分支语句,执行后续程序。运用if语句的单分支构造程序,例如如下:#include /头文件void main()/主函数i n t a , b ;/变量声明a = 1 ;/初始化b = 1 ;/初始化if (a=b) a+;/if语句的单分支构造printf(a=%dn,a);/输出结果 13.5.2 双分支构造 双分支构造的条件语句包含两个语句分支,由关键字if和else构成,其普通方式为: if (表达式) 语句1; else 语句2; 当表达式为真时,就执行语句1,执行完后

8、,继续执行if语句后面的语句;当表达式为假时,就执行语句2,执行完后,继续执行if语句后面的语句。13.5.3 阶梯式if-else-if构造 阶梯式if-else-if构造是一种多分支构造,其可以包含多个分支语句,其普通方式为: if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else if (表达式n) 语句n; else 语句n+1; 这是由if-else语句组成的嵌套,可以实现多方向条件分支。该语句从上到下逐个对条件进展判别,一旦条件为真,就执行与其相关的分支语句,并跳过剩余的阶梯;假设没有一个条件为真,那么执行最后一个el

9、se分支语句n+1。13.6 开关语句开关语句主要用于在程序中实现多个语句分支处置。在C51程序中,开关语句以关键字switch和case来标识。开关语句的普通方式如下:switch(表达式)case 常量表达式1:语句1; break;case 常量表达式2:语句2; break;case 常量表达式3:语句3; break;case 常量表达式n:语句n; break;default:语句n+1; 13.7 跳转语句 跳转语句主要用于程序执行顺序的跳转和转移。在C51言语中,跳转语句主要有三种:goto语句、break语句和continue语句。下面分别进展引见。13.7.1 goto语句

10、goto语句是一个无条件的转向语句,在C51程序执行到这个语句时,程序指针就会无条件地跳转到goto后的标号所在的程序段。goto语句在很多高级言语中都会有,其普通方式如下:goto 语句标号;其中的语句标号为一个带冒号的标识符。运用goto语句的程序例如如下:#include /头文件void main()/主函数int i=0,total=0;l o o p :/语句标号total = total +i;/执行运算i+;if(i=100)/假设满足条件那么转向loop处goto loop;printf(1+2+100=%dn, total);/输出结果13.7.2 break语句 brea

11、k语句通常用在循环语句和开关语句中,用来跳出循环程序块。其运用的普通方式如下: break; 在C51程序设计中,break语句主要用于如下两种情况。 当break用于开关语句switch中时,可使程序跳出switch,而执行switch以后的语句。假设没有break语句,那么switch语句将成为一个死循环而无法退出。 在do-while、for、while循环语句中时,break语句和if语句联在一同运用,可以实现满足条件时便跳出循环的操作。13.7.3 continue 语句continue语句的是用来跳过循环体中剩余的语句而强行执行下一次循环。其运用的普通方式如下:continue;在

12、C51言语中,continue语句只用在for、while、do-while等循环体中,常与if条件语句一同运用,可以提早终了本次循环。运用continue语句的程序例如如下:#include /头文件void m a i n ( )/主函数char ch=s,S,r,R,t;/初始化字符数组int i=-1;w h i l e ( i =A & chi=Z)/假设是大写字符那么退出本次循环,进入下次循环continue;printf(ch%d=%cn,i,chi);/输出小写字符 13.8 函数调用语句函数调用语句用于调用系统函数或者用户自定义函数。在C51言语中,函数调用语句比较简

13、单,在函数名后面加上分号便可构成函数调用语句。这里需求留意的是函数调用格式的问题,这将在后面的章节详细引见。下面仅举一个例子加以阐明:#include /头文件v o i d m y p r i n t ( )/定义函数printf(hello world.n);/输出字符串i n t A d d ( i n t a )/定义函数r e t u r n a + 1 ;/前往值v o i d m a i n ( )/主函数i n t i = 2 , j ;/初始化m y p r i n t ( ) ;/调用函数语句j = A d d ( i ) ;/调用带有前往值的函数语句printf(%d+1

14、=%dn,i,j);/输出结果 13.9 空语句空语句是C51言语中有一个特殊的表达式语句,其仅由一个分号“;组成。在实践程序设计时,有时为了语法的正确,要求有一个语句,但这个语句又没有实践的运转效果,那么这时就要有一个空语句。最典型的运用空语句的例子便是程序延时。在C51程序中,while、for构成的循环语句后面加一个分号,可以构成一个不执行其他操作的空循环体。常用来编写等待事件发生以及延时的程序。例如如下:#include /头文件void main()/主函数printf(First output);/输出字符串for (;a50000;a+);printf(Delay some ti

15、mes and output);/输出字符串 13.10 前往语句 前往语句用于终止当前函数的执行,并强迫前往到程序调用该函数的位置。在C51言语中,前往语句主要有以下两种方式: return 表达式; 或者 return; 其中,对于带有前往值的函数,那么运用第一种前往语句,表达式的值便是函数的前往值。假设函数没有前往值,那么可以缺省表达式,而采用第二种前往语句。13.11 C51的流程控制构造在C51言语的程序设计中,为了控制好模块间的顺序关系,普通采用的是模块化程序构造,这时需求采用一定的流程控制构造。C51程序支持多种流程控制构造,比较常见的是顺序构造、分支构造和循环构造等三种。顺序构造的程序按代码的顺序自上而下执行,没有代码的腾跃。这种构造比较简单,常用于实现不是很复杂的义务。选择构造的程序经过判别表达式的值来决议执行哪一段程序,普通采用条件语句if、开关语句switch等来构成。这种构造常用于判别、决策等代码中。循环构造的程序循环反复执行同一段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论