实验二 引用与函数

实验目的和要求

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;
}

输出结果如下:本函数采用赋值转换的方式实现最终结果的输出。

(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;
}

输出结果如下:程序采用调用函数的方式计算a+b的值

(3)//sy2-3.cpp
#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];
}

输出结果如下:本程序采用调用函数fun和引用数组的方式,计算长度为5的数组的值并实现最终输出结果。

2.编辑完成下列任务。

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

根据题意,所写程序如下:

//sy2-4.cpp
#include<iostream>
using namespace std;
int main()
{
    double F=0;
   
    cout<<"请输入需转换的华氏温度F:"<<endl;
    cin>>F;
     double C=0;
      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 Max1(int a,int b)
{
  if(a>b)
        return a;
  else
    return b;
}
double Max1(double x,double y)
{
    if(x>y)
        return x;
    else
        return y;
}
int Max1(int a,int b,int c)
{
    return Max1(a,Max1(b,c));
}
double Max1(double x,double y,double z)
{
    return Max1(x,Max1(y,z));
}
int main()
{
    int a,b,c;
    cout<<"请输入两个整数:";
    cin>>a>>b;
    cout<<"最大值为:"<<Max1(a,b)<<endl;
    cout<<"请输入3个整数:";
    cin>>a>>b>>c;
    cout<<"最大值为:"<<Max1(a,b,c)<<endl;
    double x,y,z;
    cout<<"请输入2个双精度数:";
    cin>>x>>y;
    cout<<"最大值为:"<<Max1(x,y)<<endl;
    cout<<"请输入3个双精度数:";
    cin>>x>>y>>z;
    cout<<"最大值为:"<<Max1(x,y,z)<<endl;
    return 0;
}

输出结果如下:

分析与讨论

1.总结引用的概念及用途
概念:所谓引用,就是给对象取一个别名,使用该别名可以存取该对象,即使新对象和旧对象共用一个地址,这样无论对哪个对象进行修改都是对同一个地址的内容进行修改,因而原对象与新对象总是具有相同的值。
用途:引用的主要用途是用作函数的参数和函数的返回值。

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

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

调用方法:函数调用指定了被调用函数的名字和所需的信息(实参)。不管函数有无参数,都可以用两种形式调用:函数语句或函数表达式。当调用作为一条语句时,函数可以没有返回值;当函数调用出现在表达式中,必须带有一个明确的返回值。

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

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

 

实验总结

  通过本次实验,我们初步掌握了函数的·定义、引用及相关含义。学会用简单的函数进行编译简单的程序以进行简单的运算,实现编程简化的目的。第一次接触重载函数,还有许多不懂的地方,通过书中的例子进一步对重载函数有了初步的了解,也通过各方面的资料查找与程序模拟,终于编译出以上求最大数的1程序。过程中出了技术性难度之外,细节也是必须得注意的。在进行程序编译时一定要细心。

   

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值