一:實驗目的和要求
1.熟悉引用的概念,掌握引用的定義方法,學會引用在c++程式中的應用。
2.掌握函式的定義和呼叫方法。
3.練習過載函式的使用。
二:實驗內容
1.除錯下列程式,寫出輸出結果,並解釋輸出結果。
(1)[cpp]
view plain
copy
//(1)sy2_1.cpp
#include
using
namespace
std;
intmain()
程式執行結果如下:
解釋結果如下:
程式分析:首先定義了乙個雙精度浮點型(double)dd和de,並給其賦初值3.9和1.3。然後又定義乙個雙精度浮點型(double)的引用rdd和rde,將它們分別與dd和de相聯絡。第一行和第三行輸出結果rdd+rde和dd+de都為5.2是因為開始賦初值的和是5.2,「&rdd=dd,&rde=de」相當於給dd和de取乙個別名。第二行輸出結果都為2.6,是因為給rdd賦的初始值是2.6,所以輸出rdd為2.6,dd也為2.6是因為rdd為dd的別名,它們使用同乙個位址。
(2)[cpp]
view plain
copy
//(2)sy2_2.cpp
#include
using
namespace
std;
intmain()
void
fun(
intm,
int&n)
程式執行結果如下:
解釋結果如下:
從程式中可以看出,在主函式中定義了a和b並給a和b賦初值2和3。當程式呼叫函式void fun時,實參a和b分別初始化引用m和n,所以在函式fun中,對m和n的訪問就是對a和b的訪問,函式fun中改變了main函式中的物件a、b的值,就相當於a=2*4=8,b=3*4=12,所以a+b=20。
(3)[cpp]
view plain
copy
//(3)sy2_3.cpp
#include
using
namespace
std;
int&fun(
int);
intaa[5];
intmain()
int&fun(
inta)
程式執行結果如下:
輸出結果解釋如下:
首先定義乙個整數a並給a賦初值5,先輸出a的值5,程式中用到了for迴圈語句和陣列,每次加1,最後再輸出長度為5的陣列,所以最後輸出結果為5,6,7,8,9。
2.程式設計完成下列任務。
(1)編寫乙個函式,用於將華氏溫度轉換為攝氏溫度,轉換公式為:c=(f-32)*5/9。(sy2_4.cpp)
編寫程式如下:
[cpp]
view plain
copy
//sy2_4.cpp
#include
using
namespace
std;
intmain()
程式執行結果如下:
(2)編寫過載函式max1可分別求取2個整數、3個整數、2 個雙精度數和3個雙精度數的最大值。(sy2_5.cpp)
編寫程式如下:
[cpp]
view plain
copy
#include
using
namespace
std;
intmax1(
inta,
intb)
intmax1(
inta,
intb,
intc)
double
max1(
double
x,double
y)
double
max1(
double
x,double
y,double
z)
intmain()
程式執行結果如下:
三:分析與討論
1.總結引用的概念及用途。
答:引用的概念:所謂引用,就是給物件取乙個別名,使用該別名可以訪問該物件。換句話說是使新物件和原物件共用乙個位址。這樣,無論對哪個物件進行修改,其實都是對同一位址的內容進行修改。因為原物件和新物件總是具有相同的值。
引用的用途:引用的主要用途是用作函式引數和函式值的返回。
2.函式的定義和呼叫方法。
答:函式的定義:從使用者使用的角度來看,c++有兩種函式:標準庫函式和使用者自定義函式。標準庫函式有c++系統定義並提供給使用者,可以看作對語言功能的擴充。使用者根據特定任務編寫的函式稱為自定義函式。
函式的呼叫方法:函式使用時通過函式呼叫實現。函式呼叫指定了被呼叫函式的名字和呼叫函式所需的資訊(引數)。呼叫函式所提供的實際引數。函式呼叫的一般形式為:函式名(《實引數》),其中《實引數》中的各引數用逗號分隔,實引數可以是常量、變數或表示式,與被呼叫函式形參的個數和型別必須相符。
3.過載函式時通過什麼來區分?
答:編譯系統將根據函式引數的型別和個數來判斷使用哪乙個函式。
實驗小結
通過本次實驗,我們不僅要熟悉引用的概念,掌握引用的定義方法,學會引用在c++程式中的應用,還要掌握函式的定義和呼叫方法以及過載函式的使用。在我們編寫程式的時候首先要有乙個清晰的思路,然後再根據這個思路去寫,可能在編寫的時候會出現一些問題導致程式無法執行,這個時候我們要根據提示的錯誤去修改,看不懂的地方我們可以查閱資料或者問老師。還有在學習新知識的同時我們也要溫習以前學過的東西。
個人分類:
第二章實驗
第二章實驗作業
1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係數,並計算...
第二章實驗作業
實驗作業 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係...
第二章C 實驗
2 28 1 用if else 語句 includeusing namespace std int main else if alphabet d else if alphabet s else if alphabet q break else cout import error,please im...