四、函数的调用 3、函数声明 般形式: 函数类型函数名(形参类型形参名]…) 或函数类型函数名() 作用:告诉编译系统函数类型、参数个数及类型,以 便检验 函数定义与函数声明不同,声明只与函数定义的第 相同。声明可以不写形参名,只写形参类型。 函数说明位置:程序的数据说明部分(函数内或外) Advanced Programming
Advanced Programming 3、函数声明 一般形式: 函数类型 函数名(形参类型 [形参名],….. ); 或 函数类型 函数名(); –作用:告诉编译系统函数类型、参数个数及类型,以 便检验 –函数定义与函数声明不同,声明只与函数定义的第一 行相同。声明可以不写形参名,只写形参类型。 –函数说明位置:程序的数据说明部分(函数内或外) 四、 函数的调用
四、函数的调用 ◆对被调用函数要求: ●必须是已存在的函数 ●库函数:# nclude<h> ●用户自定义函数:如果被调函数定义 在主调函数之后,那么在主调函数中 对被调函数作声明。 Advanced Programming
Advanced Programming ❖对被调用函数要求: ⚫必须是已存在的函数 ⚫库函数: #include <*.h> ⚫用户自定义函数:如果被调函数定义 在主调函数之后,那么在主调函数中 对被调函数作声明。 四、 函数的调用
例对被调用的函数作声明 #include <stdio. h void maino { float ado( floaty,oaty):/对被调用函数的声明* float a.b.c. scanf(%f, %f", &a, &b) float add(float, float); =add(a, b); printf("sum is %f,c); float add( float x, float y)/函数首部* i float z; /函数体 TXt return (z; 输入:3.6,6.5 输出: sum is10100000 Auvunceu programmiNg
Advanced Programming #include <stdio.h> void main() { float add(float x,float y ); /*对被调用函数的声明*/ float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); printf("sum is %f",c); } float add(float x, float y) /*函数首部*/ { float z; /*函数体 z=x+y; return(z); } float add(float,float); 例 对被调用的函数作声明 输入:3.6 ,6.5 输出:sum is 10.100000
四、函数的调用 令说明: 旧版本C中函数声明不采用画 char letter(char char) 函数名和函数类型如:mgt(nt 〔s 在函数外面做函数说明 int I(float, float) main 井从/m兰,即:函数类{ 作函数声明,最好作声明。 char letter(char cl, char c2) 被调用函数的定义(程序)1{… 可以不加函数声明。 float f(float x, float y) 在所有函数定义前,已在函……} 明,则在各主调函数中可以 Int I(float, float k) Advanced Programming
Advanced Programming ❖说明: ⚫旧版本C中函数声明不采用函数原型,只声明 函数名和函数类型。如: float add( ) ⚫函数调用之前,如果未对函数作声明,则编译 系统把第一次遇到的函数形式作为函数声明, 并默认为int型。即:函数类型是int型可以不 作函数声明,最好作声明。 ⚫被调用函数的定义(程序)在主调函数之前, 可以不加函数声明。 ⚫在所有函数定义前,已在函数外部做了函数声 明,则在各主调函数中可以不加函数声明。 char letter(char,char); float f(float,float); int I(float,float); main() {……} char letter(char c1,char c2) {……} float f(float x,float y) {……} Int I(float j,float k) {……} 在函数外面做函数说明 四、 函数的调用
回顾: 源程序 Man函数 函数2 函数3 Advanced Programming
Advanced Programming 回顾: 源程序 Main函数 函数2 函数3