实验目的和要求
1.熟悉引用的概念,掌握引用的定义方法,学会引用在C++程序中的应用
2.掌握函数的定义和调用方法。
3.练习重载函数的使用。
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;
- }
结果如下图:
(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;
- }
结果如下图: