
C程序設計培訓
01
第1講 了解計算機的工作原理
了解計算機的基本工作原理、體系結構
1.計算機系統的組成、用途各異的計算機
2.指令與計算機程序、計算機中的數
課后測驗:了解計算機的工作原理
02
第2講 信息在計算機中的表示
了解計算機中信息的表示和存儲方法
1.進制數的轉換
2.數值數據、字符數據、其他數據的表示與存儲
課后測驗:信息在計算機中的表示
03
第3講 編程的理論基礎
了解程序語言、算法、程序設計的概念和特點
1.程序語言、計算機問題求解的基本特點
2.計算機算法及其表示、程序設計技術
課后測驗:編程的理論基礎
04
第4講 編寫第一個C程序
掌握C程序的基本語法、結構和開發步驟
1.C語言的歷史、C語言基本詞法、編寫第1個C程序
2.編寫簡單的程序、C程序基本結構、開發步驟、編碼風格
課后測驗:編寫第一個C程序
05
第5講 將簡單數據引入C程序中
掌握C語言支持的數據類型和數據描述方法
1.數據類型、常量
2.變量、類型定義的修飾
資料片:國際大學生程序設計競賽――2014西安賽區:歡迎
資料片:國際大學生程序設計競賽――競賽規則
課后測驗:將簡單數據引入C程序中
06
第6講 數值數據的運算與處理
掌握數值型數據的運算
1.運算符與表達式、算術運算
2.自增自減運算、位運算
課后測驗:數值數據的運算和處理
07
第7講 邏輯數據的運算與處理
掌握邏輯型數據的運算
1.關系運算、邏輯運算
2.用布爾代數簡化邏輯式子、條件運算、其他運算、常量表達式
課后測驗:邏輯數據的運算和處理
08
第8講 賦值和類型轉換
掌握賦值運算符的使用、混合運算以類型轉換的規則
1.賦值運算符、隱式類型轉換
2.混合運算的風險控制、顯式類型轉換
資料片:AlphaGo
課后測驗:賦值與類型轉換
09
第9講 編寫程序語句
掌握簡單的輸入輸出實現getchar以及putchar函數
1.編寫簡單語句、復合語句、注釋,語句的寫法
2.編程實現單個字符輸入輸出
資料片:那些年的編程快手們――用代碼將夢想照進現實
課后測驗:編寫程序語句
10
第10講 編程實現簡單數據的輸出
掌握輸入函數printf函數的使用以及常見的輸出格式控制
1.printf函數和輸出格式控制(1)
2.printf函數和輸出格式控制(2)
課后測驗:編程實現簡單數據的輸出
11
第11講 編程實現簡單數據的輸入
掌握輸入函數scanf函數的使用以及常見的輸入格式控制
1.scanf函數和輸入格式控制(1)
2.scanf函數和輸入格式控制(2)
課后測驗:編程實現簡單數據的輸入
12
第12講 編程實現選擇分支
掌握順序結構和簡單選擇結構的實現
1.程序順序結構和跳轉結構
2.程序選擇結構
課后測驗:編程實現選擇分支
13
第13講 編程實現嵌套的選擇分支
掌握復雜選擇結構的實現
1.選擇結構的嵌套
2.程序如何應用選擇結構
資料片:算法的舞蹈――冒泡排序Bubble Sort
課后測驗:編程實現嵌套的選擇分支
14
第14講 編程實現循環
掌握三種循環語句的語法和使用
1.while循環、循環三要素
2.循環不變式、do和for循環
資料片:算法的舞蹈――選擇排序Select Sort
課后測驗:編程實現循環
15
第15講 循環的終止、加快和嵌套
掌握循環的控制方法,掌握continue和break語句的語法和使用
1.終止、加快、嵌套循環
2.編寫計數型、條件型循環,循環程序時間性能分析
資料片:算法的舞蹈――插入排序Insert Sort
課后測驗:循環的終止、加快和嵌套
16
第16講 編程實現枚舉算法
掌握枚舉、迭代和遞推等基本算法的策略及編程邏輯
1.枚舉算法策略
2.迭代算法、遞推算法
資料片:算法的舞蹈――快速排序Quick Sort
課后測驗:編程實現枚舉算法
17
第17講 調用函數-返回與參數傳遞
掌握函數的定義方法
1.函數定義語法和函數返回
2.如何設計函數參數
資料片:算法的舞蹈――歸并排序Merge Sort
課后測驗: 調用函數-返回與參數傳遞
18
第18講 調用函數-原型與聲明
掌握自定義函數以及庫函數的調用方法
1.函數聲明、原型及庫函數調用方法
2.常用庫函數和第三方函數庫使用
資料片:算法的舞蹈――希爾排序Shell Sort
課后測驗:調用函數-原型與聲明
19
第19講 調用函數-調用形式
掌握函數的嵌套和遞歸調用
1.函數調用優化,函數嵌套和遞歸調用
2.遞歸算法策略、分治算法策略
資料片:算法的天籟之音――6分鐘“聽”15種排序算法
課后測驗:調用函數-調用形式
20
第20講 設計函數-函數間的數據傳遞(1)
掌握作用域的概念規則
1.對象作用域概念
2.多模塊下的作用域設計
資料片:排序算法比較
課后測驗:設計函數-函數間的數據傳遞(1)
21
第21講 設計函數-函數間的數據傳遞(2)
掌握程序映像和對象生命期的基本概念
1.程序映像及加載
2.對象生命期設計
課后測驗:設計函數-函數間的數據傳遞(2)
22
第22講 設計函數-接口與實現分離
掌握多模塊程序的設計方法
1.對象初始化
2.多模塊下的接口設計
課后測驗:設計函數-接口與實現分離
23
第23講 編寫規模化程序
掌握多文件程序的開發方法
1.多文件程序結構與組織
2.規模化程序的工程設計
課后測驗:編寫規模化程序
24
第24講 編程任務的自動化工具
掌握預處理命令宏的定義和使用方法
1.用宏實現編程任務自動化
2.編譯器預定義宏
課后測驗:編程任務的自動化工具
25
第25講 編程任務的接口與版本控制
掌握文件包含及條件編譯預處理命令的功能和使用方法
1.文件包含
2.實現版本控制
課后測驗:編程任務的接口與版本控制
26
第26講 配置開發環境
掌握專業函數庫的配置和使用方法
1.開發環境參數與配置
2.使用第三方開發庫
27
第27講 批量數據的表示與處理
掌握數組的定義和初始化以及元素引用方法
1.一維數組
2.多維數組 課后測驗:批量數據的表示與處理
28
第28講 批量數據的遍歷與訪問
掌握數組的遍歷方法
1.數組元素的遍歷
2.矩陣運算
課后測驗:批量數據的遍歷與訪問
29
第29講 函數之間實現批量數據傳遞
掌握函數之間傳遞數組的方法
1.幻方編程
2.傳遞數組參數
課后測驗:函數之間實現批量數據傳遞
30
第30講 構建大數和高精度類型
掌握使用數組進行特殊數據運算的方法
1.構建大數類型
2.高精度運算和混合編程
課后測驗:構建大數和高精度類型
31
第31講 文字信息的表示與處理
掌握字符串的表示及常用處理實現
1.字符串的表示與處理
2.字符串應用
課后測驗:文字信息的表示與處理
32
第32講 實現排序算法
掌握批量數據的排序實現方法
1.實現冒泡、選擇、插入排序
2.實現快速、歸并、希爾等排序算法
課后測驗:實現排序算法
33
第33講 用空間換取時間編程方法
理解算法的時間復雜度和空間復雜度的概念;掌握基本的空間換時間的編程策略
1.實現查找算法
2.用空間換取時間編程
課后測驗:用空間換取時間編程方法
34
第34講 探究指針的本質與使用
理解指針的本質和簡單使用方法
1.指針的本質是什么?
2.使用指針
課后測驗: 探究指針的本質與使用
35
第35講 指針運用的風險控制
理解指針類型的限定以及運算規則
1.指針的有效性和風險控制
2.指針的運算規則
課后測驗:指針運用的風險控制
36
第36講 數組元素的簡潔表示
掌握使用指針訪問數組元素的方法
1.指向一維數組元素的指針
2.指向多維數組元素的指針
課后測驗:數組元素的簡潔表示
37
第37講 大批量數據的簡潔表示
掌握使用指針訪問數組的方法
1.指向數組的指針和指針數組
2.多級指針和批量數據簡潔表示
課后測驗:大批量數據的簡潔表示
38
第38講 完美實現函數之間的數據交換
掌握函數之間傳遞數組的機制和語法
1.批量文字簡潔表示
2.函數之間數據交換的高效方法
課后測驗:完美實現函數之間的數據交換
39
第39講 字符串查找與匹配
掌握字符串的常見操作
1.函數之間傳遞字符串數據
2.字符串查找與匹配算法
課后測驗:字符串查找與匹配
40
第40講 回調函數
掌握函數指針的定義和使用
1.學會用指針數據
2.學會用回調函數
課后測驗:回調函數
41
第41講 使用動態內存
掌握內存申請和釋放的常見函數
1.獲取動態內存
2.使用動態內存
課后測驗:使用動態內存
42
第42講 復雜數據在C程序中的表示
掌握結構體類型對象的定義和使用方法
1.結構體類型與對象
2.用指針簡潔表示復雜數據
課后測驗:復雜數據在C程序中的表示
43
第43講 編程使用復雜數據
了解共用類型的定義和使用方法;掌握枚舉和位域的定義和使用方法
1.共用體類型和對象
2.枚舉與位域
課后測驗:編程使用復雜數據
44
第44講 構建數據類型體系
掌握鏈表的機制和定義方法
1.構建數據類型體系
2.用鏈表表示動態“數組”
課后測驗:構建數據類型體系
45
第45講 鏈表的運算
掌握鏈表的基本操作方法
1.鏈表的運算
2.結點插入和刪除
課后測驗:用鏈表表示動態的復雜數據
46
第46講 常用算法及策略
掌握常用算法的策略及編程邏輯
1.動態規劃與貪心算法
2.圖搜索與回溯算法
47
第47講 編程操作永久性數據
掌握文件系統的基本概念,以及操作文件的常用函數
1.文件系統概念
2.操作文件
課后測驗:編程操作永久性數據
48
第48講 編程讀寫文件
掌握編程讀寫文件的方法
1.用C程序讀寫文件
2.編程處理各種格式的文件