欢迎来到天天文库
浏览记录
ID:23309675
大小:63.50 KB
页数:7页
时间:2018-11-06
《单片机的多分支语句》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、★单片机的多分支语句38单片机的基本语句课堂教学教案一、表达式语句C语言是一种结构化的程序设计语言,提供了丰富的程序控制语句。表达式语句是最基本的一种语句。表达式语句由一个表达式加一个分号构成。表达式语句也可以由一个分号“;”构成,这种语句称为空语句。空语句是表达式语句的一个特例,在程序在语法上需要一个语句,但在语义上并不要求有具体的动作时,便可以采用空语句。一个语句必须在最后出现分号,分号是语句中不可缺少的组成部分,而不是两个语句间的分隔符号。二、复合语句复合语句是由若干条语句组合而成的一种语句
2、,用一个大括号“{}”将若干条语句组合在一起而形成的一种功能块。复合语句不需要以分号结束,但它的内部各条单语句仍需以分号结束。复合语句的一般形式是:{局部变量定义:语句1;语句2;?语句n;}复合语句在执行时,其中的各条语句依次按顺序执行。整个复合语句在语法上等价于一条单语句,复合语句允许嵌套。复合语句最后一个语句中最后的分号不能忽略不写。三、选择语句选择语句使得51单片机具有决策能力。if语句有两种形式,一种是不带else子句的,一种是带else子句的。1、if语句的形式用if语句可以构成分支结
3、构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句又三种形式:基本形式、if-else形式、if-else-if形式。(1)基本形式if(表达式)语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。这里的语句也可以是复合语句。例如:if(x>y)printf(“%d”,x);本例中,用if语句判别x是否大于y,如果x>y,则输出x的值。(2)if-else形式if(表达式)语句1;else语句2;其语义是:如果表达式的值为真,则执行“语句1”,否
4、则执行“语句2”。例如:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);本例中,用if语句判断x是否大于y,如果x>y为真,则输出x的值,否则输出y的值。(3)if-else-if形式前两种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;?elseif(表达式m)语句m;else语句n;其语义是:依次判断表达
5、式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假。则执行语句n。然后继续执行后续程序。2、if语句的使用说明(1)if语句中在关键字if后面都有一个表达式,一般为逻辑表达式或关系表达式。(2)if语句中有内嵌语句,每个内嵌语句必须以分号结束。(3)else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。(4)在if和else的后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用大括号“{}”将几个语句括起来成为
6、一个复合语句。四、开关语句开关语句也是一种用来实现多方向条件分支的语句。虽然采用条件语句也可以实现多方向条件分支,但分支较多时,会使条件语句的嵌套层次太多,程序冗长,可读性降低。开关语句直接处理多分支选择,使程序结构清晰,使用方便,开关语句是用关键字sg">的常量表达式均不相同时,则执行default后的语句。C语言还提供了一种break语句,专用于跳出sain(void){P1=0xfe;//P1=11111110B,即P1.0输出低电平}//实例2:用单片机控制一个灯闪烁:认识单片机的工作频率
7、#include<reg51.h>//包含单片机寄存器的头文件/函数功能:延时一段时间/voiddelay(void)//两个void意思分别为无需返回值,没有参数传递{unsignedinti;//定义无符号整数,最大取值范围65535for(i=0;i<20000;i++)//做20000次空循环;//什么也不做,等待一个机器周期}/函数功能:主函数(C语言规定必须有也只能有1个主函数)/voidmain(void){ain(void){ain(void){ain(void)
8、{;//定义无符号整形变量,双字节数据,值域为0~65535for(m=0;m<36000;m++)}/函数功能:用字符型数据延时一段时间/voidchar_delay(void)//延时一段较短的时间{unsignedchari,j;//定义无符号字符型变量,单字节数据,值域0~255}/函数功能:主函数/voidmain(void){unsignedchari;ain(void){ain(void){;//定义无符号整形变量,双字节数据,值域为0~65535for(m=0
此文档下载收益归作者所有