欢迎来到天天文库
浏览记录
ID:51590433
大小:607.00 KB
页数:47页
时间:2020-03-24
《C++程序设计_第5章 函数与预处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五章函数与预处理函数的定义函数的调用指针与函数函数的嵌套调用函数的递归调用局部变量和全局变量变量的存储类型7/23/20211函数与预处理§5.1.1函数的引入#includevoidmain(){intn=30;for(inti=0;i2、----------------------一段程序被执行了多次优化程序结构通用:函数库7/23/20212函数与预处理#includevoidmain(){intn=30;dline(n);cout<<"方法的引入"<3、名(形参列表){语句序列}函数说明voidmain(){inta,b,s;cin>>a>>b;s=add(a,b);cout<4、形参表)voidmyprint(){System.out.print("***");}doublearea(doublex,y,z){}清楚了吗?7/23/20215函数与预处理5.1.3return语句语句格式:return;//无值voidreturn表达式;//有值return(表达式);//有值函数体中的流程控制语句。先计算表达式的值,然后从被调方法返回到主调方法,表达式的值作为函数的返回值。(注意:只能返回一个值)函数值的类型:以函数定义的类型为准,若不同,需将return语句表达式的值转换类型。无返回值void时,可5、无return语句,执行到函数体}时返回。7/23/20216函数与预处理5.1.4函数声明(函数原型)函数原型的形式:数据类型函数名(形参类型说明);例:doublearea(double,double,double);C++要求在调用函数前让编译器知道其函数原型,以便编译器利用函数原型提供的信息来检查调用的合法性,强制参数为适当类型,保证参数的正确传递。而编译器获得函数原型有两种情况:(1)当函数定义在调用之前时,则从定义中抽取函数原型。(2)当函数定义在调用之后时,则程序员须在调用之前用函数原型对函数进行声明,让编译器获得6、函数原型。7/23/20217函数与预处理对于标准库函数的函数原型都在头文件中提供了,程序可用#include命令包含进来即可;注意:函数原型和函数定义在返回类型、函数名和参数表上必须完全一致,否则编译错误。注意7/23/20218函数与预处理一、函数调用形式:函数名(实参列表)§5.2函数的调用t=sqrt(t*(t-a)*(t-b)*(t-c));s=area(a,b,c);s=sum(5,7);例7/23/20219函数与预处理main(){……s=area(a,b,c);……}函数调用1.实参的个数、类型、顺序要与形参对7、应一致2.函数间相互独立:各函数中的变量互不相关,可同名。3.可以没有参数,但圆括号一定要有,不能省略主方法被调方法floatarea(intx,inty,intz){……returns……}实参形参参数传递?返回值7/23/202110函数与预处理函数的传值调用C++中变量值有两种:变量本身值和变量地址值。而形参的类型也就分为两种:一般类型和指针类型。则传值调用的方式也有两种:传值调用和传址调用有时也称:直接调用与间接调用1、传值调用的实现机制和特点实现机制是:调用函数中的数据只是在调用之初通过实参向形参传递,之后各占有不同的8、空间,并且不再发生联系,互不干扰。特点是:形参值的改变不影响实参。transferValue.cpptestTransefer.cpp7/23/202111函数与预处理内存解析a:3b:5a:3b:5temp:3537/23/202112函数与预处理实现机制是:
2、----------------------一段程序被执行了多次优化程序结构通用:函数库7/23/20212函数与预处理#includevoidmain(){intn=30;dline(n);cout<<"方法的引入"<3、名(形参列表){语句序列}函数说明voidmain(){inta,b,s;cin>>a>>b;s=add(a,b);cout<4、形参表)voidmyprint(){System.out.print("***");}doublearea(doublex,y,z){}清楚了吗?7/23/20215函数与预处理5.1.3return语句语句格式:return;//无值voidreturn表达式;//有值return(表达式);//有值函数体中的流程控制语句。先计算表达式的值,然后从被调方法返回到主调方法,表达式的值作为函数的返回值。(注意:只能返回一个值)函数值的类型:以函数定义的类型为准,若不同,需将return语句表达式的值转换类型。无返回值void时,可5、无return语句,执行到函数体}时返回。7/23/20216函数与预处理5.1.4函数声明(函数原型)函数原型的形式:数据类型函数名(形参类型说明);例:doublearea(double,double,double);C++要求在调用函数前让编译器知道其函数原型,以便编译器利用函数原型提供的信息来检查调用的合法性,强制参数为适当类型,保证参数的正确传递。而编译器获得函数原型有两种情况:(1)当函数定义在调用之前时,则从定义中抽取函数原型。(2)当函数定义在调用之后时,则程序员须在调用之前用函数原型对函数进行声明,让编译器获得6、函数原型。7/23/20217函数与预处理对于标准库函数的函数原型都在头文件中提供了,程序可用#include命令包含进来即可;注意:函数原型和函数定义在返回类型、函数名和参数表上必须完全一致,否则编译错误。注意7/23/20218函数与预处理一、函数调用形式:函数名(实参列表)§5.2函数的调用t=sqrt(t*(t-a)*(t-b)*(t-c));s=area(a,b,c);s=sum(5,7);例7/23/20219函数与预处理main(){……s=area(a,b,c);……}函数调用1.实参的个数、类型、顺序要与形参对7、应一致2.函数间相互独立:各函数中的变量互不相关,可同名。3.可以没有参数,但圆括号一定要有,不能省略主方法被调方法floatarea(intx,inty,intz){……returns……}实参形参参数传递?返回值7/23/202110函数与预处理函数的传值调用C++中变量值有两种:变量本身值和变量地址值。而形参的类型也就分为两种:一般类型和指针类型。则传值调用的方式也有两种:传值调用和传址调用有时也称:直接调用与间接调用1、传值调用的实现机制和特点实现机制是:调用函数中的数据只是在调用之初通过实参向形参传递,之后各占有不同的8、空间,并且不再发生联系,互不干扰。特点是:形参值的改变不影响实参。transferValue.cpptestTransefer.cpp7/23/202111函数与预处理内存解析a:3b:5a:3b:5temp:3537/23/202112函数与预处理实现机制是:
3、名(形参列表){语句序列}函数说明voidmain(){inta,b,s;cin>>a>>b;s=add(a,b);cout<
4、形参表)voidmyprint(){System.out.print("***");}doublearea(doublex,y,z){}清楚了吗?7/23/20215函数与预处理5.1.3return语句语句格式:return;//无值voidreturn表达式;//有值return(表达式);//有值函数体中的流程控制语句。先计算表达式的值,然后从被调方法返回到主调方法,表达式的值作为函数的返回值。(注意:只能返回一个值)函数值的类型:以函数定义的类型为准,若不同,需将return语句表达式的值转换类型。无返回值void时,可
5、无return语句,执行到函数体}时返回。7/23/20216函数与预处理5.1.4函数声明(函数原型)函数原型的形式:数据类型函数名(形参类型说明);例:doublearea(double,double,double);C++要求在调用函数前让编译器知道其函数原型,以便编译器利用函数原型提供的信息来检查调用的合法性,强制参数为适当类型,保证参数的正确传递。而编译器获得函数原型有两种情况:(1)当函数定义在调用之前时,则从定义中抽取函数原型。(2)当函数定义在调用之后时,则程序员须在调用之前用函数原型对函数进行声明,让编译器获得
6、函数原型。7/23/20217函数与预处理对于标准库函数的函数原型都在头文件中提供了,程序可用#include命令包含进来即可;注意:函数原型和函数定义在返回类型、函数名和参数表上必须完全一致,否则编译错误。注意7/23/20218函数与预处理一、函数调用形式:函数名(实参列表)§5.2函数的调用t=sqrt(t*(t-a)*(t-b)*(t-c));s=area(a,b,c);s=sum(5,7);例7/23/20219函数与预处理main(){……s=area(a,b,c);……}函数调用1.实参的个数、类型、顺序要与形参对
7、应一致2.函数间相互独立:各函数中的变量互不相关,可同名。3.可以没有参数,但圆括号一定要有,不能省略主方法被调方法floatarea(intx,inty,intz){……returns……}实参形参参数传递?返回值7/23/202110函数与预处理函数的传值调用C++中变量值有两种:变量本身值和变量地址值。而形参的类型也就分为两种:一般类型和指针类型。则传值调用的方式也有两种:传值调用和传址调用有时也称:直接调用与间接调用1、传值调用的实现机制和特点实现机制是:调用函数中的数据只是在调用之初通过实参向形参传递,之后各占有不同的
8、空间,并且不再发生联系,互不干扰。特点是:形参值的改变不影响实参。transferValue.cpptestTransefer.cpp7/23/202111函数与预处理内存解析a:3b:5a:3b:5temp:3537/23/202112函数与预处理实现机制是:
此文档下载收益归作者所有