C實驗指導書

2023-01-12 16:57:05 字數 5511 閱讀 3806

第1章概述

1.1 編輯、編譯和執行c#程式

實驗題目:

編輯、編譯和執行給出的c#應用程式。

實驗目的:

1) 熟悉c#開發視窗的布局及功能。

2) 了解c#應用程式的本結構。

3) 了解程式集和程式命名空間。

4) 熟悉c#應用程式的編譯和執行過程。

實驗步驟:

1) 開啟裝visual studio 2008/2005開發環境軟體。

從開始—>所有程式—>microsoft visual stutio 2008—> microsoft visual stutio 2008

從檔案選單進入新建--→專案--→visual c#專案如下圖

選擇「控制台應用程式「並命名為」my-firstnewprogram」,單擊確定後進入編輯頁面。

2) 在main函式中錄入如下**並儲存。

"hello world!");

"hello world ","messagebox from c#",

4) 編譯該應用程式。

visual studio 2005提供了編譯選項為:

5) 執行該應用程式。

選擇f5或者ctrl+f5或者單擊選單,程式編譯並執行檢視結果。

思考:解決方案資源管理器中的引用和程式開頭處的using有什麼關係。

第2章 c#語言程式設計基礎

1.1 求矩形的周長和面積

實驗題目:

已知兩個矩形的長和寬,程式設計求它們的面積和周長。假設,矩形1的長和寬分別為20和50;矩形2的長和寬分別為3.6和4.5。

實驗目的:

1) 掌握double型變數的宣告和使用方法。

2) 熟悉基本算術運算子的運算規則。

3) 掌握表示式的使用及運算子的的優先順序概念。

4) 了解c#語言的控制台輸出方法。

實驗步驟:

1) 宣告double型變數length、width,分別用於表示矩形的長和寬,並將length初始化為20,width初始化為50。

2) 宣告double型變數area用於表示矩形的面積,並將它初始化為length和width的積(即矩形1的面積)。

3) 宣告double型變數perimeter用於表示矩形的周長,並將它初始化為length和width的和與2的積(即矩形1的周長)。

4) 分別輸出矩形1的面積和周長。

5) 將矩形2的長和寬分別賦值給變數length和width。

6) 分別求矩形2的面積和周長並相應賦值給變數area和perimeter。

7) 分別輸出矩形2的面積和周長。

2.2 判斷某年是否閏年

實驗題目:

編寫乙個程式,判斷使用者從鍵盤輸入的年份是否是閏年。如果乙個年份能被4整除,並且如果該年份是100的倍數,它能被400整除,那麼該年份就是閏年。

實驗步驟:

1) 宣告int型變數year,用於表示年份。

2) 宣告bool型變數isleap,用於表示是否閏年。

3) 宣告string型變數str,用於表示一串字元。

4) 向螢幕輸出提示資訊,提示使用者輸入年份。

5) 從鍵盤讀入年份字串賦值給變數str。

6) 將變數str中的資料轉換成int型資料並賦值給變數year。

7) 通過混合取餘運算、關係運算和條件邏輯運算判斷year是否閏年,並將結果賦值給變數isleap。

8) 使用條件運算子,當isleap為true時,給變數str賦字串「是」;否則,賦「不是」。

輸出結果,告訴使用者相應年份是否閏年

2.3 求三個整數的最大值

實驗題目:

編寫乙個程式,使用條件運算子求使用者輸入的三個整數中的最大值。

實驗目的:

1) 掌握int型和string型變數的宣告和使用方法。

2) 了解c#語言的控制台輸入方法。

3) 熟悉關係運算子的運算規則。

4) 熟悉條件運算子的運算規則。

5) 理解運算子的優先順序概念。

實驗步驟:

1) 宣告int 型變數a、b、c,用於儲存三個待求整數。

2) 宣告 int 型變數max,用於儲存最大值。

3) 宣告 string 型變數 str,用於表示一串字元。

