C語言教案-第八周_第1頁
C語言教案-第八周_第2頁
C語言教案-第八周_第3頁
C語言教案-第八周_第4頁
C語言教案-第八周_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第八節(jié)第八節(jié) 數(shù)組數(shù)組 一維數(shù)組一維數(shù)組 1 通過對本節(jié)課的學(xué)習(xí) 能夠了解 掌握有關(guān)數(shù)組的相關(guān)概通過對本節(jié)課的學(xué)習(xí) 能夠了解 掌握有關(guān)數(shù)組的相關(guān)概 念及一維數(shù)組定義 初始化 引用和在程序中使用 念及一維數(shù)組定義 初始化 引用和在程序中使用 1 11 1 教學(xué)目的 教學(xué)目的 1 數(shù)組的相關(guān)概念 2 一維數(shù)組的定義 初始化 引用及應(yīng)用 1 21 2 教學(xué)內(nèi)容 教學(xué)內(nèi)容 1 概念 數(shù)組 數(shù)組元素 數(shù)組下標(biāo) 2 一維數(shù)組的定義 初始化 引用 3 一維數(shù)組在程序中的應(yīng)用 1 1 3 3 教學(xué)重點 教學(xué)重點 一維數(shù)組的定義 初始化 引用和一維數(shù)組在程序中的應(yīng)用 1 41 4 教學(xué)方法 教學(xué)方法 講授法 課件演示 1 5 學(xué)習(xí)方法 學(xué)習(xí)方法 聽課 做筆記 課后作業(yè) 1 6 學(xué)習(xí)時間學(xué)習(xí)時間 第十四周 2 回顧上一節(jié)回顧上一節(jié) 15 分鐘分鐘 1 do while 循環(huán)語句的意義 構(gòu)成及應(yīng)用 2 break continue 循環(huán)語句的意義 構(gòu)成及應(yīng)用 3 循環(huán)語句的嵌套意義及應(yīng)用 3 課程知識點講解 課程知識點講解 具體知識點具體知識點 1 數(shù)組相關(guān)概念數(shù)組相關(guān)概念 15 分鐘分鐘 1 數(shù)組 具有相同數(shù)據(jù)類型的數(shù)據(jù)的有序的集合 2 數(shù)組元素 數(shù)組中的元素 數(shù)組中的每一個數(shù)組元素具有相同的名稱 不同的下 標(biāo) 可以作為單個變量使用 所以也稱為下標(biāo)變量 在定義一個數(shù)組后 在內(nèi) 存中使用一片連續(xù)的空間依次存放數(shù)組的各個元素 3 數(shù)組的下標(biāo) 是數(shù)組元素的位置的一個索引或指示 4 數(shù)組的維數(shù) 數(shù)組元素下標(biāo)的個數(shù) 根據(jù)數(shù)組的維數(shù)可以將數(shù)組分為一維 二維 三維 多維數(shù)組 具體知識點具體知識點 2 一維數(shù)組的定義 初始化 引用一維數(shù)組的定義 初始化 引用 20 分鐘分鐘 一維數(shù)組中的各個數(shù)組元素是排成一行的一組下標(biāo)變量 用一個統(tǒng)一的數(shù)組名來標(biāo) 識 用一個下標(biāo)來指示其在數(shù)組中的位置 下標(biāo)從 0 開始 一維數(shù)組通常和一重 循環(huán)相配合 對數(shù)組元素進(jìn)行處理 引例 案例 6 1 輸入 5 個學(xué)生某門課的成績 要求按與輸入次序相反的順序輸 出 編程分析 定義 5 個變量 根據(jù)前面所學(xué)的順序結(jié)構(gòu)可以實現(xiàn)其功能 程序如下 main float s1 s2 s3 s4 s5 printf Enter five scores scanf f f f f f printf nThe score in reverse order are printf 10 2f 10 2f 10 2f 10 2f 10 2f n s5 s4 s3 s2 s1 定義一維數(shù)組的格式 定義一維數(shù)組的格式 類型說明 數(shù)組名 整型常量表達(dá)式 例如 int a 100 定義了一個數(shù)組 a 元素個數(shù)為 100 數(shù)組元素類型為整型 說明 1 數(shù)組名 按標(biāo)識符規(guī)則 本例 a 就是數(shù)組名 2 整型常量表達(dá)式 表示數(shù)組元素個數(shù) 數(shù)組的長度 可以是整型常量或符號 常量 不允許用變量 整型常量表達(dá)式在說明數(shù)組元素個數(shù)的同時也確定了數(shù)組元素下標(biāo)的范圍 下標(biāo)從 0 開始 整型常量表達(dá)式 1 注意不是 1 整型常量表達(dá)式 C 語言 不檢查數(shù)組下標(biāo)越界 但是使用時 一般不能越界使用 否則結(jié)果難以預(yù)料 覆蓋程序區(qū) 程序飛出 覆蓋數(shù)據(jù)區(qū) 數(shù)據(jù)覆蓋破壞 操作系統(tǒng)被破壞 系 統(tǒng)崩潰 本例數(shù)組元素個數(shù)是 100 個 下標(biāo)從 0 99 3 類型說明 指的是數(shù)據(jù)元素的類型 可以是基本數(shù)據(jù)類型 也可以是構(gòu)造數(shù) 據(jù)類型 類型說明確定了每個數(shù)據(jù)占用的內(nèi)存字節(jié)數(shù) 比如整型 2 字節(jié) 實 型 4 字節(jié) 雙精度 8 字節(jié) 字符 1 字節(jié) 本例數(shù)組元素是整型 每個元素占 2 個字節(jié) 因為有 100 個數(shù)組元素 所以 占用 200 字節(jié) 4 編譯程序為數(shù)組分配了一片連續(xù)的空間 C 語言還規(guī)定 數(shù)組名是數(shù)組的首地址 即 a 或 int a 1 2 3 4 5 2 對數(shù)組部分元素賦初值 此時數(shù)組長度不能省略 例如 int a 5 1 2 a 0 1 a 1 2 其余元素為編譯系統(tǒng)指定的默認(rèn)值 0 3 對數(shù)組的所有元素賦初值 0 例如 int a 5 0 注意 如果不進(jìn)行初始化 如定義 int a 5 那么數(shù)組元素的值是隨機的 不要 指望編譯系統(tǒng)為你設(shè)置為默認(rèn)值 0 數(shù)組元素的引用數(shù)組元素的引用 數(shù)組元素的引用形式 數(shù)組名 下標(biāo) 注意 數(shù)組元素引用時 下標(biāo)為整型的表達(dá)式 可以使用變量 具體知識點具體知識點 3 一維數(shù)組的應(yīng)用一維數(shù)組的應(yīng)用 30 分鐘分鐘 案例講解 案例 6 2 用數(shù)組完成案例 6 1 編程分析 引用數(shù)組處理每個學(xué)生的成績 程序如下 main int i float score 5 定義有 5 個元素的一維數(shù)組 printf Enter five scores for i 0 i 0 i printf 5 2f n score i 逆序輸出存放在每個數(shù)組元素中的數(shù)據(jù) 程序說明 1 定義數(shù)組后 系統(tǒng)在內(nèi)存中為數(shù)組分配 5 個連續(xù)的存儲單元 如圖 6 1 所示 score 圖 6 1 2 score 表示為一維數(shù)組名 數(shù)組包括 5 個元素 類型均為單精度型 數(shù)組的下標(biāo)從 0 開始 score 數(shù)組的最后一個元素為 score 4 請注意 即使數(shù)組下標(biāo)越界 運 行程序時系統(tǒng)也不報錯 3 數(shù)組元素代表一個存儲單元 可以像普通變量一樣使用 只不過數(shù)組元素用下標(biāo)形 式表示 通過循環(huán)對數(shù)組進(jìn)行輸入輸出操作極為方便 案例 6 3 定義含有 10 個元素的數(shù)組 將數(shù)組中的元素按逆序重新存放后輸出 編程分析 逆序輸出和逆序存放是兩個不同的操作 逆序輸出 如案例 6 2 只是由后 向前依次輸出數(shù)組元素的值 而不改變數(shù)組元素的值 逆序存放則是將數(shù) 組最后一個元素的值放到第一個元素中 倒數(shù)第二個元素中的值放置第二 個元素中 第一個元素的值放到最后一個元素中 數(shù)組元素的值發(fā)生了 變化 本題可以采用如下算法 開辟與原數(shù)組相同大小的 b 數(shù)組 按逆序存 放方式將原數(shù)組 a 的值賦給數(shù)組 b 如圖 6 2 最后再將 b 數(shù)組的值按順 序依次賦給 a 數(shù)組 案例 6 4 從鍵盤輸入 15 個整數(shù) 并檢查整數(shù) 10 是否包含在這些數(shù)據(jù)中 若是的話 它是第幾個被輸入的 編程分析 用循環(huán)語句給 15 個數(shù)組元素賦值 逐個判斷每個元素的值是否等于 10 若等于 10 說明 10 包含在這些數(shù)據(jù)中 循環(huán)體執(zhí)行第幾次便是第幾個被 輸入的 若不等于 10 則不包含 案例 6 5 求 10 個整數(shù)的最大值與最小值 10 個數(shù)用數(shù)組描述 score 0 score 1 score 2 score 3 score 4 編程分析 用 for 循環(huán)輸入 10 個整數(shù) a 先令 max min x 0 b 依次用 x i 和 max min 比較 用循環(huán)結(jié)構(gòu) 若 maxx i 令 min x i 輸出 max 和 min 案例 6 6 求某班 50 個學(xué)生 C 語言課程的平均成績及每個學(xué)生與平均成績之差 編程分析 用for 循環(huán)輸入 50 個學(xué)生的成績 求出平均成績 用 for 循環(huán)輸出 50 個學(xué) 生的成績及與平均成績之差 4 本節(jié)總結(jié)本節(jié)總結(jié) 10 分鐘分鐘 學(xué)生問題匯總 學(xué)生問題匯總 問題 1 數(shù)組的起始下標(biāo) 問題

溫馨提示

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

評論

0/150

提交評論