第7章函数 C语言是通过函数来实现模块化程序设计的。较大的 C语言应用程序往往是由多个函数组成的,每个函数分别 对应各自的功能模块。从用户的使用角度看,函数有两种: 标准函数(即库函数)和用户自定义函数。本章主要讨论 的是用户自定义函数。通过本章的学习,读者应该掌握以 下内容: 函数的定义与函数声明 函数的调用 函数的嵌套调用与递归调用 数组作为函数参数
第7章 函数 C语言是通过函数来实现模块化程序设计的。较大的 C语言应用程序往往是由多个函数组成的,每个函数分别 对应各自的功能模块。从用户的使用角度看,函数有两种: 标准函数(即库函数)和用户自定义函数。本章主要讨论 的是用户自定义函数。通过本章的学习,读者应该掌握以 下内容: 函数的定义与函数声明 函数的调用 函数的嵌套调用与递归调用 数组作为函数参数
。内部变量与外部变量 。变量的动态存储与静态存储 。内部函数与外部函数
内部变量与外部变量 变量的动态存储与静态存储 内部函数与外部函数
7.1函数的定义与函数说明 7.1.1相关知识 C语言是由函数组成,一个C语言程序必须包含一个 且仅一个main函数,由main函数开始调用其他函数,其 他函数也可相互调用,但最终返回主函数结束程序。 7.1.2程序范例 通过下例程序认识和学习函数的定义,理解函数的执 行过程。 1.范例一 任务:定义一个函数,用于求两个数中的大数。 源程序:
7.1 函数的定义与函数说明 7.1.1 相关知识 C语言是由函数组成,一个C语言程序必须包含一个 且仅一个main函数,由main 函数开始调用其他函数,其 他函数也可相互调用,但最终返回主函数结束程序。 7.1.2 程序范例 通过下例程序认识和学习函数的定义,理解函数的执 行过程。 1.范例一 任务:定义一个函数,用于求两个数中的大数。 源程序:
int max(int n1,int n2) *定义一个int类型 的名为max的函数*1 return (n1>n2?n1:n2); *函数体! main() *主函数main(0*/ int max(int n1,int n2); *函数声明*1 int num1,num2; printf("input two numbers:\n");
int max(int n1,int n2) /*定义一个int类型 的名为max的函数*/ { return (n1>n2?n1:n2); /*函数体*/ } main() /*主函数main()*/ { int max(int n1, int n2); /*函数声明*/ int num1,num2; printf("input two numbers:\n");
scanf("%d%d",&num1,&num2); printf("max=%dn,max(num1,num2);/*调用max函数*/ getchar(); 使程序暂停,按任一键继续*1 输入:518 运行结果: max=18 程序说明:上述程序由两个函数组成:main0和max0。程
scanf("%d%d", &num1,&num2); printf("max=%d\n, max(num1,num2)); /*调用max函数*/ getchar(); /*使程序暂停,按任一键继续*/ } 输入:5 18 运行结果: max=18 程序说明:上述程序由两个函数组成:main()和max()。程