4) 分別向屏目輸出提示資訊,提示使用者輸入三個整數,將使用者輸入的字串儲存在變數str中,並在將str中的資料轉換成int型資料後分別賦值給變數a、b、c。

5) 使用條件運算子和關係運算子求出變數a和b中的大者,並賦值給變數max。

6) 使用條件運算子和關係運算子求出變數max和c中的大者,並賦值給變數max。

7) 輸出變數 max的值。

第三章控制語句

3. 1 整數排序

實驗題目:

編寫乙個程式,使用if語句將使用者輸入的三個整數按從小到大的順序排序。

實驗目的:

1) 掌握if語句的使用方法。

2) 學會巢狀使用if語句。

實驗步驟:

1) 宣告int型變數a、b、c,用於儲存使用者輸入的三個整數。

2) 宣告int型變數t,在交換變數a、b、c的值時,用於臨時儲存其中的某個值。

3) 從鍵盤讀入三個整數,分別儲存在變數a、b、c中。

4) 使用if語句將變數a、b、c中的最大值賦給變數c,最小值賦給變數a,中間值賦給變數b。

5) 按從小到大的順序依次輸出變數a、b、c的值。

3.2 簡單計算器

實驗題目:

編寫乙個簡單的計算器程式,能夠根據使用者從鍵盤輸入的運算指令和整數,進行簡單的加減乘除運算。

實驗目的:

1) 掌握迴圈語句while的使用。

2) 掌握迴圈語句do-while的使用。

3) 熟悉選擇語句switch的使用。

4) 學會巢狀使用迴圈語句和選擇語句。

5) 學會使用break語句。

實驗步驟:

1) 宣告int型變數firstnumber和secondnumber,用於儲存運算元。

2) 宣告string型變數operation,用於儲存運算子。

3) 宣告string型變數response,用於儲存使用者輸入的決定是否繼續運算的字元。

4) 宣告do-while語句讀入運算子和運算元,在該迴圈中用switch語句執行相應運算,並輸出運算結果。

5) 在do-while語句中提示使用者輸入相應的字元決定是否斷續運算,並根據輸入字元決定是否結束do-while語句的執行。

3.3 求指定範圍內的所有合數

實驗題目:

合數就是非素數,即除了1和它本身之外還有其他約數的正整數。編寫乙個程式求出指定資料範圍(假設10~100)內的所有合數。

實驗目的:

1) 掌握迴圈語句for的使用。

2) 掌握選擇語句if的使用。

3) 學會巢狀使用迴圈語句和選擇語句。

4) 學會使用break語句。

實驗步驟:

1) 宣告int型變數min、max,並分別初始化為10和100;

2) 宣告int型變數num,用於儲存合數的個數,初始化為0。

巢狀使用for語句,順序判斷10~100中的每個整數,如果某個整數是合數,則輸出該數,並將變數num加1。

第4章方法

4.1 求兩個整數的最大公約數和最小公倍數

實驗題目:

定義兩個方法,分別求兩個正整數的最大公約數和最小公倍數。其中,最大公約數的計算採用輾轉相除法;最小公倍數的計算採用先計算最大公約數,然後再用兩個數的積去除最大公約數來求得。在main()方法中實現兩個待求正整數的輸入及結果的輸出。

備註:1)把能夠整除某乙個數的數,叫做這個數的約數。幾個數所公有的約數叫這幾個數的公約數。公約數中最大的乙個叫做這幾個數的最大公約數。

2)幾個數所公有的倍數,叫做這幾個數的公倍數。公倍數中最小的乙個(零除外)叫做這幾個數的最小公倍數。

3)輾轉相除法,又名歐幾里德演算法(euclidean algorithm)乃求兩個正整數之最大公因子的演算法。

4)輾轉相除法的演算法:

演算法  輾轉相除法是利用以下性質來確定兩個正整數 a 和 b 的最大公因子的:

1. 若 r 是 a ÷ b 的餘數, 則gcd(a,b) = gcd(b,r)

2. a 和其倍數之最大公因子為 a。

另一種寫法是:

1. a ÷ b,令r為所得餘數(0≤r<b)

