第3章C51语言编程基础_第1页
第3章C51语言编程基础_第2页
第3章C51语言编程基础_第3页
第3章C51语言编程基础_第4页
第3章C51语言编程基础_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、第第3 3章章 c51c51语言编程基础语言编程基础1实用精品课件ppt1 1)机器语言)机器语言定义:处理器能直接执行的二进制代码定义:处理器能直接执行的二进制代码特点:效率高、但不易于使用特点:效率高、但不易于使用10110110 00000000 10110101 00000000add aadd a,#19#193.1 3.1 编程语言编程语言keilkeil c51 c51简介简介1、编程语言、编程语言2 2)汇编语言)汇编语言 定义:以助记符的形式表示机器语言定义:以助记符的形式表示机器语言 特点:速度快、体积小、但依赖于硬件体系特点:速度快、体积小、但依赖于硬件体系2实用精品课件

2、ppt3)高级语言)高级语言独立于机器、面向过程的、接近于人的自然语言。独立于机器、面向过程的、接近于人的自然语言。语言:语言:fortran、c语言语言特点:与硬件无关、易于交流和使用、运行效率低特点:与硬件无关、易于交流和使用、运行效率低x = x + 1;x = x + 1;编译器编译器链接器链接器x = x + 1;程序员程序员1001001010110010高级语言程序高级语言程序机器码机器码单片机如何执行程序指令?单片机如何执行程序指令?3实用精品课件pptkeilkeil c51 c51语言是在标准语言是在标准c c的基础上,针对的基础上,针对5151单片机的硬件特点进行单片机的

3、硬件特点进行扩展,并向扩展,并向5151单片机上移植的高效、简洁的实用高级语言。单片机上移植的高效、简洁的实用高级语言。 与汇编语言相比的特点:与汇编语言相比的特点:(1)可读性好)可读性好。(2)可模块化开发。)可模块化开发。(3)可移植性好。)可移植性好。(4)生成的代码效率较低。)生成的代码效率较低。2 2、keilkeil c51 c51语言简介语言简介对于对于5151单片机,目前广泛使用的是单片机,目前广泛使用的是keilkeil c51 c51语言,简称语言,简称c51c51语言。语言。4实用精品课件ppt3 3、c51c51与标准与标准c c的区别的区别(1 1)库函数的不同。库

4、函数的不同。例如库函数例如库函数printfprintf和和scanfscanf,在标准,在标准c c中,这中,这两个函数通常用于屏幕打印和接收字符,而在两个函数通常用于屏幕打印和接收字符,而在keilkeil c51 c51中,主要中,主要用于串行口数据的收发。用于串行口数据的收发。(3 3)c51c51的变量存储模式与标准的变量存储模式与标准c c中的变量存储模式不一样。中的变量存储模式不一样。标准标准c c是在通用计算机中只有一个程序和数据统一寻址的内存空间。是在通用计算机中只有一个程序和数据统一寻址的内存空间。 5151单片机存储区可分为内部数据存储区、外部数据存储区以及程序单片机存储

5、区可分为内部数据存储区、外部数据存储区以及程序存储区。存储区。(4 4)标准标准c c语言没有处理单片机中断的方法。语言没有处理单片机中断的方法。c51c51中有专门处理中断的中断函数。中有专门处理中断的中断函数。(2 2)数据类型有一定的区别。数据类型有一定的区别。在标准在标准c c的基础上又扩展了的基础上又扩展了4 4种类型。种类型。5实用精品课件ppt(5 5)头文件的不同。头文件的不同。5151头文件把单片机内部的硬件资源如定时器、中断、头文件把单片机内部的硬件资源如定时器、中断、i/oi/o等所相等所相应的功能寄存器写入头文件内。应的功能寄存器写入头文件内。(6 6)程序结构的差异。

