第4章晶数乌预处理 41桃述 4.2定义晶数的一般形式 43晶数参数和函数的值 4.4函数的调用 *4.5周置盖赵 *4.6函数的重载 *47盖数摸板 *4.8有默认参数的函数
第4章 函数与预处理 4.1 概述 4.2 定义函数的一般形式 4.3 函数参数和函数的值 4.4 函数的调用 *4.5 内置函数 *4.6 函数的重载 *4.7 函数模板 *4.8 有默认参数的函数
第4章品数与预处理 4.9离数的嵌套调用 4.10晶数的递恤调用 4.1机局部变量和金局变量 4,12变量的存储美刻 4.13变量属性小结 4.14关于变量的声明和定义 4,15陶都晶数和外部画数 4.16预处理命令
第4章 函数与预处理 4.9 函数的嵌套调用 4.10 函数的递归调用 4.11 局部变量和全局变量 4.12 变量的存储类别 4.13 变量属性小结 4.14 关于变量的声明和定义 4.15 内部函数和外部函数 4.16 预处理命令
4.1桡述 main d ef☐gh hi g
4.1 概述
4.1撬述 例:在主函数中调用其他函数。 #include using namespace std; void printstar(void) C0ut<<"*米米***米米米*米**米米米米*米米*米***米米米米米"<<end) void print_message(void) { cout<< Welcome to C++!"<<endl; int main(void) printstar(); 运行情况如下: print_message(); 名头必米兴光光必兴来米兴光兴出兴来光兴兴兴六六兴兴兴头兴兴 printstar();return O; Welcome to C++! 兴兴兴兴兴央兴兴头兴必兴兴兴兴兴兴兴兴兴光兴兴兴兴兴光必兴
4.1 概述 例:在主函数中调用其他函数。 #include using namespace std; void printstar(void) { cout<<″****************************** ″<<endl; } void print_message(void) { cout<<″ Welcome to C++!″<<endl; } int main(void) { printstar( ); print_message( ); printstar( ); return 0; } 运行情况如下: ****************************** Welcome to C++! ******************************
4.1橇述 从用户使用的角度看,函数有两种: ()系统函数,即库函数。 (2)用户自己定义的函数。 从函数的形式看,函数分两类: (1)无参函数。 (2)有参函数
4.1 概述 从用户使用的角度看,函数有两种: (1) 系统函数,即库函数。 (2) 用户自己定义的函数。 从函数的形式看,函数分两类: (1) 无参函数。 (2) 有参函数
4.2交义盖数的一般形式 一、定义无参函数的一般形式 类型标识符函数名([void]) {声明部分 语句} 二、定义有参函数的一般形式 类型标识符函数名(形式参数表列) {声明部分 语句 } C+要求在定义函数时必须指定函数的类型
4.2 定义函数的一般形式 一、定义无参函数的一般形式 类型标识符 函数名([void]) {声明部分 语句} 二、定义有参函数的一般形式 类型标识符 函数名(形式参数表列) {声明部分 语句 } C++要求在定义函数时必须指定函数的类型
43福数参数和盖数的值 一、形式参数和实际参数 在定义函数时函数名后面括号中的变量名称 为形式参数(简称形参)。 在主调函数中调用一个函数时,函数名后面 括号中的参数(可以是一个表达式)称为实际参数 (简称实参)。 int max(int x,int y) void p() int z; EFx>y?X:y; cout<<***"<<endl; return(2);
4.3 函数参数和函数的值 一、形式参数和实际参数 在定义函数时函数名后面括号中的变量名称 为形式参数(简称形参)。 在主调函数中调用一个函数时,函数名后面 括号中的参数(可以是一个表达式)称为实际参数 (简称实参)。 int max( int x,int y) void p( ) { int z; { z=x>y? x:y; cout<<“***”<<endl; return(z); } }
4.3高数参数和晶数的值 例:调用函数时的数据传递。 #include using namespace std int max(int x,int y) int zi Z=x>y?x:yi return(z); } int main() int a,b,c; cout>a>>b c=max(a,b); cout<<"max="<<c<<endlj return O;}
4.3 函数参数和函数的值 例:调用函数时的数据传递。 #include using namespace std; int max(int x,int y) {int z; z= x>y ? x : y; return(z); } int main( ) {int a,b,c; cout>a>>b; c=max(a,b); cout<<″max=″<<c<<endl; return 0;}
4.3盖数参数和品数的值 有关形参与实参的说明: ()在定义函数时指定的形参,在未出现函数调 用时,它们并不占内存中的存储单元。在调 用结束后,形参所占的内存单元也被释放。 (2)实参可以是常量、变量或表达式。 (3)在定义函数时,必须在函数首部指定形参的 类型。 (④)实参与形参的类型应相同或赋值兼容。 (⑤)实参变量对形参变量的数据传递是“值传 递”,即单向传递
4.3 函数参数和函数的值 有关形参与实参的说明: (1)在定义函数时指定的形参,在未出现函数调 用时,它们并不占内存中的存储单元。在调 用结束后,形参所占的内存单元也被释放。 (2)实参可以是常量、变量或表达式。 (3)在定义函数时,必须在函数首部指定形参的 类型。 (4)实参与形参的类型应相同或赋值兼容。 (5)实参变量对形参变量的数据传递是“值传 递”,即单向传递
4.3福数参数和福数的值 二、函数的返回值 (I)函数的返回值是通过函数中的return语句获 得的。可包含多个return语句。 return语句后面的括号可以要,也可以不要。 return,后面的值可以是一个表达式。 (2)函数值的类型。应当在定义函数时指定函数 值的类型。 (3)如果函数值的类型和return语句中表达式的 值不一致,则以函数类型为准。对数值型数 据,可以自动进行类型转换
4.3 函数参数和函数的值 二、 函数的返回值 (1)函数的返回值是通过函数中的return语句获 得的。可包含多个return语句。 return语句后面的括号可以要,也可以不要。 return后面的值可以是一个表达式。 (2) 函数值的类型。应当在定义函数时指定函数 值的类型。 (3) 如果函数值的类型和return语句中表达式的 值不一致,则以函数类型为准。对数值型数 据,可以自动进行类型转换