複製鏈接
請複製以下鏈接發送給好友

c程序設計

(西北工業大學提供的慕課)

鎖定
c程序設計是西北工業大學於2015年10月8日首次在中國大學MOOC開設的慕課課程、國家精品課程。該課程授課教師為姜學鋒、劉君瑞、張秀偉、汪芳、周果清、魏英等。據2020年9月中國大學MOOC官網顯示,該課程已開課11次。 [1-2] 
該課程共48講,包括瞭解計算機的工作原理、信息在計算機中的表示、編程的理論基礎、將簡單數據引入C程序中、數值數據的運算與處理、編寫程序語句、編程實現嵌套的選擇分支、循環的終止、加快和嵌套、回調函數、編程使用複雜數據、編程操作永久性數據等內容。 [1] 
中文名
c程序設計
類    別
慕課、國家精品課
提供院校
西北工業大學
授課平台
中國大學MOOC
開課時間
2015年10月8日(首次)
授課教師
姜學鋒、劉君瑞、張秀偉、汪芳、周果清、魏英等

c程序設計課程性質

c程序設計課程定位

c程序設計課程是大學計算機教育的核心課程,它既是各類專業技術的應用基礎,又是各種實踐環節的軟件工具,更是課程設計、學科競賽、畢業設計、創新創業、創客科技等活動的重要平台。程序編程能力不僅是學習者進一步專業深造的潛力體現,也是創新人才的重要指標。 [1] 

c程序設計適應對象

c程序設計課程適用社會學習者和本科生學習。 [1] 

c程序設計開課信息

開課次數
開課時間
授課教師
學時安排
參與人數
第1次開課
2015年10月08日~2015年12月31日
姜學鋒、劉君瑞、魏英、張秀偉
3-5小時每週
14067
第2次開課
2016年03月07日~2016年07月31日
4小時每週
10439
第3次開課
2016年10月08日~2017年01月14日
姜學鋒
8665
第4次開課
2017年02月20日~2017年05月31日
12176
第5次開課
2017年09月25日~2017年12月31日
姜學鋒、劉君瑞、劉君瑞、張秀偉、魏英、周果清
5小時每週
4863
第6次開課
2018年02月26日~2018年05月31日
姜學鋒、劉君瑞、張秀偉
4小時每週
8608
第7次開課
2018年09月01日~2019年01月08日
姜學鋒、劉君瑞、劉君瑞、張秀偉、魏英、周果清
10399
第8次開課
2019年02月25日~2019年06月09日
6184
第9次開課
2019年09月01日~2019年12月31日
7286
第10次開課
2020年02月20日~2020年07月01日
姜學鋒、劉君瑞、張秀偉
4512
第11次開課
2020年08月24日~2021年01月09日
姜學鋒、劉君瑞、張秀偉、汪芳、周果清、魏英
待定
注:表格內容參考資料 [1-11] 

c程序設計課程簡介

該課程共48講,分別講述了計算機的基本工作原理、體系結構;計算機中信息的表示和存儲方法;程序語言、算法、程序設計的概念和特點;C程序的基本語法、結構和開發步驟;C語言支持的數據類型和數據描述方法;數值型數據的運算;邏輯型數據的運算;賦值運算符的使用、混合運算以類型轉換的規則;輸入函數scanf函數的使用以及常見的輸入格式控制;函數的嵌套和遞歸調用;文件系統的基本概念,以及操作文件的常用函數等知識。 [1] 

c程序設計課程大綱

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

c程序設計課前預備

c程序設計預備知識

學習c程序設計課程需預備計算機導論或者大學計算機基礎知識,並且瞭解計算機的發展過程,理解計算機系統的構成和基本工作原理,並能夠操作計算機及通過互聯網獲取信息資源。 [1] 

c程序設計學習資料

c程序設計課程的學習資料為《C程序設計》《C程序設計實驗教程》《C程序設計習題與解析》。 [1] 
書名
作者
ISBN
出版時間
出版社
《C程序設計》
姜學鋒、曹光前
9787302280118
2012年
《C程序設計實驗教程》
姜學鋒、魏英
9787302249436
2011年
《C程序設計習題與解析》
姜學鋒、劉君瑞、汪芳
9787302249429
2011年
(注:表格內容參考資料 [1] 

c程序設計授課目標

1、理解算法的時間複雜度和空間複雜度的概念,掌握基本的空間換時間的編程策略。
2、理解指針的本質和簡單使用方法。
3、掌握使用指針訪問數組元素的方法。
4、瞭解共用類型的定義和使用方法;掌握枚舉和位域的定義和使用方法。
5、掌握文件系統的基本概念,以及操作文件的常用函數。
6、能表示數據和實現計算,將“數據表示”和“程序實現”作為學習程序語言的兩條主線索。 [1] 
“雙線索”學習圖 “雙線索”學習圖

c程序設計教師簡介

該課程授課教師均來自西北工業大學,其中姜學鋒劉君瑞、張秀偉、汪芳、周果清、魏英均為副教授。 [12] 
參考資料
展開全部 收起