6、程序结构的差异。由于由于5151单片机硬件资源有限,编译系统不允许太多的程序嵌套。单片机硬件资源有限,编译系统不允许太多的程序嵌套。其次,其次,c51c51语言不支持标准语言不支持标准c c的递归特性。的递归特性。 4 4、keilkeil c51 c51的开发工具的开发工具keilkeil vision3vision3keilkeil vision3vision3是德国是德国keilkeil software software公司开发的公司开发的c51c51语言开发软件。语言开发软件。这个软件集成了文件编辑处理、编译链接等功能。这个软件集成了文件编辑处理、编译链接等功能。6实用精品课件ppt

7、3.2 c513.2 c51语言程序设计基础语言程序设计基础1 1、数据类型与存储类型、数据类型与存储类型1 1)数数据据类类型型7实用精品课件ppt2)c51扩展的数据类型(扩展的数据类型(4种扩展的数据类型)种扩展的数据类型)(1 1)位变量)位变量bitbit bit bit的值可以是的值可以是1 1(truetrue),或),或0 0(falsefalse)。)。 bit bit 变量名;变量名;格式:格式:例如:例如:bit flag;bit flag;flag = 0flag = 0;8实用精品课件ppt(2 2)特殊功能寄存器)特殊功能寄存器sfrsfr 地址单元地址单元80h8

8、0hffhffh之间的片内数据存储区;之间的片内数据存储区; “ “sfrsfr” ” 数据类型占用一个内存单元;数据类型占用一个内存单元; 利用它可以访问利用它可以访问5151单片机内部的所有特殊功能寄存器。单片机内部的所有特殊功能寄存器。sfrsfr p1 = 0 x90 p1 = 0 x90; /定义了定义了p1p1为片内的为片内的p1p1口寄存器;口寄存器;p1 = 0 xffp1 = 0 xff; /把把p1p1口的所有输出引脚设置为高电平。口的所有输出引脚设置为高电平。例如:例如:sfrsfr 寄存器变量名寄存器变量名 = = 字节地址常数;字节地址常数;格式:格式:9实用精品课件

9、pptsfrsfr sbuf = 0 x99 sbuf = 0 x99;习题:习题: 往串行发送数据缓冲寄存器往串行发送数据缓冲寄存器sbuf写入写入80sbuf = 80sbuf = 80;习题:习题: 从从p0口寄存器读取数据,存放到任意一个变量口寄存器读取数据,存放到任意一个变量x。sfrsfr p0 = 0 x80 p0 = 0 x80;intint x x; x = p0 x = p0;10实用精品课件ppt例如:例如:(3 3)特殊功能寄存器)特殊功能寄存器sfr16sfr16“sfr16”“sfr16”数据类型占两个内存单元;数据类型占两个内存单元;用于操作占两个字节的特殊功能寄

10、存器。用于操作占两个字节的特殊功能寄存器。sfr16 dptr = 0 x82sfr16 dptr = 0 x82;/定义了片内定义了片内1616位数据指针寄存器位数据指针寄存器dptrdptr, /低低8 8位字节地址为位字节地址为82h82h, /高高8 8位字节地址为位字节地址为83h83h。dptr=0 x1234;dptr=0 x1234;sfr16 sfr16 寄存器变量名寄存器变量名 = = 字节地址常数;字节地址常数;格式:格式:字节地址为字节地址为82h、83h存放的数据分别是多少?存放的数据分别是多少?11实用精品课件ppt(4 4)特殊功能位)特殊功能位 sbitsbit

11、 片内特殊功能寄存器的可寻址位。片内特殊功能寄存器的可寻址位。“”“”前是特殊功能寄存器的名字;前是特殊功能寄存器的名字;“”的后面数字是特殊功能寄存器可寻址位在寄存器中的位置,的后面数字是特殊功能寄存器可寻址位在寄存器中的位置,取值必须是取值必须是0-70-7。 sbitsbit 位变量名位变量名 = = 特殊功能寄存器特殊功能寄存器 位位置;位位置;格式:格式:sfrsfr psw = 0 xd0 psw = 0 xd0; /定义定义pswpsw寄存器地址为寄存器地址为0 xd00 xd0sbitsbit fo = psw 5 fo = psw 5 ;/定义定义f0f0位为位为psw.5p

