实验2 引用与函数

一、实验目的和要求

1.熟悉引用的概念,掌握引用的定义和方法,学会引用在C++程序中的应用。

2.掌握函数的定义和调用方法。

3.练习重载函数的使用。

二、实验内容

1.调试下列程序,写出输出结果,并解释输出结果

(1)

//sy2_1.cpp
#include<iostream>  
using namespace std;  
int main()  
{  
       double dd=3.9,de=1.3;  
        double &rdd=dd,&rde=de;  
        cout<<rdd+rde<<','<<dd+de<<endl;  
        rdd=2.6;  
        cout<<rdd<<','<<dd<<endl;  
        de=2.5;  
         cout<<rde<<','<<de<<endl;  
        return 0;  
} 

运行结果如下:


结果分析如下:

首先,程序定义了两个对象dd和de并赋值3.9和1.3,然后又定义了两个引用rdd和rde,这样,无论对rdd和rde进行操作时,都是对同一地址的内容进行修改。所以,rdd+rde=dd+de=5.2;当rdd=2.6时,rdd=dd=2.6;当de=2.5时,rde=de=2.5

(2)

//sy2_2.cpp  
 #include<iostream>  
using namespace std;  
int main()  
{  
        void fun(int,int&);  
        int a,b;  
        fun(2,a);  
        fun(3,b);  
        cout<<"a+b="<<a+b<<endl;  
        return 0;  
}  
void fun(int m,int &n)  
{  
        n=m*4;  
} 

运行结果如下:



(3)

#include<iostream>  
using namespace std;  
int &fun(int);  
int aa[5];  
int main()  
{  
          int a=5;  
          for(int i(0);i<5;i++)  
                 fun(i)=a+i;  
          for(int i=0;i<5;i++)  
                cout<<aa[i]<<" ";  
           cout<<endl;  
           return 0;  
}  
int &fun(int a)  
{  
      return aa[a];  
} 

运行结果如下:


2.编程完成下列任务

(1)编写一个函数,用于将华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。(sy2_4.cpp)

编写程序如下:

#include<iostream>  
using namespace std;  
int main()  
{  
    double F;  
    cout<<"F=";  
    cin>>F;  
    double C=(F-32)*5/9;  
    cout<<"C="<<C<<endl;  
    return 0;  
} 

运行结果如下:



(2)编写重载函数max1可分别求取2个整数、3个整数、2个双精度数和3个双精度数的最大值。(sy2_5.cpp)

编写程序如下:

#include<iostream>  
using namespace std;  
int max(int a,int b)  
{  
    if(a>b)  
        return a;  
    else  
        return b;  
}  
int max(int a,int b,int c)  
{  
   return max(a,(max(b,c)));  
}  
double max(double q,double w)  
{  
    if(q>w)  
        return q;  
    else  
        return w;  
}  
double max(double q,double w,double e)  
{  
    return max(q,(max(w,e)));  
}  
int main()  
{  
    int a,b,c;  
    cout<<"输入两个整数:";  
    cin>>a>>b;  
    cout<<"2个整数中最大整数是:"<<max(a,b)<<endl;  
    cout<<"输入三个整数:";  
    cin>>a>>b>>c;  
    cout<<"3个整数中最大整数是:"<<max(a,b,c)<<endl;  
    double q,w,e;  
    cout<<"输入两个双精度数:";  
    cin>>q>>w;  
    cout<<"2个双精度中最大双精度数是:"<<max(q,w)<<endl;  
    cout<<"输入三个双精度数:";  
    cin>>q>>w>>e;  
    cout<<"3个双精度中最大双精度数是:"<< max(q,w,e)<<endl;  
    return 0;  
}

运行结果如下:


分析与讨论

1.总结引用的概念及用途。

  答:

     概念:给对象取一个别名,使用该别名可以存取该对象;

     用途:用作函数参数和函数的返回值。

2.函数的定义和调用方法。

    答:

       定义:C++有两种函数:标准库函数和自定义函数。标准库函数由C++系统定义并提供给用户使用,可以看作对语言功能的扩充;用户根据特定任务编写的函数称为自定义函数;

       方法:函数调用指定了被调用函数的名字和调用函数所需的信息,调用函数所需提供的实际参数,简称实参。

3.重载函数时通过什么来区分?

    答:编译系统是将根据函数参数的类型和个数来判断使用哪一个函数。

四、实验总结


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值