
高級語言程序設計培訓
01
緒論與程序初步
1. 學習使用程序設計語言解決“雞兔同籠”問題,從而理解程序、算法、PAD等基本概念,掌握程序執行的具體過程;其中重點掌握組成算法的基本要素和有效算法的特點。2. 通過“求綠化帶寬度”問題,學習簡單(順序)程序設計方法,記憶并理解程序構成的基本符號。3. 經過學習,能夠仿照例題代碼編寫并運行 “Hello World”程序。4. 此部分對應主講教材的第一章和第二章2.1~2.2。
1.2 算法
1.3 程序
2.1 求綠化帶寬度——簡單程序
2.2 基本符號
02
順序程序設計
1. 詳解“求綠化帶寬度”程序,理解掌握常量、變量、語句、表達式、數據類型、輸入輸出和順序控制結構等基本概念,并能在程序中識別出來。2. 經過學習,能夠自主編寫出簡單程序,如“計算平均值”、“求點到直線距離”等。3. 此部分對應主講教材第二章2.3~2.7。
2.3 數據
2.4 語句
2.5 表達式
2.6 順序控制結構
2.7 數據類型
2.8 輸入輸出
03
分支和循環初步
1. 以“判斷成績是否合格”引入并學習分支程序設計思想,理解并能識別出雙分支、單分支、多分支語句;重點掌握分支結構執行過程,能將文字描述抽象為邏輯表達式。2. 以“計算個人平均分”引入循環程序設計思想。理解并能識別出循環三要素:循環條件、循環體和循環方式;能使用while循環、do-while循環和for循環語句編寫程序。3. 經過學習(1)能自主編寫如“判斷成績績點”等分支程序;(2)能自主編寫如“簡單序列求和”等單層循環程序。4. 此部分對應主講教材第三章和第四章4.1。
3.1 判斷成績是否及格——雙分支程序設計
3.2 成績加上獲獎信息——單分支程序設計
3.3 邏輯判斷——布爾類型
3.4 獲獎分等級——多分支程序設計
4.1 計算平均成績——循環程序設計
04
循環進階
1. 以“計算全班每人平均成績”引入并學習多重循環程序設計思想,能識別并正確分析多重循環中具體循環語句、和其執行過程;能靈活使用while、do-while、for語句進行嵌套,寫出多重循環程序。2. 經過學習,能自主編寫程序解決如“不同進制正整數間翻譯”、“百雞百錢”等問題。3. 此部分對應主講教材第四章4.2~4.3。
4.2 計算全班每人平均成績——多重循環
4.3 程序設計實例
編程題--拓展篇(不計入成績)
05
函數與數組初步
1. 以“求三角形重心”問題引入并學習模塊化程序設計思想,即函數概念。能夠識別代碼中函數的定義和使用,并能說明其間聯系;理解模塊化程序設計思想將“做什么”和“怎么做”分開的本質。2. 以“統計成績分布”問題引入數組,實現批量數據組織。理解構成數組的三要素:基礎類型、構造方法和元素訪問方式;能夠識別實際生活中的批量數據,并使用數組對其抽象,進而實現其上存取操作。3. 經過學習(1)能自主編寫由多個函數構成的模塊化程序,如“求三角形內心”的程序;(2)能自主編寫批量數據操作程序,如“求解向量內積”。4. 此部分對應主講教材第五章和第六章6.1~6.3。
5.2 函數
6.1 成績統計——數組類型
6.2 統計多科成績——多維數組
6.3 程序設計實例
06
數組應用
1. 能夠解釋計算機中排序與檢索的概念和意義。2. 能夠理解主元排序、冒泡排序、插入排序、順序檢索和對半檢索算法的思想,并能獨立寫出實現這些算法的程序。3. 能夠識別字符串,并能用字符型數組操作字符串。4. 經過學習,(1)能自主編寫具有排序或檢索功能的程序,如“索引數組排序”等;(2)能自主編寫對字符數組操作的程序,如“查找回文字”等。5. 此部分對應主講教材第六章6.4~6.5。
6.4 線性表——排序與檢索
6.5 帶學號的成績排序——數組初值
6.6 表示姓名——字符串
編程題--拓展篇(不計入成績)
07
數組進階與指針初步
1. 能夠定義自己的類型。2. 能夠理解棧和隊列的概念,并使用數組實現,且用它們分析解決實際問題。3. 理解指針的基本概念,正確描述指針與變量、指針與所指變量、指針與地址之間的區別與聯系。4. 經過學習,能自主編寫程序解決:如“括號配對”、“算術表達式計算”等問題。5. 此部分對應主講教材第第六章6.7~6.8和第七章7.1~7.2。
6.7 類型定義
6.8 線性表——棧和隊列
7.1 指針與變量
08
指針應用與結構體
1. 能夠說明指針與數組之間區別與聯系,尤其是使用指針操作變量字符串與常量字符串的區別和聯系。2. 以“成績單管理”引入并學習結構體的基本概念;能夠將日常生活中的表單信息抽象為結構體并行操作。3. 經過學習,(1)能夠自主編寫程序,使用恰當的指針成分操作各種類型數組,如“多維數組排序”、“字符串插入”等;(2)能夠自主編寫程序使用結構體組織表單數據,對其進行增、刪、改、查等操作。 4. 此部分對應主講教材第七章7.3~7.6和第八章。
7.2 指針操作
7.3 指針與數組
7.4 指針與字符串
8.1 成績單管理
8.2 保存成績單——結構體
8.3 程序設計實例
編程題--拓展篇(不計入成績)
09
函數進階與遞歸程序設計
1. 以“可交換變量值的函數”引入并學習指針作為函數參數的基本概念,重點掌握C語言函數參數傳遞規則;能編寫使用指針、結構體作為參數或返回值的函數。2. 以“階乘函數”引入并學習遞歸程序設計思想,能夠理解并解釋遞歸概念;通過分析“漢諾塔”問題求解,掌握遞歸要素:遞歸出口和遞歸過程,理解遞歸程序執行過程,進而使用遞歸思想分析實際問題。3. 經過學習,(1)能夠自主編寫程序,使用指針參數回帶多個返回值的方式,解決如“求直線方程系數”等問題;(2)能夠自主編寫程序,使用遞歸思想解決,如“順序檢索”、“Ackerman函數”等問題。4. 此部分對應主講教材第九章9.1~9.2和第十章 10.1~10.3。
9.1 參數
9.2 函數值
10.1 遞歸程序設計
10.2 程序設計實例
編程題--拓展篇(不計入成績)
10
文件
1. 以“戶口管理的實際問題”引入并學習C語言的文件,理解文件基本概念(文件名、文件指針、讀寫指針等)并能正確使用C語言提供的文件操作函數(文件打開關閉和不同方式讀寫)進行磁盤數據操作。2. 經過學習,能夠自主編寫“操作磁盤數據”的程序解決實際問題,如“文件拷貝”、“磁盤讀寫數據”等。3. 此部分對應主講教材第11章11.1~11.4 。
11.1 戶籍管理
11.2 文件概述
11.3 文件打開關閉
11.4 文件IO操作
11
程序開發和動態變量
1. 以“驗證三角形內心定理” 程序引入并學習“自頂向下、逐步求精的程序設計方法”;使用此方法分析問題;保證求解過程符合結構化程序設計原則,并編寫出具有良好風格的代碼。2. 以“數據實時排序”問題引入并學習動態變量;掌握動態變量聲明、使用、刪除方法。3. 此部分內容對應主講教材第十二章12.1~12.3和第十三章13.1~13.2。
12.1 自頂向下逐步求精
12.2 結構化程序設計原則
12.3 程序風格
13.1 保存實數序列——動態數據結構
13.2 動態變量
12
動態變量應用——鏈表
1. 理解鏈表概念,并使用動態變量建立鏈表,對其進行實時操作。2. 能夠使用鏈表實現棧或隊列并操作。3. 本講是對前面所學內容的一個綜合應用,經過學習,能夠自主編寫如“鏈表元素排序”、"多項式計算"等程序;同時能夠與文件、數組、指針等結合實現小型信息管理系統的基本增刪改查功能,如“通訊錄管理”等。4. 此部分內容對應主講教材第十三章13.3~13.4。