12、sw.5f0 = 0;f0 = 0;例如:例如:12实用精品课件ppt习题:片内习题:片内i/oi/o口口p1p1口的口的p1.0p1.0寻址位置成高电平寻址位置成高电平 sfr sfr p1 = 0 x90 p1 = 0 x90; sbitsbit p1_0 = p10 p1_0 = p10; p1_0 = 1p1_0 = 1;习题:习题: 从从p2口的口的p2.7读取数据,存放到任意一个位变量读取数据,存放到任意一个位变量x。 sfr sfr p2 = 0 xa0 p2 = 0 xa0; sbitsbit p2_7 = p27 p2_7 = p27; bit xbit x; x = p2_

13、7x = p2_7; 13实用精品课件pptsbitsbit 位变量名位变量名 = = 位地址常数;位地址常数; sbitsbit cy = 0 xd7 cy = 0 xd7; / /* * cy cy位地址为位地址为0 xd70 xd7* */ /sbitsbit ov = 0 xd2 ov = 0 xd2; / /* * ov ov位地址为位地址为0 xd20 xd2* */ /ifif(cy = = 1cy = = 1) 例如:例如:格式:格式:14实用精品课件ppt习题:片内习题:片内i/oi/o口口p1p1口的口的p1.0p1.0寻址位置成低电平寻址位置成低电平sbitsbit p1

14、_0 = 0 x90 p1_0 = 0 x90;p1_0 = 0p1_0 = 0;在头文件在头文件at89x51.hat89x51.h中定义了常用的特殊功能寄存器和可寻址位。中定义了常用的特殊功能寄存器和可寻址位。#include #include sfr sfr p1 = 0 x90 p1 = 0 x90; sbitsbit p1_0 = 0 x90 p1_0 = 0 x90; 两者区别?两者区别? 615实用精品课件ppt3 3)数据存储类型数据存储类型数据存储类型是指数据存放在数据存储类型是指数据存放在5151单片机的哪一个存储器空间。单片机的哪一个存储器空间。16实用精品课件pptbd

15、atadataidatapdataxdatacode17实用精品课件ppt(1 1)datadata区。区。 datadata区指片内区指片内ramram的低的低128128字节的空间,可直接寻址;字节的空间,可直接寻址; 寻址是最快的,应该把经常使用的变量放在寻址是最快的,应该把经常使用的变量放在datadata区。区。unsigned char unsigned char datadata system_status system_status=0;=0;unsigned intunsigned int datadata unit_id8; unit_id8;例如:例如:格式:格式: 数据

16、类型数据类型【存储类型【存储类型】变量名;变量名;18实用精品课件ppt(2 2)bdatabdata区。区。 bdatabdata区是内部区是内部ramram可位寻址的可位寻址的1616字节存储区(字节地址为字节存储区(字节地址为20h20h 2fh2fh)中的)中的128128个位。个位。 在这个区中声明变量就可进行位寻址。在这个区中声明变量就可进行位寻址。例如:例如:unsigned char bdata status_byte;unsigned int bdata status_word;sbit stat_flag= status_byte4;if( status_word15 )

17、stat_flag=1; 19实用精品课件ppt(3 3)idataidata区。区。 idataidata区是片内区是片内ramram的的0-2560-256字节的存储区,只能间接寻址,字节的存储区,只能间接寻址, 速度比直接寻址慢。速度比直接寻址慢。unsigned char idata system_status=0;float idata value; 例如:例如:20实用精品课件ppt(4 4)pdatapdata区和区和xdataxdata区。区。 pdatapdata区和区和xdataxdata区位于片外存储区;区位于片外存储区; pdatapdata区指的是外部数据存储区区指的

