C語言 第7章.ppt
文本预览下载声明
第7章 函数 7.1 函数的定义与调用 7.2 函数的嵌套调用和递归调用 7.3 数组作为函数参数 7.4 内部变量与外部变量 7.5 内部函数和外部函数 7.6 变量的动态存储与静态存储简介 7.1 函数的定义与调用 在C语言中,从用户使用的角度看,函数可分为库函数和用户自定义函数两种。 C语言提供了极为丰富的库函数,如前面各章例题中反复用到的scanf()、printf()、getchar()等函数均属于库函数。这类函数是由系统提供并定义好的,不必用户再去定义,用户只需掌握函数的功能,并学会正确调用这些函数即可。 尽管C语言本身提供了众多的库函数,但与实际应用的需要相比,还是远远不够,因此,C语言允许用户按需要定义和编写自己的函数。对于用户自定义函数,不仅要在程序中定义函数本身,即定义函数功能,而且在主调函数中,还必须对被调用函数进行声明。下面将对用户自定义函数进行详细说明。 7.1.1 函数的定义 1.引例 【例7.1】 定义一个函数,用于求两个数中的大数。 main() { int max(int n1,int n2); /*声明max()函数*/ int num,num1,num2; printf(Input two integer numbers:\n); scanf(%d,%d,num1,num2); num=max(num1,num2); /*调用max()函数*/ printf(max=%d\n, num); getch(); } /*使程序暂停,按任一键继续*/ int max(int n1,int n2) /*定义max()函数*/ { return (n1n2?n1:n2); } 程序运行情况如下: Input two integer numbers: 12 ,34↙ /* 输入 */ max=34 本例程序由main()和max()两个函数构成。在本案例中,max()函数的返回值是一个整型数,它带两个整型参数,它们的具体值是由main()函数在调用时传送过来的。在max()函数体中的return语句,把所求得的函数值返回给main()函数。为了说明方便,通常将本例中的main()函数称为主调函数,而把max()函数称为被调函数。 【例7.2】 输出一个文本信息框。 void fun1(void) /*定义fun1()函数*/ { printf(* * * * * * * * * * * * * *\n); } void fun2(void) /*定义fun2()函数*/ { printf(* How do you do! *\n); } main() { fun1(); /*调用fun1()函数*/ fun2(); /*调用fun2()函数*/ fun1(); /*再次调用fun1()函数*/ } 程序运行结果如下: * * * * * * * * * * * * * * * * * * * * How do you do! * * * * * * * * * * * * * * * * * * * * 本例程序由fun1()、fun2()和main()三个函数构成。fun1()函数和fun2()函数既没有返回值,也没带参数,其功能就是完成一个操作过程,即输出一串文本信息。 2.函数定义的一般形式 任何函数1、函数定义的一般形式 任何函数(包括主函数main())的定义都是由函数首部和函数体两部分组成。其一般形式如下: 类型名 函数名(参数定义表)
显示全部