在main函数中怎样调用呢? include<stdio h float s( float, float, float):/函数声明*/ float s(float a, float b, float h return(a+b)产h2 void maino [ float a, b, h, area; printf( please input a, b, h: ) scanf("%f%f%f",&a,b,&h):假设输入的数据是1,2,3* area=s(a,bh):腆函数调用,相当于数学函数的代入,a,bh有 确切的数值,因此称为实参,函数的返回值赋值给area,相当于 计算area=s(1,2,3)*/ printf" area=%f\n",area)
11 在main函数中怎样调用呢? #include<stdio.h> float s(float,float,float);/*函数声明*/ float s(float a,float b, float h) { return (a+b)*h/2; } void main() { float a,b,h,area; printf(" please input a,b,h: "); scanf("%f%f%f", &a, &b, &h);/*假设输入的数据是1,2,3*/ area= s(a,b,h); /*函数调用,相当于数学函数的代入,a,b,h有 确切的数值,因此称为实参,函数的返回值赋值给area,相当于 计算area=s(1,2,3)*/ printf(" area=%f\n", area); }
运行过程 #include <stdio. h> float s( float, float, float):/函数声明*/ float s(fat a,float b, float h) return(a+b*h/ void mal [float rea prin case/input a, b, h:"): scan f*x%",&a,b,&h) printf area=%\n",s(a, b, h)):
12 运行过程 #include<stdio.h> float s(float,float,float);/*函数声明*/ float s(float a,float b, float h) { return (a+b)*h/2; } void main() { float a,b,h,area; printf(" please input a,b,h: "); scanf("%f%f%f", &a, &b, &h); area= s(a,b,h); /*实参向形参单向传递数值*/ printf(" area=%f\n", area); } printf(" area=%f\n", s(a,b,h) );
涉及的语法 函数调用(cal|) n调用即使用已经定义好的函数。 调用函数时,必须提供所有的参数 printf和 scanf是用变长变量表定义的函数, 所以变量的个数不固定。 提供的参数个数、类型、顺序应与定义时相 同 单向值传递 13
13 涉及的语法 -函数调用(call) ▪ 调用即使用已经定义好的函数。 ▪ 调用函数时,必须提供所有的参数 ▪ printf和scanf是采用变长变量表定义的函数, 所以变量的个数不固定。 ▪ 提供的参数个数、类型、顺序应与定义时相 同 ▪ 单向值传递
涉及的语法 函数调用格式 函数调用的一般形式: 函数名(实参列表) 具体调用格式: 有返回值时 放到一个数值表达式中,如area=s(a,bh) 作为另一个函数调用的参数,如 printf("area=%f\n",s(a, b, h)): 或者直接参与运算:如: F=pow(a,b)吨 无返回值时 函数调用表达式,如prnf("hell" 注意:maO函数可以调用其它函数,但它不 ¢可以被其它函数调用 即:它只能作为主调函4 数,不能作为被调函数
14 涉及的语法 -函数调用格式 ▪ 函数调用的一般形式: ▪ 函数名(实参列表) ▪ 具体调用格式: ▪ 有返回值时 ▪ 放到一个数值表达式中,如area = s(a,b,h); ▪ 作为另一个函数调用的参数,如 printf("area=%f\n", s(a,b,h) ); ▪ 或者直接参与运算:如: F= pow(a,b) *c ▪ 无返回值时 ▪ 函数调用表达式,如printf("hello!"); ▪ 注意:main()函数可以调用其它函数,但它不 可以被其它函数调用。即:它只能作为主调函 数,不能作为被调函数
涉及的语法 函数原型或函数声明 函数名和参数进行声明(dece)突型导 调用一个函数之前,先要对其返回值 不对函数进行声明是非常危险的 声明时不要省略参数以及返回值的类型 般都写在编译预处理命令之后。 15
15 涉及的语法 -函数原型或函数声明 ▪ 调用一个函数之前,先要对其返回值类型、 函数名和参数进行声明(declare) ▪ 不对函数进行声明是非常危险的 ▪ 声明时不要省略参数以及返回值的类型 ▪ 一般都写在编译预处理命令之后