若 r = 0,演算法結束;b 即為答案。

2. 互換:置 a←b,b←r,並返回第一步。

實驗目的:

1) 理解方法的意義。

2) 掌握如何定義方法。

3) 掌握如何呼叫方法。

4) 理解形參和實參的值傳遞關係。

5) 學會如何在方法中返回值。

實驗步驟:

1) 定義方法greatestcommondivisor,用輾轉相除法求兩個正整數的最大公約數。兩個待求正整數由引數傳遞傳入,所求結果由返回值返回。

2) 定義方法leastcommonmultiple,求兩個正整數的最小公倍數。兩個待求正整數由引數傳入,所求結果由返回值返回,而且方法中兩個正整數的最大公約數由呼叫方法greatestcommondivisor求得。

3) 在main()方法中讀入待求的兩個正整數。

4) 在main()方法中呼叫方法greatestcommondivisor,求兩個正整數的最大公約數並輸出。

5) 在main()方法中呼叫方法leastcommonmultiple,求兩個正整數的最小公倍數並輸出。

4.2 給三個整數排序並求其和及平均值

實驗題目:

定義乙個方法,給三個整數按從小到大的順序排序並求其和及平均值。其中,三個待求整數及排序後的結果由引用引數傳遞;其和由輸出引數傳遞;平均值由返回值返回。在main()方法中實現三個待求整數的輸入及結果的輸出。

實驗目的:

1) 掌握如何定義方法。

2) 掌握如何呼叫方法。

3) 理解形參和實參的引用傳遞關係。

4) 熟悉引用引數和輸出引數的使用。

5) 學會如何在方法中返回值。

實驗步驟:

1) 定義方法sort,給三個整數按從小到大的順序排序並求其和及平均值。其中,三個待求整數及排序後的結果由引用引數傳遞,其和由輸出引數傳遞,平均值由返回值返回。

2) 在main方法中讀入待求的三個正整數。

3) 在main方法中呼叫方法sort給三個整數排序並求其總和及平均值。

4) 在main方法中輸出結果。

4.3 求n!的值

實驗題目:

用遞迴的方法求n!(n>=0)。

實驗目的:

1) 掌握遞迴方法的定義與使用。

2) 熟悉遞迴的「遞推」和「回歸」過程。

3) 理解行參和實參的值傳遞關係。

實驗步驟:

1) 定義遞迴方法fac,計算整數n的階乘,方法中需要遞迴呼叫自身。

2) 在main方法中讀入整數n的值。

3) 在main方法中呼叫fac方法,求出整數n的階乘。

4) main方法中輸出計算結果。

第5章物件導向與物件模型

實驗目的:

1. 理解c#語言是如何體現物件導向程式設計基本思想;

2. 掌握類物件的定義;

C程式設計實驗指導書

第二版 教育學院教育技術系 c程式設計 課程組 2011年2月20日 上機實驗一般經歷上機前的準備 預習並且程式設計 上機除錯執行和實驗後的總結三個步驟。1.上機前的準備 根據問題,進行分析,選擇適當演算法並編寫程式。上機前一定要仔細檢查程式 稱為靜態檢查 直到找不到錯誤 包括語法和邏輯錯誤 分析可...

C上機實驗指導書

物件導向程式設計 實驗目的 了解.net framework 的結構。理解.net framework 的基本概念 了解 net framework 命名空間 了解c 程式的基本結構 熟悉visual 的配置 熟悉如何建立乙個控制台應用程 實驗內容 編寫第乙個控制台的輸入與輸出程式 建立第乙個win...

《C語言》實驗指導書

實驗一 tc整合環境的使用 一 實驗目的 1 熟悉c語言的整合除錯環境tc2.0的使用,學習編輯 執行c語言程式的基本方法。2 進一步認識程式的兩種型別的錯誤對程式執行的影響,加深對程式除錯及測試重要性的認識。3 認識c語言程式的結構特點,學習程式的基本編寫方法 二 實驗內容 1 tc 2.0整合環...