从单片机基础到程序框架(全集 2019pdf版).pdf - 第242页

if(0==Ch uShu) //如果除数等 于 0,就立即退 出当前函数, 并返回 0 { return 0; // 退 出当前函 数并且返回 0. 此时后面的 代码不会被执 行。 } Shang=Be iChuShu/Chu Shu; //除法运算的 算法 return S hang; //返回最后的 运算结果:商 。并且 退出当前函数 。 } void m ain() //主函 数 { a=ChuFa( 128,0); //函数 …

100%1 / 836
要功能。
【56.5 项目中往往是跟 if 语句搭配使用。
前面的例子只是为了解释 return 语句的执行顺序和功能,实际项目中,如果中间有多个 return 语句,
中间的 return 语句不可能像前面的例子那样单独使用,它往往是跟 if 语句一起搭配使用,否则单独 return
就没有什么意义。比如:
void HanShu(void) //“无输出”函数的定义。
{
语句 1;
if(某条件满足)
{
return; //立即退出当前函数。
}
语句 2;
if(某条件满足)
{
return; //立即退出当前函数。
}
语句 3;
}
分析:单片机从语句 1”开始往下执行,至于在哪个“return”语句处退出当前函数,就要看哪个 if
的条件满不满足了,如果所有的 if 的条件都不满足,此函数会一直执行完最后“语句 3”才退出当前函数。
【56.6 例程练习和分析。
写一个简单的除法函数,在除法运算中,除数不能为 0,如果发现除数 0,就立即退出当前函数,
且返回运算结果默认为 0。
/*---C 语言学习区域的开始。-----------------------------------------------*/
//函数的声明。
unsigned int ChuFa(unsigned int BeiChuShu,unsigned int ChuShu);
//变量的定义。
unsigned int a;//此变量用来接收除法的运算结果。
unsigned int b;//此变量用来接收除法的运算结果。
//函数的定义。
unsigned int ChuFa(unsigned int BeiChuShu,unsigned int ChuShu)
{
unsigned int Shang; //返回的除法运算结果:商
if(0==ChuShu) //如果除数等 0,就立即退出当前函数,并返回 0
{
return 0; // 退出当前函数并且返回 0.此时后面的代码不会被执行。
}
Shang=BeiChuShu/ChuShu; //除法运算的算法
return Shang; //返回最后的运算结果:商。并且退出当前函数
}
void main() //主函
{
a=ChuFa(128,0); //函数调用。128 除以 0,把商返回给 a 变量
b=ChuFa(128,2); //函数调用。128 除以 2,把商返回给 b 变量
View(a); //把 a 发送到电脑端的串口助手软件上观察。
View(b); //把 b 发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
1 个数
十进制:0
十六进制:0
二进制:0
2 个数
十进制:64
十六进制:40
二进制:1000000
分析:
变量 a 0。
变量 b 64。
【56.7 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改C 语言学习区域”代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口 51 习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。