前 言
計算機技術的不斷發展和計算機應用的日益普及,對當前高等院校計算機通識教育課程提出了更高的要求。如何在計算機基礎課中切實提高學生的信息科學素養,培養學生的計算思維,引導學生的實踐創新能力,是所有計算機基礎教育工作者深思的問題。“紙上得來終覺淺,覺知此事要躬行”。多年的教育教習實踐告訴我們:作為一門實踐性很強的工科課程,計算機基礎課程的實驗環節對課程的成敗有著舉足輕重的影響。
本教程正是面向計算機通識教育基礎課的實驗環節而編寫。是對一般高校《C程序設計》和《計算機應用基礎》兩門課進行有機整合設計后而編寫的全新體系的實驗指導教材。教材對于課程,如兵器之于戰斗。
本教程分為計算機應用基礎篇和C語言程序設計篇。計算機應用基礎篇分為數據處理與呈現, 圖像處理與設計。兩部分各自以翔實有趣的教學案例,介紹了幾種最新版本的工具軟件的使用方法和應用技巧,并配以相應的拓展練習供學生一展身手。
C語言程序設計篇是本教程的重點,共分為三個模塊:
第一模塊介紹了多種編譯環境開發C程序的方法。該模塊對當前幾個比較實用的C語言編譯器予以介紹,講解了在不同的開發環境下C程序從編輯、編譯,到運行、調試的一般過程,利于學生根據自己的實際情況靈活選取不同的編譯環境。
第二模塊為C語言基礎實驗指導,該部分精心設計了一定數量的C語言上機習題和數據結構實驗的設計。題型靈活,富有趣味,以樣例探討、火眼金睛、無中生有、樂在其中、二級實戰、拓展訓練等多種形式展現,涵蓋了C語言各章的知識重點,讓學生對數據結構知識有所深化,并向C語言的難點問題進階。題目選取、題目提示、題目講解獨具匠心,遵循啟發式教學的理念,既考慮了無紙化計算機等級考試的需要,又尤其注重潛移默化地培養學生的計算思維。
第三模塊是拓展實驗。該模塊以四個引人入勝的游戲程序案例的設計和實現,揭開了復雜C程序設計的面紗,讓學生在游戲開發過程中提高學習興趣。以此豐富課程內涵,拓展課程外延,提升學生的科學素養,使課程有更廣泛的適應性。
總體上,本教程設計層次分明,循序漸進、逐層深入。適合多專業、各種不同水平的初學者,可滿足大學新生從入門到高級演練的實踐需要。
所以,在教材使用上,教師可根據學生實際情況,適當靈活安排實驗內容。以32學時實驗課為例,參考學時如下表:
內容
專業類別 計算機應用基礎篇 C語言程序設計篇
數據處理與呈現 圖像處理與設計 基礎實驗 拓展實驗
理學 2 28 2
工學 2 28 2
經管 4 2 26
此外,根據具體專業不同,也可在細節實驗內容的選擇上有所不同。例如,考慮專業特色,偏電信、光電類的專業,基礎實驗部分建議上2學時的位運算,偏數學類的專業,可在基礎實驗部分中側重選擇如多項式求導、圖形輸出等類型題目。
全書由翟宏宇統稿,總體規劃。其中第一章、第二章由嚴冬梅編寫,第三章由邵楨編寫,第四章由孫仿、李海蘭編寫,第五章由翟宏宇、苑麗紅編寫,另外,參與資料整理工作的還有徐春鳳、劉丹、韓成、陳其航、陸錦壯、祝亞兵、趙璘。編寫者結合多年的教學經驗,并對計算機基礎課程現狀進行了大量的調查分析,力求編寫一本知識體系全面、題目內容難易并重、實用性強的實驗教材。
本書內容豐富,在課程學時內未能統一訓練的章節內容,提倡學生根據自主學習,培養工程實踐能力,開闊視角與思維。希望本書為高校非計算機專業的計算機基礎教學提供有益的幫助,也希望廣大讀者提出寶貴意見。
翟宏宇,長春理工大學計算機科學與技術學士、碩士,吉林大學計算數學博士。長春從事計算機專業基礎課程的教學與研究工作,中國計算機學會YOCSEF長春副主席,發表論文多篇,出現著作多部。
目 錄
第1章 數據處理與呈現(Office 2016) 2
1.1 文字處理與文檔編排 2
1.2 數據處理與圖表制作 5
1.3 演示文稿制作 10
第2章 圖像處理與設計(Photoshop CS6) 19
第3章 C語言多種開發環境的編譯與調試 28
3.1 Microsoft Visual C++ 6.0 28
3.1.1 Microsoft Visual C++ 6.0的相關概念 28
3.1.2 Microsoft Visual C++ 6.0的編譯和簡單調試 28
3.1.3 單步調試 32
3.1.4 斷點設置 34
3.2 Visual Studio 36
3.3 Dev-C++ 38
3.4 Code::Blocks 40
3.4.1 .c程序的編輯與運行 40
3.4.2 .cpp程序的編輯與運行 43
第4章 基礎實驗 45
4.1 順序結構 45
4.1.1 格式化輸入與輸出 45
4.1.2 運算符與表達式的使用 48
4.2 選擇結構 54
4.3 循環結構 62
4.3.1 基本循環 62
4.3.2 循環嵌套 71
4.4 函數 80
4.4.1 基本函數的使用 80
4.4.2 復雜函數 87
4.5 數組 93
4.5.1 一維數組 93
4.5.2 二維數組和字符數組 100
4.6 指針 107
4.7 結構體 116
4.8 文件 124
4.9 位運算 133
4.10 簡單的數據結構 138
4.10.1 順序表的操作與實現 138
4.10.2 鏈表的操作與實現 141
4.10.3 棧的操作與實現 145
4.10.4 隊列的操作與實現 147
第5章 拓展實驗 152
5.1 兩個實用的技術代碼 152
5.2 迷宮游戲 154
5.2.1 構思框架 154
5.2.2 代碼設計 154
5.3 貪吃蛇游戲 165
5.3.1 構思框架 165
5.3.2 代碼設計 165
5.4 推箱子游戲 185
5.4.1 構思框架 185
5.4.2 代碼設計 186
5.5 掃雷游戲 205
5.5.1 構思框架 205
5.5.2 代碼設計 209
參考文獻 228