18、是外部数据存储区0 0256256字节。字节。 xdataxdata区指的是外部数据区区指的是外部数据区64kb64kb内的任何地址。内的任何地址。unsigned char xdata system_status=0;unsigned int pdata unit_id8;例如:例如:21实用精品课件ppt(5 5)程序存储区)程序存储区codecode。 codecode区是程序存储区,储存的数据是不可改变的。区是程序存储区,储存的数据是不可改变的。unsigned char unsigned char codecode a9 a9 =0 x00,0 x01,0 x02,0 x03,0 x

19、04,0 x05,0 x06,0 x07,0 x08;=0 x00,0 x01,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08;例如:例如:22实用精品课件ppt4 4)数据存储器模式)数据存储器模式c51c51编译器设定的存储器模式:编译器设定的存储器模式: smallsmall、compactcompact和和largelarge三种模式。三种模式。若声明若声明 char var1char var1;在在smallsmall模式下,模式下, var1var1被定位在被定位在datadata存储区;存储区;在在compactcompact模式下,模式下,

20、var1var1被定位在被定位在idataidata存储区;存储区;在在largelarge模式下,模式下, var1var1被定位在被定位在xdataxdata存储区中。存储区中。23实用精品课件ppt2 2、c51c51语言的绝对地址访问语言的绝对地址访问c51c51语言提供了两种比较常用的访问绝对地址的方法,语言提供了两种比较常用的访问绝对地址的方法,对片内对片内ramram、片外、片外ramram及及i/oi/o进行访问。进行访问。绝对地址绝对地址24实用精品课件ppt1)绝对宏)绝对宏c51编译器提供了一组宏定义对编译器提供了一组宏定义对code、data、pdata和和xdata空

21、间空间进行绝对寻址。这组宏定义放在进行绝对寻址。这组宏定义放在absacc.h头文件中:头文件中:cbyte 以字节形式对以字节形式对code区寻址;区寻址;cword 以字形式对以字形式对code区寻址;区寻址;dbyte 以字节形式对以字节形式对data区寻址;区寻址;dword 以字形式对以字形式对data区寻址;区寻址;xbyte 以字节形式对以字节形式对xdata区寻址;区寻址;xword 以字形式对以字形式对xdata区寻址;区寻址;pbyte 以字节形式对以字节形式对pdata区寻址;区寻址;pword 以字形式对以字形式对pdata区寻址。区寻址。#define #define

22、 变量名变量名 绝对宏绝对宏 字节地址字节地址 格式格式绝对宏绝对宏25实用精品课件ppt【例】片内【例】片内ramram、片外、片外ramram定义的程序如下:定义的程序如下:#includeabsacc.h#include #define porte xbyte0 xffc0 #define porte xbyte0 xffc0 / /* *将将porteporte定义为外部定义为外部i/oi/o, 地址为地址为0 xffc00 xffc0* */ /#define nram dbyte0 x40 #define nram dbyte0 x40 / /* *将将nramnram定义为片内定

23、义为片内ramram, 地址为地址为0 x400 x40* */ /main( )main( ) porte=0 x3d; porte=0 x3d; nram=0 x01;nram=0 x01; / /* *数据数据3dh3dh写入地址写入地址0 xffc00 xffc0的外部的外部i/o i/o porte porte * */ / /* *将数据将数据01h01h写入片内写入片内ramram的的40h40h单元单元* */ /26实用精品课件ppt习题习题 使用绝对宏使用绝对宏将片将片内内ram 20hram 20h的字节地址单元全部置的字节地址单元全部置1 1。#includeabsac

24、c.h#include #define m dbyte0 x0020 #define m dbyte0 x0020 / /* *将将m m定义为外部定义为外部ramram, 地址为地址为0 x00200 x0020* */ /main( )main( ) m=0 xff; m=0 xff; 27实用精品课件ppt习题:习题: 使用绝对宏读取片外使用绝对宏读取片外ram f000hram f000h字节地址单元的内容。字节地址单元的内容。#includeabsacc.h#include #define wram xbyte0 xf000 #define wram xbyte0 xf000 mai

