872画数的定义(函冒值望 ★一舭格式 无返回值void 合法标识符 函数类型函数名([形参类型说明表]) 中数体 说明部分 语句部分 局部变量: 函数体内定义的「右会画嫩mA故 变量,其有效范围例无参函数 函数 仅限于所在函数的 printstar( 内部,离开函数体{ printf( 46 'e a ? e s e an”);} 则无意义 或 printstar(void) 函数体为 比如:变量x,y, z i printf(“*m”; 空
§7.2 函数的定义 一般格式 合法标识符 函数返回值类型 缺省int型 无返回值void 函数体 函数类型 函数名([形参类型说明表]) { 说明部分 语句部分 } 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(现代风格) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为 空 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); } 局部变量: 函数体内定义的 变量,其有效范围 仅限于所在函数的 内部,离开函数体 则无意义 比如:变量x,y,z
函数参数和函数的值 #include <stdio. h> 个C程序由若干个函数组 int max(int x, int y) 成,各函数调用时经常需要传递 些数据,即调用函数把参数传 递给被调用函数,经被调用函数 int 处理后,得到一个确切的结果, T(x>Y)?x:y 在返回调用函数时,把这个结果 return(z); 带回调用函数。 调用函数 被调用函数 void mainO b int max(int x, int y) int a, b, c, c=max(a, b) scanf(%d, %d", &a, &b); return (z; c=max(a, b); printf( Max is%dm”,c);
函数参数和函数的值 #include <stdio.h> int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } void main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“Max is %d\n”,c); } 一个C程序由若干个函数组 成,各函数调用时经常需要传递 一些数据,即调用函数把参数传 递给被调用函数,经被调用函数 处理后,得到一个确切的结果, 在返回调用函数时,把这个结果 带回调用函数。 调用函数 被调用函数 ………… c=max(a,b); ………… int max(int x,int y) ………… return(z); a,b z
形式参数和实际参数 #include <stdio.h> 函数参数:用于函数间数据的传递; int max(int x, int y) 形式参数:定义函数时使用的参数; 实际参数:引用函数时使用的参数; int T(x>y? x:y; 函数mx有两个形参数、y return(z 数尽能在m中使用 a和b是主函数中定义的变量 void maino main函数调用函数max int abc: a和b为函数max的实参 scanf(“%d,%d”,&a,&b); c=max(a, b); printf(“ Max is%dn”,);
函数参数:用于函数间数据的传递; 形式参数:定义函数时使用的参数; 实际参数:引用函数时使用的参数; 函数max有两个形式参数x、y 参数x和y只能在max中使用 a和b是主函数中定义的变量 main函数调用函数max a和b为函数max的实参 形式参数和实际参数 #include <stdio.h> int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } void main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“Max is %d\n”,c); }
形式参数和实际参数 #include <stdio. h> 说明: int max(int x, int y) 1、定义函数时,必须说{ 明形参的类型,形参必须是变 int 量或者数组; TF(x>y?x:; 2、实参可以是常量、变 return 量或者表达式; 3形参与实参的类型必 void main(O 须一致,字符型和整型可以互 相匹配; int a b.c. 4、C语言中,形参对实 scanf(%d, %d", &a, &b); 参的传递是“值传递”,即单 向传递。它仅由参数的相对位 c=max(a, b); 置决定,与名字无关 printf("Max is%dn”,c);
说明: 1、定义函数时,必须说 明形参的类型,形参必须是变 量或者数组; 2、实参可以是常量、变 量或者表达式; 3、形参与实参的类型必 须一致,字符型和整型可以互 相匹配; 4、C语言中,形参对实 参的传递是“值传递”,即单 向传递。它仅由参数的相对位 置决定,与名字无关。 形式参数和实际参数 #include <stdio.h> int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } void main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“Max is %d\n”,c); }
看程序,写出运行结果 #include <stdio. h> int sum(int a, int b) i a=a+b; b=a+b; return a; void maino Sum of 1. 3 is 4 int a=1.b=3.c: c=sum(a, b) printf(sum of %d, d is %d \n, a, b, c);
看程序,写出运行结果 #include <stdio.h> int sum(int a,int b) { a=a+b; b=a+b; return a; } void main() { int a=1,b=3,c; c=sum(a,b); printf(“sum of %d,%d is %d\n”,a,b,c); } Sum of 1,3 is 4