第九章函数
第九章 函数
9模块化程序设计与函数 在C程序设计中,子程序的作用是用函数来完 成的。一个C程序一般由多个函数组成,其中必 须有一个且仅有一个名为main的主函数,其余 为被main函数或其它函数调用的函数,无论 main函数位于程序中什么位置,C程序总是从 main函数开始执行。main函数可调用其它函数 来实现所需的功能。 第九章函数
第九章 函数 9.1 模块化程序设计与函数 ◼ 在C程序设计中,子程序的作用是用函数来完 成的。一个C程序一般由多个函数组成,其中必 须有一个且仅有一个名为main的主函数,其余 为被main函数或其它函数调用的函数,无论 main函数位于程序中什么位置, C程序总是从 main函数开始执行。main函数可调用其它函数 来实现所需的功能
9模块化程序设计与函数 「例91定义一个函数,用于求两个数中的大数。 main( i int max(int nl, int n2) 声明maxO函数* int num, num1, num2: printf( Input two integer numbers: n"); scanf(%d, %d",&numl, &num2); num=max(num1,num2);/调用maxO函数* printf("max=%dn", num); int max(intn1,intm2)/定义maxO函数* return(nI>n2?n1: n2) 程序运行情况如下: Input two integer numbers: 12,34≌ max=34 第九章函数
第九章 函数 [例9.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); } int max(int n1,int n2) /*定义max()函数*/ { return (n1>n2?n1:n2); } 程序运行情况如下:Input two integer numbers: 12 ,34↙ max=34 9.1 模块化程序设计与函数
9模块化程序设计与函数 「例92输出一个文本信息框。 prin**★多函数y void funI( 定义fun void fun() /2定义fum20函数* i printf(* How do you do! *n); maino i fun10; /调用fun1O函数* fun20 /调用fun20函数* fun10: /再次调用fun10函数 程序运行结果如下: how do you do!* 第九章函数
第九章 函数 [例9.2]输出一个文本信息框。 void fun1 ( ) /*定义fun1()函数*/ { printf("* * * * * * * * * * * * * *\n"); } void fun2 ( ) /*定义fun2()函数*/ { printf("* How do you do! *\n"); } main() { fun1(); /*调用fun1()函数*/ fun2(); /*调用fun2()函数*/ fun1(); /*再次调用fun1()函数*/ } 程序运行结果如下: * * * * * * * * * * * * * * * How do you do! * * * * * * * * * * * * * * * 9.1 模块化程序设计与函数
92函数的定义与调用 函数的定义 1.无参函数定义的一般形式: 类型名函数名() 声明部分; 执行部分; 无参函数没有参数,因此,函数首部的 参数定义表”可以缺省(但括号不能缺 省) 第九章函数
第九章 函数 9.2 函数的定义与调用 一、函数的定义 1.无参函数定义的一般形式: 类型名 函数名( ) { 声明部分; 执行部分; } 无参函数没有参数,因此,函数首部的 “参数定义表”可以缺省(但括号不能缺 省)
92函数的定义与调用 函数的定义 2.有参函数定义的一般形式: 类型名函数名(类型名参数名1,类型名参 数名2,…, 说明部分; 执行部分; 有参函数在其参数定义表中定义了所需 的每一个参数的类型和名称。每一个参数 单独定义,参数定义之间用逗号隔开。 第九章函数
第九章 函数 2.有参函数定义的一般形式: 类型名 函数名(类型名 参数名1,类型名 参 数名2,...,) { 说明部分; 执行部分; } 有参函数在其参数定义表中定义了所需 的每一个参数的类型和名称。每一个参数 单独定义,参数定义之间用逗号隔开。 9.2 函数的定义与调用 一、函数的定义
92函数的定义与调用 函数的定义 自定义函数说明部分定义的参数称为形式 参数,简称形参 主调函数提供的参数称为实际参数,简称 实参。 函数若无返回值,则其首部的类型标识符 用“void”表示。 第九章函数
第九章 函数 ◼ 自定义函数说明部分定义的参数称为形式 参数,简称形参。 ◼ 主调函数提供的参数称为实际参数,简称 实参。 ◼ 函数若无返回值,则其首部的类型标识符 用“void”表示。 9.2 函数的定义与调用 一、函数的定义
92函数的定义与调用 函数的定义 说明: (1)除man0函数外,函数名和形参名都是由 用户命名的标识符,要求符合标识符的命名规则。 (2)函数定义不允许嵌套。在C语言中,所有 函数包括主函数man()都是平行的。在一个函 数的函数体内,不能再定义另一个函数,即不能 嵌套定义。 (3)可以定义空函数。所谓空函数,是指既无 参数又无函数体的函数 第九章函数
第九章 函数 说明: (1) 除main()函数外,函数名和形参名都是由 用户命名的标识符,要求符合标识符的命名规则。 (2) 函数定义不允许嵌套。在C语言中,所有 函数(包括主函数main( ))都是平行的。在一个函 数的函数体内,不能再定义另一个函数,即不能 嵌套定义。 (3) 可以定义空函数。所谓空函数,是指既无 参数又无函数体的函数。 9.2 函数的定义与调用 一、函数的定义
92函数的定义与调用 函数的定义 其一般形式为:void函数名() (4)在旧版本的C语言中,参数定义表允许放在 函数首部的第二行单独指定。 (5)当一个C源程序由多个函数构成时,必须有 个唯一的man(函数。man0函数在源程序 中的位置可以任意,程序的执行总是从main0 函数开始,最终从man0函数结束。 第九章函数
第九章 函数 其一般形式为:void 函数名( ) { } (4) 在旧版本的C语言中,参数定义表允许放在 函数首部的第二行单独指定。 (5) 当一个C源程序由多个函数构成时,必须有 一个唯一的main()函数。main()函数在源程序 中的位置可以任意,程序的执行总是从main() 函数开始,最终从main()函数结束。 9.2 函数的定义与调用 一、函数的定义
92函数的定义与调用 二、函数的参数与函数的返回值 形参与实参的参数传递 形参在函数首部定义,必须是变量形式, 只能在该函数体内使用。 实参在函数调用表达式中提供,可以是 表达式形式。 函数调用时,主调函数把实参的值复制 份,传送给被调用函数的形参变量,从 而实现主调函数向被调用函数的参数传递。 第九章函数
第九章 函数 1.形参与实参的参数传递 形参在函数首部定义,必须是变量形式, 只能在该函数体内使用。 实参在函数调用表达式中提供,可以是 表达式形式。 函数调用时,主调函数把实参的值复制 一份,传送给被调用函数的形参变量,从 而实现主调函数向被调用函数的参数传递。 9.2 函数的定义与调用 二、函数的参数与函数的返回值