25、n( )main( ) char x char x; x = wram;x = wram; 728实用精品课件ppt2 2)_at_at_关键字关键字使用关键字使用关键字_at_at_可对指定的存储器空间的绝对地址进行访问。可对指定的存储器空间的绝对地址进行访问。格式:格式: 存储类型存储类型 数据类型数据类型 变量名变量名 _at_ _at_ 地址常数;地址常数;地址常数:指定变量的绝对地址,位于存储器空间之内;地址常数:指定变量的绝对地址,位于存储器空间之内;使用使用_at_at_定义的变量必须为全局变量。定义的变量必须为全局变量。29实用精品课件ppt【例】使用关键字【例】使用关键字_a

26、t_at_实现绝对地址的访问。实现绝对地址的访问。data unsigned char y1 _at_ 0 x50; /data unsigned char y1 _at_ 0 x50; /* *在在data data 区定义字节变量区定义字节变量 y1y1,地址为,地址为50h50h* */ /xdata unsigned intxdata unsigned int y2 _at_ 0 x4000; / y2 _at_ 0 x4000; /* *在在xdataxdata区定义字变量区定义字变量 y2y2,地址为,地址为4000h4000h* */ /void main(voidvoid ma

27、in(void) ) y1=0 xff; y1=0 xff; y2=0 x1234; y2=0 x1234; while(1); while(1); 30实用精品课件ppt习题:使用习题:使用关键字关键字_at_at_读取片内读取片内ram 60hram 60h单元的内容。单元的内容。data unsigned char m _at_ 0 x60;data unsigned char m _at_ 0 x60;void main(voidvoid main(void) ) unsigned char y ; unsigned char y ; y=m y=m; 31实用精品课件ppt【例【例】

28、使用关键字使用关键字_at_at_将片外将片外ram 2000hram 2000h开始的连续开始的连续2020个字节单元清个字节单元清0 0。void main(voidvoid main(void) ) unsigned char i; unsigned char i; for(i for(i=0; i20; i+)=0; i20; i+) bufferi bufferi=0=0; xdataxdata unsigned char buffer20 _at_ 0 x2000; unsigned char buffer20 _at_ 0 x2000;32实用精品课件pptdata unsign

29、ed char buffer8 _at_ 0 x40;data unsigned char buffer8 _at_ 0 x40;void main(voidvoid main(void) ) unsigned char j ; unsigned char j ; for(j for(j=0; j8; j+)=0; j y; r = x y;35实用精品课件ppt3 3)逻辑运算符)逻辑运算符逻辑表达式逻辑表达式intint x=0; x=0;intint y=1; y=1;intint r; r;r = x & y;r = x & y;36实用精品课件ppt4)位运算符)位运

30、算符01001000 01001000 & & 11111111 1111111100001000 00001000 2 201001001 01001001 | | 11111111 1111111137实用精品课件ppt01001000 01001000 & & 00110111 0011011101000000 01000000 | | 11111111 1111111100001000 00001000 y ) max=x; if( xy ) max=x; 比较变量比较变量x x和变量和变量y y,如果,如果xyxy,则把,则把 x x 赋给变量赋给变量

31、maxmax。习题:比较变量习题:比较变量x x和变量和变量y y,如果,如果x x和和y y相等,则把相等,则把0 0赋给变量赋给变量maxmax。if( x = = y ) max=0; if( x = = y ) max=0; 43实用精品课件ppt格式:格式:if(if(表达式表达式) ) 语句语句1 1; else else 语句语句2 2; 44实用精品课件pptif (xy) max=x; else max=y; 比较变量比较变量x x和变量和变量y y, 如果如果xyxy, 则把则把 x x 赋给变量赋给变量maxmax;否则把否则把 y y 赋给变量赋给变量maxmax。45

32、实用精品课件ppt习题:比较变量习题:比较变量x x和变量和变量y y,把二者最小值赋给变量,把二者最小值赋给变量minmin;if (xy) min=y; else min=x; 46实用精品课件ppt习题:如果变量习题:如果变量x x满足关系满足关系10 x2010 x10)&(x10)&(x20)) ) y=1 y=1; else else y=0; y=0; 947实用精品课件pptvoid main( )void main( ) sfr sfr p2=0 xa0 p2=0 xa0; sfrsfr p1=0 x90 p1=0 x90; sbitsbit p24=p24

