单n片机原理与接口技术(第3章).pptVIP

  • 5
  • 0
  • 约8.18千字
  • 约 75页
  • 2016-11-29 发布于湖南
  • 举报
第3章 C51 函数 使用自定义函数 3)如果程序中使用自定义函数,且该函数与调用它的函数同在一个文件中,则应根据主调用函数与被调用函数在文件中的位置,决定是否对被调用函数作出说明。 第3章 C51 函数 被调用函数出现在主调用函数之后 ① 如果被调用函数出现在主调用函数之后,一般应在主调用函数中,在对被调用函数调用之前,对被调用函数的返回值类型作出说明。一般的形式为: 返回值类型说明符 被调用函数的函数名( ) ; 第3章 C51 函数 例3-9: 试编写一段程序,调用函数时可以传递参数。 第3章 C51 函数 应用程序 main( ) { int delay( ); int a = 0,b =10, m ; for (;a100;a++) delay(a); m = delay (b); printf(max=%d\n,m); } int delay(x) int x; { return(x ); } 第3章 C51 函数 被调用函数的定义 出现在主调用函数之前 ② 如果被调用函数的定义出现在主调用函数之前,可以不对被调用函数加以说明。因为 C 编译器在编译主调用函数之前,已经预先知道已定义了被调用函数的类型,并自动加以处理。 第3章 C51 函数 例3-10: 试编写一段程序,调用函数时可以传递可以传递多个参数。 第3章 C51 函数 int delay(x,y) int a;b {for (a=0;ax;a++) for (b=0;by;b++); if(xy) return(a) else return(b); } main ( ) {int m = 60, n = 55, k; k= delay(m,n); } 第3章 C51 函数 被调用函数的定义 在所有函数定义之前 ③ 如果在所有函数定义之前,在文件的开头处,在函数的外部已经说明了函数的类型,则在主调用函数中不必对所调用的函数再作返回值类型说明。 第3章 C51 函数 说明 例3-11: 试编写一段程序,调用函数时可以传递可以传递多个参数。 第3章 C51 函数 int delay( ) main ( ) { int k; k= delay(10,20); } delay(x,y) int a;b { for (a=0;ax;a++) for (b=0;by;b++); if(xy) return(a) else return(b); } 第3章结束 * * 第3章 C51 函数 应用程序 main() {delay( ); } void delay(void) {char a; for (a=1;a100; a++); } 第3章 C51 函数 2、无参数输入,有参数返回 此类函数在调用时无须输入任何参数,而函数结束时却要返回一个变量值,也可以是常量,但要注意,函数的数据格式与返回变量的数据格式须保持一致,常量也是如此。 第3章 C51 函数 例3-5: 试编写一段程序调用延时程序,延时函数结束时,返回一个参数。 第3章 C51 函数 应用程序 main() {char k; k=delay( ); } char delay(void) {char a; for (a=1;a100; a++); return a; } 第3章 C51 函数 3、有参数输入,无参数返回 在调用这种函数时,可以输入一个或多个参数,传送参数的方法有多种,但多数情况下,调用函数向被调用函数以形式参数的方法来传递。编写函数时,一般在对其说明和定义时就规定了形式参数的类型,在调用时这些函数参数必须与子函数中的形式参数的数据类型保持一致,参数的顺序和数量也要完全相同。 第3章 C51 函数 试编写一段程序,调用延时程序时,给函数传递一个参数。 例3-6: 第3章 C51 函数 应用程序 main() {delay(4 ); } void delay(char j ) {char a; for (a=1;aj; a++); } 第3章 C51 函数 4、有参数输入,有参数返回 在调用这种函数时,需要输入一个或多个参数,函数向被调用函数以形式参数的方法传递。编写函数时,被传递参数的类型要与子函数中的形式参数的数据类型保

文档评论(0)

1亿VIP精品文档

相关文档