C51常用语句讲解.ppt

上传人:sh****n 文档编号:8082827 上传时间:2020-03-27 格式:PPT 页数:25 大小:123.50KB
返回 下载 相关 举报
C51常用语句讲解.ppt_第1页
第1页 / 共25页
C51常用语句讲解.ppt_第2页
第2页 / 共25页
C51常用语句讲解.ppt_第3页
第3页 / 共25页
点击查看更多>>
资源描述
第13章C51语句和流程 C51语句 即C51语言中的操作命令 用于使单片机完成特定的功能 C51的源程序是由一系列的语句组成的 这些语句可以完成变量声明 赋值和控制输入输出等操作 一条完整的语句必须以 结束 由于单片机能识别的是机器指令 因此一般一条语句经过编译后生成若干条机器指令来执行 C51语言中的语句包括说明 表达式语句 循环语句 条件语句 开关语句 复合语句 空语句和返回语句等 下面分别进行说明 Main函数格式 voidmain 特点 无返回值 无参 任何一个C程序有且仅有一个main函数 它是整个程序开始执行的入口 例 voidmain 总程序从这里开始执行 其他语句 若有返回值就用intmain 无返回值就用voidmain 实际上严格些应该为voidmain void 返回值就是在一个函数运行完后是不是有东西返回 如果一个函数只是完成一系列的动作 没有return语句 就说这个函数没有返回值 13 1说明语句 说明语句一般是用来定义声明变量 可以说明其的类型和初始值 一般形式为 类型说明符变量名 初始值 其中 类型说明符指定变量的类型 变量名即变量的标示符 如果在声明变量的时候进行赋值 则需要使用 指定初始值 典型的说明语句示例如下 其中分别进行了变量声明以及初始化赋值 inta 1 声明并初始化整型变量floatc 声明浮点型变量charp 6 first 声明并初始化字符数组sfrP1 0 x80 声明并初始化寄存器bitthird 声明位变量 13 2表达式语句 表达式语句是用来描述算术运算 逻辑运算或使单片机产生特定的操作 表达式语句是C51语言中最基本的一种语句 示例如下 b b 20 Count X A Y B P a b a 1 以上的都是合法的表达式语句 一般来说 任何表达式在末尾加上分号 便可以构成语句 示例如下 a a 8 赋值表达式a a 8 赋值语句 13 3复合语句 复合语句是用花括号 将一组语句组合在一起而构成的语句 C51语言中由单个表达式和末尾的分号构成的语句是简单语句 在C51语言中 复合语句是允许嵌套的 即就是在花括号 中的 也是复合语句 复合语句在程序运行时 中的各行单语句是依次顺序执行的 在C51语言中使用复合语句需要注意如下几点 C51语言中 复合语句在语法上等同于一条单语句 复合语句中不但可以由可执行语句组成 还可以用变量定义等语句组成 要注意的是在复合语句中所定义的变量 称为 局部变量 所谓局部变量就是指它的有效范围只在复合语句中 对于一个函数而言 函数体就是一个复合语句 函数内定义的变量有效范围只在函数内部 13 4循环语句 循环语句经常用于需要反复多次执行的操作 C51语言中有3种基本的循环语句 while语句 do while语句和for语句 这几个语句同样都是起到循环作用 但具体的作用和用法又不大一样 下面分别介绍 13 4 1while语句 While循环语句的一般使用形式为 while 表达式 语句 当其中的表达式值为真时 便执行语句 然后再次判断表达式的值 直到表达式的值为假时 才结束循环 并继续执行循环外的后续语句 while语句的特点是先判断条件 后执行语句 while语句的循环过程如图所示 While 表达式 语句 内部也可为空 特点 先判断表达式 后执行语句 原则 若表达式不是0 即为真 那么执行语句 否则跳出while语句 13 4 2do while语句 do while语句的一般形式为 do语句 while 表达式 do while语句是先执行一次do后面的语句 然后再判断表达式是否为真 如果表达式为真 返回再次执行do后面的语句 直到表达式为假时 才结束循环 并继续执行循环外的后续语句 do while语句的特点是先执行语句 后判断条件 因此 do while语句至少执行一次do后面的语句 同样 由多个语句构成语句体时 必须用 括起来 表示成复合语句的形式 13 4 3for语句 for语句的一般形式为 for 表达式1 表达式2 表达式3 语句 其中 表达式1为赋值语句 给循环变量进行初始化赋值 表达式2是一个关系逻辑表达式 作为判断循环条件的真假 表达式3定义循环变量每次循环后按什么方式变化 当由表达式1初始化循环变量后 则由表达式2和表达式3可以确定循环次数 求解完表达式1后 判断循环条件 即表达式2的真假 若条件为真 则执行下面的循环语句和表达式3 直到循环条件为假时 才结束循环 然后继续执行循环外的后续语句 For 表达式1 表达式2 表达式3 语句 内部可为空 执行过程 1 求解一次表达式1 2 求解表达式2 若其值为真 非0即为真 则执行for中语句 然后执行第3步 否则结束for语句 直接跳出 不再执行第3步 3 求解表达式3 4 跳到第2步重复执行 13 5条件语句 条件语句常用于需要根据某些条件来决定执行流向的程序中 其是由关键字if构成 即if条件语句 条件语句又被称为 分支语句 C51语言提供了3种形式的条件语句 下面分别进行介绍 13 5 1单分支结构 单分支结构的条件语句只有一个语句分支或者语句块分支 其一般形式为 if 表达式 语句 其中 当if条件语句表达式的结果为真时 就执行分支语句 执行完后 继续执行后续程序 当表达式为假时 就跳过分支语句 执行后续程序 使用if语句的单分支结构程序 示例如下 include 头文件voidmain 主函数 inta b 变量声明a 1 初始化b 1 初始化if a b a if语句的单分支结构printf a d n a 输出结果 13 5 2双分支结构 双分支结构的条件语句包含两个语句分支 由关键字if和else构成 其一般形式为 if 表达式 语句1 else语句2 当表达式为真时 就执行语句1 执行完后 继续执行if语句后面的语句 当表达式为假时 就执行语句2 执行完后 继续执行if语句后面的语句 13 5 3阶梯式if else if结构 阶梯式if else if结构是一种多分支结构 其可以包含多个分支语句 其一般形式为 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 elseif 表达式n 语句n else语句n 1 这是由if else语句组成的嵌套 可以实现多方向条件分支 该语句从上到下逐个对条件进行判断 一旦条件为真 就执行与其相关的分支语句 并跳过剩余的阶梯 如果没有一个条件为真 则执行最后一个else分支语句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 1goto语句 goto语句是一个无条件的转向语句 在C51程序执行到这个语句时 程序指针就会无条件地跳转到goto后的标号所在的程序段 goto语句在很多高级语言中都会有 其一般形式如下 goto语句标号 其中的语句标号为一个带冒号的标识符 使用goto语句的程序示例如下 include 头文件voidmain 主函数 inti 0 total 0 loop 语句标号total total i 执行运算i if i 100 如果满足条件则转向loop处gotoloop printf 1 2 100 d n total 输出结果 13 7 2break语句 break语句通常用在循环语句和开关语句中 用来跳出循环程序块 其使用的一般形式如下 break 在C51程序设计中 break语句主要用于如下两种情况 当break用于开关语句switch中时 可使程序跳出switch 而执行switch以后的语句 如果没有break语句 则switch语句将成为一个死循环而无法退出 在do while for while循环语句中时 break语句和if语句联在一起使用 可以实现满足条件时便跳出循环的操作 13 7 3continue语句 continue语句的是用来跳过循环体中剩余的语句而强行执行下一次循环 其使用的一般形式如下 continue 在C51语言中 continue语句只用在for while do while等循环体中 常与if条件语句一起使用 可以提前结束本次循环 使用continue语句的程序示例如下 include 头文件voidmain 主函数 charch s S r R t 初始化字符数组inti 1 while i A 输出小写字符 13 8函数调用语句 函数调用语句用于调用系统函数或者用户自定义函数 在C51语言中 函数调用语句比较简单 在函数名后面加上分号便可构成函数调用语句 这里需要注意的是函数调用格式的问题 这将在后面的章节详细介绍 下面仅举一个例子加以说明 include 头文件voidmyprint 定义函数 printf helloworld n 输出字符串 intAdd inta 定义函数 returna 1 返回值 voidmain 主函数 inti 2 j 初始化myprint 调用函数语句j Add i 调用带有返回值的函数语句printf d 1 d n i j 输出结果 13 9空语句 空语句是C51语言中有一个特殊的表达式语句 其仅由一个分号 组成 在实际程序设计时 有时为了语法的正确 要求有一个语句 但这个语句又没有实际的运行效果 那么这时就要有一个空语句 最典型的使用空语句的例子便是程序延时 在C51程序中 while for构成的循环语句后面加一个分号 可以形成一个不执行其他操作的空循环体 常用来编写等待事件发生以及延时的程序 示例如下 include 头文件voidmain 主函数 printf Firstoutput 输出字符串for a 50000 a printf Delaysometimesandoutput 输出字符串 13 10返回语句 返回语句用于终止当前函数的执行 并强制返回到程序调用该函数的位置 在C51语言中 返回语句主要有以下两种形式 return表达式 或者return 其中 对于带有返回值的函数 则使用第一种返回语句 表达式的值便是函数的返回值 如果函数没有返回值 则可以缺省表达式 而采用第二种返回语句 13 11C51的流程控制结构 在C51语言的程序设计中 为了控制好模块间的顺序关系 一般采用的是模块化程序结构 这时需要采用一定的流程控制结构 C51程序支持多种流程控制结构 比较常见的是顺序结构 分支结构和循环结构等三种 顺序结构的程序按代码的顺序自上而下执行 没有代码的跳跃 这种结构比较简单 常用于实现不是很复杂的任务 选择结构的程序通过判断表达式的值来决定执行哪一段程序 一般采用条件语句if 开关语句switch等来构成 这种结构常用于判断 决策等代码中 循环结构的程序循环重复执行同一段代码 一般由while do while for以及goto等构成 这种结构常用于需要多次执行某项任务处理的场合 可以简化代码 13 12小结 本章详细讲述了单片机C51语言中的各种语句结构 包括说明语句 表达式语句 复合语句 循环语句 条件语句 开关语句 跳转语句 函数调用语句 空语句和返回语句 这些语句是C51程序的重要组成部分 灵活利用这些语句 可以实现不同的程序流程控制结构 顺序结构 选择结构和循环结构等 以达到简化程序的目的 熟练掌握本章内容是进行C51程序设计的基础
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!