
第7章函数7.1函数概述7.2函数定义和调用7.3嵌套调用和递归调用7.4变量与函数随机数函数7.5
第7章 函 数 7.1 函数概述 7.2 函数定义和调用 7.3 嵌套调用和递归调用 7.4 变量与函数 7.5 随机数函数

7.1函数概述一P116数学函数:7.1.1什么是C函数y= f(x)函数值因变量从用户使用角度看(两大类):自变量函数名库函数19直接使用C编译系统预定义的,例1:scanf()、printf()//#include例2:sqrt(n)、fabs(x)/#include20用户自定义函数解决专门需要,用户先定义,后使用例3:max(a,b)I/ 求2个数a、b的最大值
数学函数: y f x = ( ) 自变量 函数值 因变量 函数名 7.1.1 什么是C函数 7.1 函数概述—P116 • 从用户使用角度看(两大类): 1)库函数 C编译系统预定义的,直接使用 例1:scanf()、printf() // #include 例2:sqrt(n)、fabs(x) // #include 2)用户自定义函数 解决专门需要,用户先定义,后使用 例3:max(a, b) // 求2个数a、b的最大值

7.11函数概述7.1.1 什么是函数一P116函数是C语言中模块化编程的最小单位一可以把每个函数看作一个小模块·若干相关的函数可以合并作一个大“模块”main()main()scanf()printf()stdio.h:math.h:printf()pow()putchar()getchar()sqrt()scanf()sin()putchar()sqrt()getchar()cos()
• 函数是C语言中模块化编程的最小单位 – 可以把每个函数看作一个小模块 • 若干相关的函数可以合并作一个大“模块” 7.1.1 什么是函数—P116 7.1 函数概述 main() printf() scanf() sqrt() putchar() getchar() main() stdio.h: printf() scanf() putchar() getchar() math.h: pow() sqrt() sin() cos()

7.1函数概述7.1.1什么是C函数·C语言的函数不完全等同于数学函数:C程序中的某些函数会执行某些动作如:printf函数---把数据显示在屏幕上。C程序中函数可以返回一个数值以供程序使用,?如:sin、cos等
• C语言的函数不完全等同于数学函数 : ① C程序中的某些函数会执行某些动作 如:printf函数 -把数据显示在屏幕上。 ② C程序中函数可以返回一个数值以供程序使用。 如: sin、cos等 7.1.1 什么是C函数 7.1 函数概述

7.1.1什么是C函数【例7.1】求两个数的最大值。#includeintmax(inta inh)函数声明函数名intmain3函数定义436int x,y,mscanf(“%d%d”,&x,&y);数油日1ma=max(xy):/meax(x,y)函数调片intmax(inta,intb)printf(“%fir”a);2intm;returno;3if(a>b)m=a;@elsem=b;自变量Freturnm函数的返回值?
【例7.1】求两个数的最大值。 ① #include ② int max(int a, int b); //函数声明 ③ int main() ④ { ⑤ int x,y,ma; ⑥ scanf(“%d%d”,&x,&y); ⑦ ma=max(x,y); //max(x,y)函数调用 ⑧ printf(“%f\n” ,ma); ⑨ return 0; ⑩ } ① int max(int a,int b) ② { int m; ③ if (a>b) m=a; ④ else m=b; ⑤ return m; ⑥ } 自变量 函数名 7.1.1 什么是C函数 函数定义 函数的返回值

7.1.2为什么要使用函数一P117>为什么使用函数?C每个函数模块只负责一件事情,它可以更专心避免重复的程序段,省去重写代码的麻烦程序模块化:单个模块的设计、开发、调试、测试和维护等更专业。常规设计程序的方法:在设计一个较大的程序时,把程序分为若干个模块,每个模块包括一个或多个函数,每个函数实现一个特定的功能
7.1.2 为什么要使用函数—P117 ➢ 为什么使用函数? ① 每个函数模块只负责一件事情,它可以更专心 ② 避免重复的程序段,省去重写代码的麻烦 ③ 程序模块化:单个模块的设计、开发、调试、测试和维护等更专业。 ➢ 常规设计程序的方法: 在设计一个较大的程序时,把程序分为若干个模块,每个模块包括一个或 多个函数,每个函数实现一个特定的功能

