第5章 C51的语句.ppt_第1页
第5章 C51的语句.ppt_第2页
第5章 C51的语句.ppt_第3页
第5章 C51的语句.ppt_第4页
第5章 C51的语句.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、21天学51单片机开发,第五讲:C51的语句,课程安排,声明语句 表达式语句 复合语句 循环语句 条件语句 开关语句 跳转语句 函数调用语句 返回语句,声明语句,声明语句用于声明变量或者自定义函数。通过声明语句,可以指定变量的类型、初始值以及函数的类型和形参等。 声明语句的一般形式如下: 类型说明符 变量名(=初始值); 类型说明符 函数名(形参); 值得注意的几点: 类型说明符为C51语言中的变量或者函数类型。 变量名或者函数名为读者定义的标识符,应符合C51标识符的命名规则。 如果在声明变量的时候需要指定初始值,则可以使用“=”来指定,否则“=”可以省略。 对于函数,如果不需要形参,则可以

2、使用void来代替。,表达式语句,表达式语句是最常用的语句,一般来说,任何一种表达式在结尾加上“;”便可以构成一个合法的表达式语句。 根据所使用表达式的不同,表达式语句可以执行算术运算、逻辑运算或者使单片机执行某种动作。 表达式语句执行某种运算,但有可能并不进行赋值操作。,复合语句,复合语句是使用一对花括号“”和“”,将一些语句组合构成的一个整个语句结构。 在使用复合语句时,应注意如下几点: 在C51语言中,复合语句可以当作一个语句来处理。但和一般的语句不同的是最后的“”后不能有分号“;”。 由于C51语言是一个顺序结构的语句,因此,在复合语句执行时,其内部的语句也是按照顺序自上而下执行的,除

3、非遇到跳转或者分支语句。 复合语句内部定义的变量只在复合语句内部有效。如果内部定义的变量和外部定义的变量重名,则将屏蔽外部的变量。 自定义的函数也是一个复合语句。,循环语句,循环语句提供了一种以最少的代码来执行多条重复语句的形式。 C51语言中的循环语句有如下几类: for语句 while语句 do-while语句,for语句,在程序中使用for语句的时候,应特别注意如下几点: 一定要特别注意循环条件和循环变量的变化方式,保证循环在一定条件满足的时候能够结束,防止出现死循环的情况。 for语句中的三个表达式都是可选择项,但“;”不能省。例如,for(;)是一个合法的语句,但其表示一个无限死循环

4、。 for循环语句可以实现多级嵌套。 当循环体语句只有一条的时候,可以省略花括号“”,否则不可以省略。,for(表达式1;表达式2;表达式3) 语句; ,while语句,在程序中使用while语句的时候,应特别注意如下几点: 在循环体语句中一定要加入能够改变while表达式取值的语句,保证循环在一定条件满足的时候能够结束,防止出现死循环的情况。 while语句的表达式可以永远为真,此时表示一个无限死循环。例如,while(1)。 while循环语句可以实现多级嵌套。 当循环体语句只有一条的时候,可以省略花括号“”,否则不可以省略。 while语句循环体内允许空语句。,while(表达式) 语句

5、; ,do-while语句,在程序中使用do-while语句的时候,应特别注意如下几点: 在循环体语句中一定要加入能够改变while表达式取值的语句,保证循环在一定条件满足的时候能够结束,防止出现死循环的情况。 do-while语句和while语句区别在于执行循环体语句的顺序不同。 do-while循环语句也可以实现多级嵌套。 当循环体语句只有一条的时候,可以省略花括号“”,否则不可以省略。,do 语句; while(表达式);,条件语句,条件语句是根据表达式的取值来决定程序走向的语句,最常用的便是if条件语句。 根据if语句中分支的不同,可以分为: 单分支if语句 双分支if语句 多分支if

6、语句,单分支if语句,if为C51的关键字,表达式一般为逻辑表达式或者关系表达式,“”内为条件分支语句。 单分支if语句在执行时,首先判断表达式的结果,如果为真则执行分支语句,执行完后,继续执行后续程序;如果为假则跳过分支语句,执行后续程序。 如果if分支中只有一条语句,则“”可以省略,否则不可以省略。,if (表达式) 语句; ,双分支if语句,其中,if和else为C51的关键字,表达式一般为逻辑表达式或者关系表达式,“”内为条件分支语句。 双分支if语句在执行时,首先判断表达式的结果,如果为真则执行分支语句1,如果为假则执行分支语句2。 同样,如果if分支中只有一条语句,则“”可以省略,

7、否则不可以省略。,if (表达式) 语句1; else 语句2; ,多分支if语句,其中,当if和else为C51的关键字,表达式1n一般为逻辑表达式或者关系表达式,“”内为条件分支语句。 多分支if语句在执行时,顺次计算表达式1n的值,如果为真,则执行相应的分支语句。如果所有的条件都不满足,则执行else分支中的语句。 同样,如果if分支中只有一条语句,则“”可以省略,否则不可以省略。,if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式n) 语句n; else 语句n+1; ,开关语句,开关语句是C51语言中另外一种实现分支结构的语句。 在程序中使

8、用switch开关语句的时候,应特别注意如下几点: 一个case分支语句要分配一个break语句来跳出开关语句,否则将接着执行下面的case分支语句。 如果希望在没有符合的条件时不做任何处理,则可以省略default分支语句。,switch(表达式) case 常量表达式1: 语句分支1; break; case 常量表达式2: 语句分支2; break; case 常量表达式3: 语句分支3; break; case 常量表达式n: 语句分支n; break; default: 语句分支n+1; ,跳转语句,跳转语句用于根据条件来跳转执行 。 常用的跳转语句有如下几种: goto语句 bre

9、ak语句 continue语句,goto语句,goto语句是一种无条件跳转语句,其一般形式如下: goto 语句标号; 其中,goto为C51的标识符,语句标号为需要跳转到的语句行的标识符。 语句标号由用户自己定义,且需要满足C51关于标识符的命名规则。 goto语句在执行时,将直接跳转到语句标号处执行。 使用goto语句可以用来跳出多重循环,不过只可以从内层循环跳到外层循环,而不能从外层循环跳到内层循环中。,break语句,break语句用于无条件跳出循环结构或者开关分支结构,其一般形式如下: break; 这里,break为C51的关键字。 当break用于switch开关语句中时,一般放

10、置在case分支语句的结束,可使程序跳出switch,而执行switch以后的语句。 在do-while、for、while循环语句中使用时,break语句可以强制跳出循环,常和if语句在一起使用。,continue语句,continue语句用于强制结束当前循环体内部的后续语句,转而执行下一次循环,其一般形式如下: continue; 其中,continue为C51的关键字。 continue语句一般只用在for、while、do-while等循环结构的循环体中。,函数调用语句,函数调用语句用于在程序中调用系统内部的函数或者用户自定义的函数。 在函数调用时,在函数名称后面加上分号便可构成函数调用语句。 在使用时,需要注意的是参数的传递和返回值。 详细内容将在函数部分进行讲解。,空语句,顾名思义,空语句便是不执行如何运算和操作的语句。 在C51语言中,空语句只有一个分号“;”来表示,相当于汇编语言中的nop指令。 空语句常用来和循环语句一起使用,从而构成

温馨提示

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

评论

0/150

提交评论