函数的调用:函数在调用时才被执行,其调用 参数称为实参数,在前例中已调用了函数。 注意:函数的形参的次序和类型要与 实参一样 如在求素数的例题中: 函数声明为: int prime (int x); x为形参 函数调用为: for(intn=3;n<=20;n++)∥3到20的循环体 if(prime(n)) ∥调用函数,n为实参 cout <<n<< 1-=素数;0=非素数 2021/224
2021/2/24 11 函数的调用:函数在调用时才被执行,其调用 参数称为实参数,在前例中已调用了函数。 注意:函数的形参的次序和类型要与 实参一样 如在求素数的例题中: 函数声明为: int prime(int x); //x为形参 函数调用为: for(int n=3; n<=20;n++) //从3到20的循环体 if(prime(n)) //调用函数,n为实参 cout << n << " , " ; //1=素数;0=非素数
形参与实参的结合方式: ⅴ传值调用(即值调用) v传地址调用 引用调用 传值调用要点: 1每个实参均可为表达式。 2调用时先求出实参表达式的值,并将值传给 形参。 3函数处理的结果不能带给调用者。 4函数完全独立,通过 return语句返回值或不 返回值。 2021/224
2021/2/24 12 形参与实参的结合方式: 传值调用(即值调用) 传地址调用 引用调用 传值调用要点: 1.每个实参均可为表达式。 2.调用时先求出实参表达式的值,并将值传给 形参。 3.函数处理的结果不能带给调用者。 4.函数完全独立,通过return语句返回值或不 返回值
函数调用示例:32 执行后输出: a=40b=70 a=40b=70 例2:说明实参与形参对应关系示例。 52 执行后输出:55698985050.6 2021/224 13
2021/2/24 13 函数调用示例: 532 执行后输出: a=40 b=70 a=40 b=70 例2:说明实参与形参对应关系示例。 52 执行后输出:5 5.6 98 98 50 50.6
注:若可将实参的值转换成对应形参,称为兼容的; 否则称为不兼容的。 当函数的类型名不空时,要求返回一个值给调用者 返回值语句格式为: return<表达式>; 在函数体中要结束函数的执行并返回调用者时,也 要使用 return语句。此时的格式为: return; 例3:编写一函数,设输入参数为n,当n<0时,则输 出“负数不能开平方!”;否则输出0~n之间所有整 数的平方根。 53 2021/224
2021/2/24 14 注:若可将实参的值转换成对应形参,称为兼容的; 否则称为不兼容的。 当函数的类型名不空时,要求返回一个值给调用者。 返回值语句格式为: return <表达式>; 例3:编写一函数,设输入参数为n,当n<0时,则输 出“负数不能开平方!”;否则输出0~n之间所有整 数的平方根。 53 在函数体中要结束函数的执行并返回调用者时,也 要使用return语句。此时的格式为: return;
例4:打印3到20之间的全部素数。 #include <iostream.h> int prime (int n) 函数声明 void main( void cout<<" The primes in阝3,20]are:"≤<endl; for(int n=3;n<=20;n+)/从3到20的循环体 if ( prime (n))) ∥调用函数 cout <<n<< 1=素数;0=非素数 int prime (int x) ∥定义函数 for(inti=2;i<=x2;i+)∥从1到x2的循环体 if(x%i==0) return0;∥x被i整除 return 1; 执行结果:3,5,7,11,13,17,19 2021/2/24 15
2021/2/24 15 例4:打印3到20之间的全部素数。 #include <iostream.h> int prime(int n); //函数声明 void main( void ) { cout << "The primes in [3,20] are:"<<endl; for(int n=3; n<=20;n++) //从3到20的循环体 if(prime(n))) //调用函数 cout << n << " , " ; //1=素数;0=非素数 } int prime(int x) //定义函数 { for(int i=2; i<=x/2; i++))//从1到 x/2的循环体 if(x%i= =0)return 0; // x被i整除 return 1; } 执行结果:3,5,7,11,13,17,19