基于proteus的51单片机仿真实例三十六、C语言的函数返回值

来源:互联网 发布:淘宝买家评价怎么看 编辑:程序博客网 时间:2024/06/05 16:53
1、C语言程序是由函数构成的,函数是C语言中的一种基本模块。前面已经介绍了C语言程序的组成结构。C语言是有函数构成的,一个C语言源程序至少应包括一个主函数"main()",还可以包含其它函数。
C语言程序总是由主函数main()开始执行的,main()函数是一个控制程序流程的特殊函数,它是程序的起点。
所有函数在定义时是相互独立的,他们之间是平行关系,所以不能在一个函数内部定义另一个函数,即函数不能够嵌套定义。函数之间可以互相调用,但是任何函数都不能调用主函数。
从使用者的角度来看,C语言中有两种函数:标准库函数和用户自定义的函数。标准库函数是由编译器提供的,用户不必自己定义这些函数。C语言系统提供了功能强大、资源丰富的标准函数库,在进行程序设计时,如果能够适当使用这些库函数,可以提高编程效率、节约开发时间。
 
2、从函数的形式来看,有两种形式:一种是根据有无参数来区分,另一种是根据有无返回值来区分。
函数定义的一般形式为:
(函数类型说明符) 函数名(形式参数类型,形式参数)
{
局部变量定义
函数体语句
}
各部分说明如下:
1)函数类型说明符:定义函数的返回值类型,当没有写类型说明符时,默认返回整型值,如果不需要返回值,则写void
2)函数名:是程序设计人员自己定义的名字,但一般要求能够体现该函数的功能。
3)形式参数类型,形式参数:在主调函数与被调函数之间传递的数据类型以及数据。如果不需要传递参数,可以用void来表示
4)函数体语句:完成该函数功能的语句组合。
 
3、C语言采用函数之间的参数传递方式,使一个函数能对不同的变量进行处理,从而大大提高了函数的通用性与灵活性。在函数调用时,通过主调函数的实际参数与被调函数的形式参数之间进行数据传递来实现函数间参数的传递。在被调函数的最后,通过return语句返回函数的返回值给主调函数。
return语句形式如下:
return (表达式);
对于不需要有返回值的函数,可以将该函数定义为void类型。void类型又称为“空类型”,这样,编译器会保证在函数调用结束时不使函数返回任何值。为了使程序减少出错,保证函数的正确调用,凡是不要求有返回值的函数,都应将其定义成void类型。
 
4、本例演示函数返回值,并通过P0口显示返回值。
5、在keil c51中新建工程ex25,编写如下程序代码,编译并生成ex25.hex
//实例25:函数返回值演示实验,通过P0口显示
#include <reg51.h>
//
unsigned char sum(void)    //函数返回值类型为无符号字符型
{
  unsigned char num1,num2,num3;  //定义变量
 num1 = 88;       //变量赋初值
 num2 = 122;
 num3 = num1 + num2;    //求和
 return (num3);      //返回两数相加的值
void main(void)
{
  P0 = sum();     //返回值送P0口显示
 while(1)
 {
 }
}
6、在proteus中新建仿真文件ex25.dsn,电路原理图如下所示

7、将ex25.hex文件载入at89c51,启动仿真,运行结果如下图所示。


0 0
原创粉丝点击