《C語言程序設計項目式教程》05 學生成績統計寫字字帖_第1頁
《C語言程序設計項目式教程》05 學生成績統計寫字字帖_第2頁
《C語言程序設計項目式教程》05 學生成績統計寫字字帖_第3頁
《C語言程序設計項目式教程》05 學生成績統計寫字字帖_第4頁
《C語言程序設計項目式教程》05 學生成績統計寫字字帖_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章第四章目學生成績統計項五學習目標了解逗號運算的原理和應用。掌握指針的原理機制、定義和實現技巧。掌握下標法表示數組元素與指針法表示數組元素的區別和實現技巧。掌握枚舉型數據的原理機制、定義和實現技巧。具有基本的程序測試與調試的能力學習路徑任務一計算學生課程總評成績逗號運算逗號運算是C語言提供的一種特殊運算符,用“,”將表達式連接起來的式子稱為逗號表達式。逗號表達式的一般格式如下:表達式1,表達式2,……,表達式n;指針(1)指針的概念指針是一種專門用于存放數據內存地址的數據類型。計算機內存是由連續的存儲單元(通常稱為字節)組成,不同的數據類型所占用的存儲單元數不同,例如整型數據占2個單元,字符型數據占1個單元等。每個存儲單元有一個唯一的編號,這就是內存“地址”,指針可以根據一個存儲單元的地址而準確地找到該內存單元。指針(2)“直接訪問”方式“直接訪問”是一種按變量地址存取變量值的訪問方式。編譯程序將存儲單元地址與變量名聯系起來,程序引用某個變量名時,也就訪問相應的存儲單元。如圖5.2所示,使用“直接訪問”方式訪問數據。指針(3)“間接訪問”方式

“間接訪問”是一種按存儲單元中存放的數據地址間接讀寫數據的訪問方式。如圖5.2所示,訪問變量i的數值時可通過變量i_ptr進行間接訪問,編譯程序為變量i_ptr分配了地址為2000開始的存儲單元,存儲內容為1000,也就是變量i占用存儲單元的起始地址,通過這個地址就可以訪問變量i的內容數值10指針(4)指針變量的使用

指針變量和普通變量的使用方法相同,都需要先聲明和初始化再引用,才能正確對數據進行訪問,未經初始化的指針變量不能使用,否則程序會產生錯誤的結果。指針變量使用之前必須把它聲明為指針。聲明格式如下:數據類型*變量名;指針(5)指針變量的引用引用指針變量需要使用“&運算符”和“*運算符”。“&運算符”是取地址運算符,可以實現取出變量的地址,在scanf()函數中,已經了解并使用過“&運算符”;“*運算符”是指針運算符,表示指針變量所指向的變量,需要注意指針運算符*和指針變量聲明中的指針說明符*不同,表達式中運算符*表示指針變量所指的變量,指針變量聲明中“*”是類型說明符,表示變量是指針類型指針與數組(1)指針與數組的關系假設已經聲明整型數組a[10],數組名a表示該數組在內存的起始地址,也就是即第一個元素a[0]的地址&a[0]。則聲明一個指向數組元素的指針變量如圖指針與數組(2)指針訪問數組一維數組的存儲結構是線性的,在內存中占用一片連續的存儲單元。若聲明了指向數組的指針,將該指針指向數組的第一個元素,通過移動指針可以存取數組的每一個元素。任務二計算班級課程及格率、最高分和最低分指針變量作為函數參數使用指針做函數參時需注意以下3點要求:指針變量,既可以作為函數的形參,也可以作實參。做形參時被調用函數的定義和聲明必須指出參數類型是指針而不是數值;指針變量作實參時,與普通變量一樣,也是“單向值傳遞”,即將指針變量的值(地址)傳遞給被調用函數的形參(一個指針變量);被調用函數不能改變實參指針變量的值,但可通過形參指針變量改變它們所指向的變量的值任務三統計平時成績、期末成績和總評成績各分數段人數枚舉類型在C語言中,枚舉類型是一種構造數據類型,它用于聲明一組命名的常數,當一個變量有幾種可能的取值時,可以將它定義為枚舉類型。例如人的性別只有兩種取值,星期只有七種取值等。

定義枚舉類型的格式如下:enum

枚舉類型名{值列表};任務四按總評成績為全班學生排序排序算法(1)插入排序

插入排序就是假設已經有一個排好序的數字列,現在要把一個新數插入其中,使數列依然保持排序狀態。具體算法可描述為以下6步:第一步:從第一個元素開始,該元素可以認為已經被排序;第二步:取出下一個元素,在已經排序的元素序列中從后向前掃描;第三步:如果該元素(已排序)大于新元素,將該元素移到下一位置;第四步:重復步驟3,直到找到已排序的元素小于或者等于新元素的位置;第五步:將新元素插入到該位置后,第六步:重復步驟2~5。排序算法(2)插入排序

冒泡排序是一種簡單直觀的排序算法,這種方法主要是通過對相鄰兩個元素進行大小的比較,根據比較結果和算法規則對這兩個元素的位置進行交換,這樣逐個依次進行比較和交換,就能達到排序目的。具體算法可描述為以下4步:第一步:比較相鄰的元素。如果第一個比第二個大,就交換它們兩個;第二步:對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。遍歷結束后,最后的元素應該會是當前最大的數;第三步:針對所有的元素重復以上的步驟,除了最后一個;第四步:持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。排序算法(3)選擇排序

選擇排序是對定位比較交換法(也就是冒泡排序法)的一種改進。它的基本思想是:每一次在n-i+1(i=1,2,…n-1)個數中選取最小值作為有序序列中第i

個記錄。具體算法可描述為以下3步:第一步:第1次遍歷,在待排序的n個數中選出最小值,將它與第一個數交換;第二步:第2次遍歷,在待排序的n-1個數中選出最小值,將它與第二個數交換,以此類推;第三步:第i

次遍歷,在待排序的n-i

個數中選出最小值,將它與第i

個數交換,使有序序列不斷增長直到全部排序完畢。任務五班級成績報表可視化程序測調(1)程序測試程序測試過程包括兩個階段,一是人工測試;二是基于計算機的測試。人工測試是一種高效的錯誤檢測過程,依照常見錯誤列表對逐條語句進行分析。除了查找錯誤之外,還要查看編程風格和算法的選擇。基于計算機的測試,就是在計算機上使用測試用例真正運行程序,然后檢查運行顯示的結果是否與測試用例的預期結果一致。運行時錯誤可能會產生運行時錯誤消息。

對于較大的程序而言,程序測試可按模塊進行,模塊測試也稱單元測試,僅在模塊范圍內進行。因為每個模塊都只完成相對獨立和單一的功能,所以測試相對簡單。所有模塊都測試之后,再進行集成測試,來查看模塊之間的數據是否匹配、傳遞是否正確等。程序測調(2)程序調試程序調試是指隔離和改正錯誤的過程。一個簡單的調試方法是在程序中放置顯示語句來顯示變量的值。它將顯示程序的動態信息,便于查看和比較執行不同語句后變量的變化,從而確定出錯的語句。一旦確定出錯位置并改正錯誤后,就可把調試語句去掉。或者使用C語言集成開發環境中提供的單步運行功能也可。另外兩種程序調試方法,一種是使用推導過程,利用排除和細化過程來確定錯誤位置;另一種錯誤定位法是順著程序的邏輯回推不正確結果,直到找到錯誤位置。常用簡單程序調試方法如下:通過觀察循環中的變量分析程序,如使用Alt+B,可設置需觀察的變量;使用printf(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論