33、p24=p24; sbitsbit p10=p10 p10=p10; 习题:如果读取习题:如果读取p2p2口的口的p2.4p2.4位为位为1 1,则把,则把p1p1口的口的p1.0p1.0置成置成0 0。 if(p24=1) if(p24=1) p10=0 p10=0; 48实用精品课件pptif(if(表达式表达式1) 1) 语句语句1 1;else if (else if (表达式表达式2) 2) 语句语句2 2; else if(else if(表达式表达式n) n) 语句语句n n;else else 语句语句n+1n+1;多分支多分支ifif语句语句0表达式表达式1 表达式表达式2

34、表达式表达式n语句语句n+100语句语句n 语句语句2 语句语句1 非非0 非非0 非非0 49实用精品课件ppt当成绩当成绩9090时,时, 输出输出verygoodverygood,当当8080成绩成绩9090时,时, 输出输出goodgood, 当当6060成绩成绩8080时,时, 输出输出passpass,当成绩当成绩60=90) printf(“veryif (score=90) printf(“very good); good);else if (score=80) printf(“goodelse if (score=80) printf(“good);); else if (s

35、core=60) printf(“pass else if (score=60) printf(“pass);); else printf(“fail else printf(“fail););50实用精品课件ppt多分支多分支switchswitch语句语句switch (switch (表达式表达式1) 1) case case 常量表达式常量表达式1 1: 语句语句1 1; break break; case case 常量表达式常量表达式2 2: 语句语句2 2; break break; case case 常量表达式常量表达式n n: 语句语句n n; break break; d

36、efaultdefault: 语句语句n+1n+1; 格式:格式:51实用精品课件pptswitchswitch表达式表达式1 1语句语句1 1语句语句2 2语句语句n n语句语句n+1n+1式式1 1式式2 2式式n ndefaultdefaultcasecase 52实用精品课件pptswitch ( key ) switch ( key ) case 1case 1: y=1y=1; breakbreak; case 2case 2: y=2; breaky=2; break;case 3case 3: y=4y=4; breakbreak; defaultdefault: ; ; 在单

37、片机程序设计中,常用在单片机程序设计中,常用switchswitch语句作为键盘中按键的判别。语句作为键盘中按键的判别。当按下键的键号变量当按下键的键号变量key=1key=1,则变量,则变量y=1y=1; 键号变量键号变量key=2key=2,则变量,则变量y=2y=2; 键号变量键号变量key=4key=4,则变量,则变量y=3y=3; 没有按下键,没有按下键, 则变量则变量y y不变。不变。53实用精品课件pptkey=2;key=2;switch ( key ) switch ( key ) case 1case 1: y=1y=1; case 2case 2: y=2; y=2; c

38、ase 3case 3: y=4y=4; defaultdefault: ; ; 习题:读程序执行的结果习题:读程序执行的结果 y =y =?54实用精品课件ppt2 2)循环结构控制语句)循环结构控制语句whilewhile(表达式)(表达式) 循环体;循环体; 格式:格式:表达式表达式循环体循环体假假(0)真真(非非0)先判断表达式,先判断表达式,后执行循环体后执行循环体。whilewhile语句语句55实用精品课件pptmain()main() int int i=0; i=0; int int r; r; while while(i3i3) i+ i+ ; y=i; y=i; i+i+

39、执行几次?执行几次?y =y =?r = 3r = 3习题:读程序执行的结果习题:读程序执行的结果 y =y =?56实用精品课件pptmain()main() int int i=3; i=3; int int r; r; while while(i6i6) i+ i+ ; y=i; y=i; y =y =?习题:读程序执行的结果习题:读程序执行的结果 y =y =?57实用精品课件pptdodo 循环体;循环体; whilewhile(表达式);(表达式);格式:格式:表达式表达式循环体循环体假假(0)真真(非非0);不可省略!不可省略!切记!切记!先执行循环体,先执行循环体,后判断表达式

