
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501

第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) 因变量 ·从用户使用角度看(两大类): 函数名 自变量 1)库函数 C编译系统预定义的,直接使用 例1:scanf()、printf0() W#include 例2:sqrt(n)、fabs(x)∥#include 2)用户自定义函数 解决专门需要,用户先定义,后使用 例3:max(a,b)∥求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.1函数概述 7.1.1什么是函数一P116 ·函数是C语言中模块化编程的最小单位 一可以把每个函数看作一个小模块 ·若干相关的函数可以合并作一个大“模块” main() main() printf() scanf() stdio.h: math.h: putchar() getchar() printf() pow() scanf() sqrt() putchar() sin() 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】求两个数的最大值。 ①include ②int max(int2in4hu 1函数声明 ③int main( 函数名 ④( ⑤ int x,y,m 函数定义 ⑥ scanf(“%d%d”,&x,&y); ● ⑦ ma=mx(X)Hme函数调职① int max(inta,int b) ⑧ printf((“%fi”,n3; ② intm; ⑨ return 0; ③ if (a>b)m=a; ⑩} ④ else m=b; 函数的 自变量 返回值 ⑤ return m;oo
【例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 >为什么使用函数? ① 每个函数模块只负责一件事情,它可以更专心 ② 避免重复的程序段,省去重写代码的麻烦 ③ 程序模块化:单个模块的设计、开发、调试、测试和维护等更专业。 >常规设计程序的方法: 在设计一个较大的程序时,把程序分为若干个模块,每个模块包括一个或 多个函数,每个函数实现一个特定的功能。 恩
7.1.2 为什么要使用函数—P117 ➢ 为什么使用函数? ① 每个函数模块只负责一件事情,它可以更专心 ② 避免重复的程序段,省去重写代码的麻烦 ③ 程序模块化:单个模块的设计、开发、调试、测试和维护等更专业。 ➢ 常规设计程序的方法: 在设计一个较大的程序时,把程序分为若干个模块,每个模块包括一个或 多个函数,每个函数实现一个特定的功能

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

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