
第五章函数 函数的概念 函数的定义和调用 3 参数传递
1 2 3 第五章 函数 函数的概念 函数的定义和调用 参数传递

任务1 函数的概念 c源程序是由函数组成的。虽然在前面各章的程序中都只 有一个主函数main(0,但实用程序往往由多个函数组成。c语 言不仅提供了极为丰富的库函数(如Turbo C,MSc都提供了 三百多个库函数),还允许用户建立自己定义的函数。用户可 把自己的算法编成一个个相对独立的函数模块,然后通过调 用的方法来使用函数
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工 作的指令。计算机就像一个优秀的士兵,他无条件服从长官(程序编写者) 的命令,为了完成一项军事任务,长官下达的一系列命令就是“程序”。 C源程序是由函数组成的。虽然在前面各章的程序中都只 有一个主函数main(),但实用程序往往由多个函数组成。C语 言不仅提供了极为丰富的库函数(如Turbo C, MS C 都提供了 三百多个库函数),还允许用户建立自己定义的函数。用户可 把自己的算法编成一个个相对独立的函数模块,然后通过调 用的方法来使用函数

任务1 函数的概念 一、 函数的举例 【案例5-1】用调用函数的方式计算两个整数之和 【解题思路】 程序由多个函数组成,在主函数中用scanf(0函数输入 两个整数、用s0函数计算两个整数相加的结果、用 printf0函数输出结果
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工 作的指令。计算机就像一个优秀的士兵,他无条件服从长官(程序编写者) 的命令,为了完成一项军事任务,长官下达的一系列命令就是“程序”。 【案例5-1】 用调用函数的方式计算两个整数之和 【解题思路】 程序由多个函数组成,在主函数中用 scanf()函数输入 两个整数、用 s()函数计算两个整数相加的结果、用 printf()函数输出结果。 一、 函数的举例

任务1 函数的概念 一、 函数的举例 【程序代码】 #include int s(int x,int y) [intz; /体变量说明*/ Z=X+Y; return z;/*返回*/ void main() { inta,b,sum;/*变量定义*/ printf("请输入两个整数:"; scanf("%d,%d",&a,&b;/*输入原始数据*/ sum=s(a,b); /体调用s函数把a和b的值,传递到s函数的×和y中,并将函数 的计算结果赋给sum*/ printf("两个数的和=%d小n",sum:
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一 项军事任务,长官下达的一系列命令就是“程序”。 【程序代码】 #include ints(int x,int y) { intz; /* 变量说明 */ z=x+y; return z; /* 返回 */ } void main() { int a,b,sum; /* 变量定义 */ printf("请输入两个整数:"); scanf("%d,%d",&a,&b); /* 输入原始数据 */ sum=s(a,b); /* 调用 s 函数把 a 和 b 的值,传递到 s 函数的 x 和 y 中,并将函数 的计算结果赋给 sum */ printf("两个数的和=%d\n",sum); } 一、 函数的举例

任务1 函数的概念 函数的举例 【运行结果】 请输入两个整数:4,5 两个数的和=9 说明: 1.c程序是由若干个函数构成的,c语言中的所有函数都是一个独立的程序模块。 本程序中使用了main、scanf、s和printf函数。 2.一个c程序总是从main函数开始执行,调用其它函数后,流程仍将返回到 main函数,最后在main函数中结束程序的运行。 3.scanf和printf函数是系统提供的库函数,用户只需在程序中根据要求引用,不 需自己编写代码,但由于这些库函数根据功能的不同分别集中在不同的头文件中 所以在程序使用时它们时必须包含相应的头文件,如上例中的#include。 4.s函数是用户自己定义的函数,一旦定义好,就可以像调用其他库函数一样使 用
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一 项军事任务,长官下达的一系列命令就是“程序”。 【运行结果】 请输入两个整数:4,5 两个数的和=9 说明: 1. C 程序是由若干个函数构成的,C 语言中的所有函数都是一个独立的程序模块。 本程序中使用了 main、scanf、 s 和 printf 函数。 2.一个 C 程序总是从 main 函数开始执行,调用其它函数后,流程仍将返回到 main 函数,最后在 main 函数中结束程序的运行。 3. scanf 和 printf 函数是系统提供的库函数,用户只需在程序中根据要求引用,不 需自己编写代码,但由于这些库函数根据功能的不同分别集中在不同的头文件中, 所以在程序使用时它们时必须包含相应的头文件,如上例中的 #include 。 4. s函数是用户自己定义的函数,一旦定义好,就可以像调用其他库函数一样使 用。 一、 函数的举例

任务1 函数的概念 二、 函数的分类 C源程序是由函数组成的。函数是C源程序的基本模块 通过对函数模块的调用实现特定的功能。C语言不仅提供了 极为丰富的库函数,还允许用户建立自己定义的函数。用户 可把自己的算法编成一个个相对独立的函数模块,然后用调 用的方法来使用函数。由于采用了函数模块式的结构,C语 言易于实现结构化程序设计
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一项 军事任务,长官下达的一系列命令就是“程序”。 C源程序是由函数组成的。函数是C源程序的基本模块, 通过对函数模块的调用实现特定的功能。C语言不仅提供了 极为丰富的库函数,还允许用户建立自己定义的函数。用户 可把自己的算法编成一个个相对独立的函数模块,然后用调 用的方法来使用函数。由于采用了函数模块式的结构,C语 言易于实现结构化程序设计。 二、 函数的分类

任务1 函数的概念 二、 函数的分类 在C语言中可从不同的角度对函数分类 1.从函数定义的角度看,函数可分为库函数和用户定义函数 两种。 (1)库函数:由C系统提供,用户无须定义,也不必在程 序中作类型说明,只需在程序前包含有该函数原型的头文件 即可在程序中直接调用。在前面各章的例题中反复用到printf. scanf、getchar、putchar、gets、puts、strcat等函数均属此类。 (2)用户定义函数:由用户按需要写的函数
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一项 军事任务,长官下达的一系列命令就是“程序”。 在C语言中可从不同的角度对函数分类。 1.从函数定义的角度看,函数可分为库函数和用户定义函数 两种。 (1)库函数:由C系统提供,用户无须定义,也不必在程 序中作类型说明,只需在程序前包含有该函数原型的头文件 即可在程序中直接调用。在前面各章的例题中反复用到printf、 scanf、getchar、putchar、gets、puts、strcat等函数均属此类。 (2)用户定义函数:由用户按需要写的函数。 二、 函数的分类

任务1 函数的概念 二、 函数的分类 2.C语言的函数兼有其它语言中的函数和过程两种功能, 从这个角度看,又可把函数分为有返回值函数和无返回值函 数两种。 (1)有返回值函数:此类函数被调用执行完后将向调用者 返回一个执行结果,称为函数返回值。如数学函数即属于此 类函数。由用户定义的这种要返回函数值的函数,必须在函 数定义和函数说明中明确返回值的类型。 (2)无返回值函数:此类函数用于完成某项特定的处理任 务,执行完成后不向调用者返回函数值。这类函数类似于其 它语言的过程。由于函数无须返回值,用户在定义此类函数 时可指定它的返回为“空类型”,空类型的说明符为 void
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一 项军事任务,长官下达的一系列命令就是“程序”。 2.C语言的函数兼有其它语言中的函数和过程两种功能, 从这个角度看,又可把函数分为有返回值函数和无返回值函 数两种。 (1)有返回值函数:此类函数被调用执行完后将向调用者 返回一个执行结果,称为函数返回值。如数学函数即属于此 类函数。由用户定义的这种要返回函数值的函数,必须在函 数定义和函数说明中明确返回值的类型。 (2)无返回值函数:此类函数用于完成某项特定的处理任 务,执行完成后不向调用者返回函数值。这类函数类似于其 它语言的过程。由于函数无须返回值,用户在定义此类函数 时可指定它的返回为“空类型”, 空类型的说明符为 “void”。 二、 函数的分类

任务1 函数的概念 二、 函数的分类 3.从主调函数和被调函数之间数据传送的角度看又可分 为无参函数和有参函数两种。 (1)无参函数:函数定义、函数说明及函数调用中均不带 参数。主调函数和被调函数之间不进行参数传送。此类函数 通常用来完成一组指定的功能,可以返回或不返回函数值。 (2)有参函数:也称为带参函数。在函数定义及函数说明 时都有参数,称为形式参数(简称为形参)。在函数调用时也 必须给出参数,称为实际参数(简称为实参)。进行函数调用 时,主调函数将把实参的值传送给形参,供被调函数使用
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一 项军事任务,长官下达的一系列命令就是“程序”。 3.从主调函数和被调函数之间数据传送的角度看又可分 为无参函数和有参函数两种。 (1)无参函数:函数定义、函数说明及函数调用中均不带 参数。主调函数和被调函数之间不进行参数传送。此类函数 通常用来完成一组指定的功能,可以返回或不返回函数值。 (2)有参函数:也称为带参函数。在函数定义及函数说明 时都有参数,称为形式参数(简称为形参)。在函数调用时也 必须给出参数,称为实际参数(简称为实参)。进行函数调用 时,主调函数将把实参的值传送给形参,供被调函数使用。 二、 函数的分类

任务1 函数的概念 二、 函数的分类 4.C语言提供了极为丰富的库函数,这些库函数又可从功能 角度作以下分类。 (1)字符类型分类函数:用于对字符按ASCI码分类:字母, 数字,控制字符,分隔符,大小写字母等。 (2)转换函数:用于字符或字符串的转换;在字符量和各 类数字量(整型,实型等)之间进行转换;在大、小写之间进 行转换。 (3)目录路径函数:用于文件目录和路径操作。 (4)诊断函数:用于内部错误检测。 (5)图形函数:用于屏幕管理和各种图形功能。 (6)输入输出函数:用于完成输入输出功能
任务1 函数的概念 “计算机程序”是让计算机完成某项特定任务,而编制的一组指示计算机工作的指令。 计算机就像一个优秀的士兵,他无条件服从长官(程序编写者)的命令,为了完成一 项军事任务,长官下达的一系列命令就是“程序”。 4.C语言提供了极为丰富的库函数,这些库函数又可从功能 角度作以下分类。 (1)字符类型分类函数:用于对字符按ASCII码分类:字母, 数字,控制字符,分隔符,大小写字母等。 (2)转换函数:用于字符或字符串的转换;在字符量和各 类数字量(整型,实型等)之间进行转换;在大、小写之间进 行转换。 (3)目录路径函数:用于文件目录和路径操作。 (4)诊断函数:用于内部错误检测。 (5)图形函数:用于屏幕管理和各种图形功能。 (6)输入输出函数:用于完成输入输出功能。 二、 函数的分类