40、后判断表达式。do-whiledo-while语句语句58实用精品课件pptmain()main() int int i=0; i=0; int int y; y; do do i+ i+; while (i3); while (i3); y=i; y=i; i+i+执行几次?执行几次?y =y =?习题:读程序执行的结果习题:读程序执行的结果 y =y =?59实用精品课件pptmain()main() int int i=0; i=0; int int y=0; y=0; do do i+ i+; y= y + i;y= y + i; while (y20); while (y20); 习

41、题:读程序执行的结果习题:读程序执行的结果 y =y =?60实用精品课件pptforfor(表达式(表达式1 1;表达式;表达式2 2;表达式;表达式3 3) 语句;语句; 格式:格式:forfor语句语句61实用精品课件pptmain()main() int int i, y; i, y; y=0; y=0; for(i for(i=1;i4;i+)=1;i4;i+) y = y + i y = y + i; y = y = ?习题:读程序执行的结果习题:读程序执行的结果 y =y =?62实用精品课件pptmain()main() int int i, y; i, y; y=1; y=1

42、; for( i=2; i6 ; i+ ) for( i=2; i6 ; i+ ) y = y + i y = y + i; y = y = ?习题:读程序执行的结果习题:读程序执行的结果 y =y =?63实用精品课件ppt3 3)breakbreak语句和语句和continuecontinue语句语句breakbreak功能:功能: 跳出跳出switchswitch结构;结构; 在循环语句中在循环语句中, ,终止并跳出终止并跳出本层本层循环。循环。continuecontinue功能:功能: 结束本次循环,跳过本层循环体中尚未执行的语句,结束本次循环,跳过本层循环体中尚未执行的语句, 执行

43、循环体的判断。执行循环体的判断。64实用精品课件ppt#define pi 3.1415main( ) int r; float area; for(r=1;r100) break; printf(r=%d,area=%.2fn,r,area); 计算计算r=1r=1到到r=10r=10的圆面积,直到面积大于的圆面积,直到面积大于100100时停止。时停止。运行结果:运行结果:r=1,area=3.14r=2,area=12.57r=3,area=28.27r=4,area=50.26r=5,area=78.54结束整个结束整个for循环循环65实用精品课件ppt把把100100200200之

44、间不能被之间不能被3 3整除的数输出整除的数输出 。main( )main( ) int int n; n; for(n=100;n=200;n+) for(n=100;n=200;n+) if(n%3= =0) if(n%3= =0) continue;continue; printf(“%d printf(“%d ,n); ,n); 结束本次循环结束本次循环,循环体的剩余语句被忽略循环体的剩余语句被忽略,执行表达式执行表达式3,进入下一循环。,进入下一循环。66实用精品课件pptmain( ) int n; for(n=100;n=200;n+) if(n%3=0) break; prin

45、tf(“%d ,n); 习题:读程序执行的结果?习题:读程序执行的结果?67实用精品课件ppt习题:循环检测习题:循环检测p1.0p1.0引脚,只有检测引脚,只有检测p1.0p1.0为低电平时,循环结束。为低电平时,循环结束。sfr p1=0 x90;sbit p10=p10;main( ) while(1) if(p10=0) break; 68实用精品课件ppt5 5、数组、数组数组是用来存储一组相同数据类型的数据结构。数组是用来存储一组相同数据类型的数据结构。一维数组格式:一维数组格式:数据类型数据类型变量名变量名 n ;int a 10;intint a5 = 1, 2, 3, 4, 5 a5 = 1, 2, 3, 4, 5 ;初始化:初始化:char b 10;69实用精品课件ppt求下列数组的和。求下列数组的和。intint a5 = 1, 2, 3, 4, 5 a5 = 1, 2, 3, 4, 5 ;main()main() int int a5=

温馨提示

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

评论

0/150

提交评论