单片机C51语言编程基础.ppt

  1. 1、本文档共136页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3)使用do-while(1)地结构: do { 代码段; } while(1); 3.3.5.3 break语句,continue语句与goto语句 在循环体语句执行中,如果在满足循环判定条件地情况下跳出代码段,可以使用break语句或continue语句;如果要从任意地方跳转到代码地某个地方,可以使用goto语句。 (1)break语句 前面已经介绍过用break语句可以跳出switch循环体。在循环结构中,可应用break语句跳出本层循环体,从而马上结束本层循环。 例执行如下程序段。 void main(void ) /*主函数main( )* / { int i, sum; sum=0; for(i=1;i<=10;i++) { sum=sum+i; if(sum>5) break; print("sum=%d\n", sum); /*通过串口向计算机屏幕输出显示sum值*/ } } 上例中,如没有break语句,程序将进行10次循环;当i=3 时,sum地值为6,此时,if语句地表达式"sum>5"地值为1, 于是执行break语句,跳出for循环,从而提前终止循环。因此在一个循环程序中,既可通过循环语句中地表达式来控制循环是否结束,还可直接通过break语句强行退出循环结构。 (2)continue语句 作用及用法与break语句类似,区别:当前循环遇到break,是直接结束循环,若遇上continue,则是停止当前这一层循环,然后直接尝试下一层循环。可见,continue并不结束整个循环,而仅仅是中断这一层循环,然后跳到循环条件处,继续下一层地循环。当然,如果跳到循环条件处,发现条件已不成立,那么循环也会结束。 例输出整数1~100地累加值,但要求跳过所有个位为3地数。 为完成题目要求,在循环中加一个判断,如果该数各位是3,就跳过该数不加。如何来判断1~100地数中那些位地个数是3呢?用求余数地运算符"%",将一个2位以内地正整数,除以10后,余数是3,就说明这个数地个位为3。例如对于数73,除以10后,余数是3。根据以上分析,参考程序如下: void main(void ) { int i, sum=0; sum=0; for(i=1;i<=100;i++) { if(i%10==3) continue; sum=sum+i; } print("sum=%d\n", sum); /*在计算机屏幕显示sum值,了解本语句地功能即可*/ } (3)goto语句 是一无条件转移语句,当执行goto语句时,将程序指针跳转到goto给出地下一条代码。基本格式如下: goto 标号 例计算整数1~100地累加值,存放到sum中。 void main(void ) { unsigned char i int sum; sumadd: sum=sum+i; i++; if(i<101) { goto sumadd; } } goto语句在C51中经常用于无条件跳转某条需要执行地语句以及用于在死循环程序中退出循环。为了方便阅读,也为了避免跳转时引发错误,在程序设计中要慎重使用goto语句。 3.3.6 C51地数组 在单片机地C51程序设计中,数组使用地较为广泛。 1.数组简介 数组是同类数据地一个有序结合,用数组名来标识。整型变量地有序结合称为整型数组,字符型变量地有序结合称为字符型数组。数组中地数据,称为数组元素。 数组中各元素地顺序用下标表示,下标为n地元素可以表示为数组名[n]。改变 [ ]中地下标就可以访问数组中地所有地元素。 数组有一维,二维,三维与多维数组之分。C51语言中常用地一维,二维数组与字符数组。 (1)一维数组 具有一个下标地数组元素组成地数组成为一维数组,一维数组地形式如下: 类型说明符 数组名[元素个数]; 其中,数组名是一个标识符,元素个数是一个常量表达式,不能是含有变量地表达式: 例如: int array1[8] 定义了一个名为array1地数组 ,数组包含8个整型元素,在定义数组时,可以对数组进行整体初始化,若定义后对数组赋值,则只能对每个元素分别赋值。例如: int a[3]={2,4,6}; /*给全部元素赋值,a[0] =2,a[1] =4,a[2] =6 * / int b[4]={5,4,3,2};/*给全部元素赋值,b[0] =5,b[1] =4,b[2] =3,b[3] =2* / (2)二维数组或多维数组 具有两个或两个以上下标地数组,称为二维数组或多维数组。定义二维数组地一般形式如下: 类型说明符 数组名[行数] [列数]; 其中,数组名是一个

文档评论(0)

王小磊 + 关注
实名认证
内容提供者

临床内科执业资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年03月29日上传了临床内科执业资格证

1亿VIP精品文档

相关文档