7.1.3C函数的特点一P118C程序可由一个主函数main和多个其它函数构成。main函数可以调用其它函数。其它main函数是C程序的主函数,但都不能调用main函数。函数间可以互相调用,C程序的执行是从main函数开始的,如果在main函数中调用其它函数,在调用后程序流程必须返回到main函数,必须在main函数中结束整个程序的运行。一个C程序只有一个main函数C语言所有函数定义都是平行独立的,不能相互包含。C语言的main函数是被操作系统调用的
7.1.3 C函数的特点—P118 ① C程序可由一个主函数main和多个其它函数构成。 ② main函数是C程序的主函数,main函数可以调用其它函数。其它 函数间可以互相调用,但都不能调用main函数。 ③ C程序的执行是从main函数开始的,如果在main函数中调用其它 函数,在调用后程序流程必须返回到main函数,必须在main函数 中结束整个程序的运行。 ④ 一个C程序只有一个main函数。 ⑤ C语言所有函数定义都是平行独立的,不能相互包含。 ⑥ C语言的main函数是被操作系统调用的

7.1.4函数分类---P118(1)从用户的角度看(函数都是平等的,没有高低贵贼之分只有main()稍微特殊一点),函数有2种:①库函数:系统提供的、用户不必定义而直接使用它们。例:scanf、printf、getchar、putchar注意1:先打开函数库,才能使用其中的库函数注意2:不同的C语言编译系统提供的库函数的数量和功能会有一些不同,许多基本的函数是共同的。②用户自已定义的函数:用于解决用户特殊需要的函数。-包装后,也可成为函数库,供其它程序使用
7.1.4 函数分类-P118 (1) 从用户的角度看( 函数都是平等的,没有高低贵贱之分, 只有main()稍微特殊一点),函数有2种: ① 库函数:系统提供的、用户不必定义而直接使用它们。 例: scanf 、printf、getchar、putchar 注意1:先打开函数库,才能使用其中的库函数。 注意2:不同的C语言编译系统提供的库函数的数量和功 能会有一些不同,许多基本的函数是共同的。 ② 用户自己定义的函数:用于解决用户特殊需要的函数。 -包装后,也可成为函数库,供其它程序使用

7.1.4函数分类---P118(2)从函数首部的形式看,函数分2类:①无参函数:函数没有参数。例:getchar()②有参函数:在调用该函数时,主调函数通过参数向该函数传递数据。例:printf("%d %din",a,b);(3)从函数返回值角度看,函数分2类:①有返回值函数。例:sin(x)②无返回值函数。例:printf("%d%d",a,b);
(2) 从函数首部的形式看,函数分2类: ① 无参函数:函数没有参数。例:getchar() ② 有参函数:在调用该函数时,主调函数通过参数向该函 数传递数据。 例:printf("%d %d\n",a,b); 7.1.4 函数分类-P118 (3) 从函数返回值角度看,函数分2类: ① 有返回值函数。例:sin(x) ② 无返回值函数。例:printf("%d %d",a,b);

C语言的常用库函数①O函数:各种控制台/O操作。#include例1:getchar, putchar, printf, scanf.....数学函数:各种常用的三角函数、指数函数、对数函数等2#include例2:ssin、cos、sqrt(开平方)fabs(求实数绝对值)特别提醒:三角函数的参数是弧度,不是度
C语言的常用库函数 ① I/O 函数:各种控制台I/O操作。 #include 例1: getchar,putchar,printf,scanf. ② 数学函数:各种常用的三角函数、指数函数、对数函数等。 #include 例2:sin、cos、sqrt(开平方) fabs(求实数绝对值). 特别提醒: 三角函数 的 参数 是 弧度,不是 度