欢迎来到天天文库
浏览记录
ID:50041735
大小:201.50 KB
页数:78页
时间:2020-03-08
《C++语言程序设计 教学课件 作者 邓振杰 第03章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章函数3.1函数的定义3.2函数调用3.3局部变量和全局变量3.4内联函数3.5函数重载3.6C++的系统函数3.1函数的定义3.1.1函数定义函数定义的一般语法格式如下:函数类型函数名(参数表){函数体}函数名必须符合C++标识符命名规则。函数类型规定了函数返回值的数据类型,它可以是各种数据类型,包括基本数据类型和构造数据类型,也包括指针和引用类型。如果函数无返回值,则该函数的数据类型为void。参数表指明了函数的参数个数、名称、数据类型。当函数有多个参数时,每个变量必须分别定义类型和名字,用逗号
2、将多个参数分开。无参数时,最好用关键字void说明此函数无参数,也可以不提供参数,但括弧不可以省略。参数表中的参数称为形式参数,简称形参。形参在该函数调用时才被初始化,函数定义中的一对花括号不能省略,它用于指明函数体的开始和结束。3.1.2函数原型函数原型告诉编译器函数名称、函数的返回类型、函数要接收的参数个数、参数类型和参数顺序,编译器用函数原型验证函数调用。函数原型的说明语法格式为:类型函数名(参数列表);3.2函数调用3.2.1函数调用的概念函数调用的格式为:函数名(实参列表)其中,函数名是用户自
3、定义的或是C++提供的标准函数名。实参列表是由逗号分隔的若干个表达式,每个表达式的值为实参,实参是用来在调用函数时对形参进行初始化的。实参与形式参数个数相同、类型一致、顺序一致。【例3.1】实现两个数相加。#includeintadd(int,int);voidmain(){intsum,x,y;cout<<"请输入被加数和加数:"<>x>>y;sum=add(x,y);cout<<"Sumr="<4、ntb){returna+b;}执行结果:请输入被加数和加数:213625Sum=838Pressanykeytocontinue3.2.2函数调用的参数传递C++采用以下几种方法向调用函数传递参数:传值调用、传址调用和引用调用。3.2.2.1传值调用调用函数的实参用常量、变量或表达式的值,被调用函数的形参用变量。调用时把实参的值按位置赋给对应的形式参数,即对形参进行初始化,然后执行函数体。在函数体执行过程中形式参数的变化不会影响对应实参的值。传值方式可以有效地防止被调用函数改变参数的原始值。【例3.25、】两整型数互换。#includevoidswap(int,int);voidmain(){inta,b;cin>>a>>b;swap(a,b);cout<<"mainprograma="<6、<7、ncludevoidswap(int*,int*);//函数声明或函数原型voidmain(){inta,b;cin>>a>>b;swap(&a,&b);cout<<"mainprograma="<8、d*a="<<*a<<"t*b="<<*b<<"";}程序执行结果为:1020functionswapbegin*a=10*b=20functionswapend*a=20*b=10mainprograma=20b=10Pressanykeytocontinue3.2.2.3引用调用引用也是一种特殊类型的变量,它不同于指针。引用是在程序中为一个变量取一个别名,以便在不同的情况下也能使用。定义引用的格式为:数据类型&引用名(变量名);或
4、ntb){returna+b;}执行结果:请输入被加数和加数:213625Sum=838Pressanykeytocontinue3.2.2函数调用的参数传递C++采用以下几种方法向调用函数传递参数:传值调用、传址调用和引用调用。3.2.2.1传值调用调用函数的实参用常量、变量或表达式的值,被调用函数的形参用变量。调用时把实参的值按位置赋给对应的形式参数,即对形参进行初始化,然后执行函数体。在函数体执行过程中形式参数的变化不会影响对应实参的值。传值方式可以有效地防止被调用函数改变参数的原始值。【例3.2
5、】两整型数互换。#includevoidswap(int,int);voidmain(){inta,b;cin>>a>>b;swap(a,b);cout<<"mainprograma="<6、<7、ncludevoidswap(int*,int*);//函数声明或函数原型voidmain(){inta,b;cin>>a>>b;swap(&a,&b);cout<<"mainprograma="<8、d*a="<<*a<<"t*b="<<*b<<"";}程序执行结果为:1020functionswapbegin*a=10*b=20functionswapend*a=20*b=10mainprograma=20b=10Pressanykeytocontinue3.2.2.3引用调用引用也是一种特殊类型的变量,它不同于指针。引用是在程序中为一个变量取一个别名,以便在不同的情况下也能使用。定义引用的格式为:数据类型&引用名(变量名);或
6、<
7、ncludevoidswap(int*,int*);//函数声明或函数原型voidmain(){inta,b;cin>>a>>b;swap(&a,&b);cout<<"mainprograma="<8、d*a="<<*a<<"t*b="<<*b<<"";}程序执行结果为:1020functionswapbegin*a=10*b=20functionswapend*a=20*b=10mainprograma=20b=10Pressanykeytocontinue3.2.2.3引用调用引用也是一种特殊类型的变量,它不同于指针。引用是在程序中为一个变量取一个别名,以便在不同的情况下也能使用。定义引用的格式为:数据类型&引用名(变量名);或
8、d*a="<<*a<<"t*b="<<*b<<"";}程序执行结果为:1020functionswapbegin*a=10*b=20functionswapend*a=20*b=10mainprograma=20b=10Pressanykeytocontinue3.2.2.3引用调用引用也是一种特殊类型的变量,它不同于指针。引用是在程序中为一个变量取一个别名,以便在不同的情况下也能使用。定义引用的格式为:数据类型&引用名(变量名);或
此文档下载收益归作者所有