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