本書通過編程基礎、程序界面設計、成績等級判定程序、單科成績統計程序、數組、函數、使用指針優化程序、結構體與共用體、文件、位操作和綜合應用11個教學項目,循序漸進地介紹了利用C語言完成順序結構程序設計、分支程序設計、循環程序設計及模塊化程序設計的過程。每個項目由知識學習技能訓練課外提升和習題4個環節構成。在技能訓練和習題部分融入了計算機等級考試(二級C)的基本內容。為了便于教與學,本書配有豐富的教學資源,包括課件、課程標準、實訓指導、習題解答和源代碼等。
本書內容通俗易懂,實用性強,不僅可以用作應用型高校電子信息類各專業C語言程序設計課程的教材,還可以用作全國計算機等級考試(二級C)復習教材和參考書。
C語言是現代*流行的通用程序設計語言之一,是軟件人員必須掌握的基礎語言,也是理工科專業學習和研究活動的*語言。本書依據應用型高校教學改革和精品資源共享課課程建設的需要編寫,通過編程基礎、程序界面設計、成績等級判定程序及模塊化程序設計的過程組織內容,每個項目由知識學習技能訓練課外提升和習題四個環節組成。在技能訓練和習題部分融入了計算機等級考試(二級C)的內容。本書的特點包括:通過典型案例和綜合應用中的一個真實項目,實現C語言程序設計知識的的學習和技能訓練;以學習案例作為整個教學內容的編寫線索,在重視技能訓練的同時兼顧理論知識的學習;本書配有豐富的教學資源。
前言
C語言是現代最流行的通用程序設計語言之一。它既具有高級程序設計語言的優點,又具有低級程序設計語言的特點;既可以用來編寫系統程序,又可以用來編寫應用程序。C語言是目前國內外廣泛使用的計算機程序設計語言,是軟件開發人員必須掌握的基礎語言,也是理工科專業學習和研究活動的首選語言。20世紀80年代以后,國際高等教育界逐漸形成一股潮流,那就是普遍重視實踐教學,強化應用型人才培養。國內高校近年來紛紛地在教育教學改革的探索中注重強化實踐環境,因為人們越來越清醒地認識到,實踐教學是培養學生實踐能力和創新能力的重要環節,也是提高學生社會職業素養和就業競爭力的重要途徑。隨著應用型高等教育的快速發展,對于C語言程序設計課程來說,迫切需要一套適合應用型高校教育教學改革,重視實踐,強化應用,符合應用型高校學生學習特點的教材。本書依據應用型高校教學改革和精品資源共享課程建設的需要,根據應用型高校學生學習特點和認知規律,由在教學一線多年從事程序設計課程教學和教育研究的教師編寫而成。在編寫過程中,課題組教師將長期積累的教學經驗和體會融入知識系統中,力求做到通俗易懂。在內容編排上,采用案例驅動模式,通過由基礎學習案例到技能訓練案例的講授、實現,將C語言基礎知識和編程技能以及計算思維方法,根據程序開發的需要重新選取、序化,并將全國計算機等級考試大綱的內容融入其中,實現了將知識學習和技能訓練融為一體,將知識傳授轉變為學生更愿意接受的做任務、項目的過程。本書以培養學生的實際編程能力為基本目標。學生經過一學期的系統訓練后,能基本掌握C程序設計語言的編程思想、思維方法;能應用C語言獨立編寫簡單的程序;能應用C常用函數編寫程序界面;能應用C語言中的數組、函數、指針、結構體、位運算和文件,編寫高質量的程序;使學生遵循程序設計規范,養成良好的程序設計習慣。在整個教學過程中,采用VC 6.0作為實訓環境,強調培養學生動手實踐能力,掌握調試程序的方法,通過調試理解C語言程序運行的過程以及C語言的語法規則,為后續的課程學習、計算機等級考試及其他應用做好充分的準備。本書的突出特點包括: 通過典型案例和綜合應用中的一個真實項目,實現C語言程序設計知識的學習和技能的訓練;針對重視實踐、強化應用的教學要求,以學習案例作為整個教學內容的編寫線索,在重視學生技能訓練的同時,兼顧其對理論知識的需求;通過課外提升部分的內容,既方便教師因材施教,也方便學生查閱相關內容。本書始終以重視實踐、強化應用為導向,在案例講解過程中,突出問題的解決過程,引導學生遵循分析問題設計算法編寫代碼的步驟,學習程序設計的方法和技巧,突出實際的編程能力。在習題的設計上,不僅滿足等級考試的需求,而且強化實踐動手的能力。本書內容通俗易懂,由淺入深,突出重點,重在應用,不僅可作為應用型高校C語言程序設計課程的教材,還可作為備考全國計算機等級考試(二級C)的教材和參考書。本書由張俊林主編,李清霞、林顯寧、江濤、宗維玉任副主編。項目1、項目2和項目7由張俊林編寫,項目3和項目4由林顯寧編寫,項目5和項目6由江濤編寫,項目9、項目10和項目11由李清霞編寫,項目8由宗維玉編寫。由于編者水平有限,本書難免存在不當之處,懇請廣大讀者和專家批評指正。本書在編寫和出版的過程中,得到了清華大學出版社和編者所在學校的大力支持及幫助,在此表示誠摯的感謝。本書在編寫過程中參考了相關書籍和文獻,還引用了一些網絡資料,在此對所參考、引用資料的作者和機構表示衷心的感謝!
編者2017年1月
目錄
項目1編程基礎1
知識學習1
1.1認識C語言2
1.2C語言程序開發過程7
1.3基本數據類型7
1.4運算符和表達式18
技能訓練25
課外提升29
總結37
習題37
項目2程序界面設計順序結構程序設計41
知識學習41
2.1算法基礎42
2.2C語言基本語句45
2.3格式輸入/輸出函數48
2.4字符輸入/輸出函數57
2.5順序結構程序設計59
技能訓練61
課外提升65
總結71
習題72
項目3成績等級判定程序分支程序設計77
知識學習77
3.1if語句78
3.2switch語句82
技能訓練83
課外提升863.3分支程序應用86
總結88
習題89
項目4單科成績統計程序循環程序設計93
知識學習93
4.1while語句94
4.2dowhile語句95
4.3for語句96
4.4循環嵌套97
4.5continue語句和break語句99
技能訓練100
課外提升102
4.6goto語句102
總結103
習題104
項目5數組109
知識學習109
5.1一維數組110
5.2二維數組114
5.3字符數組119
5.4字符串處理124
技能訓練128
課外提升137
總結140
習題141
項目6函數模塊化程序設計147
知識學習147
6.1函數概述149
6.2函數的定義151
6.3函數的調用153
6.4函數的參數157
6.5嵌套調用和遞歸調用159
6.6局部變量和全局變量162
6.7變量的存儲類別166
6.8內部函數和外部函數169
技能訓練171
課外提升178
總結185
習題185
項目7使用指針優化程序195
知識學習195
7.1指針195
7.2指針與數組200
7.3字符串與指針207
7.4函數與指針209
技能訓練213
課外提升217
總結224
習題224
項目8結構體與共用體226
知識學習226
8.1結構體227
8.2結構體變量228
8.3結構體數組231
8.4結構體與指針234
技能訓練236
課外提升238
總結240
習題241
項目9文件243
知識學習243
9.1文件概述245
9.2文件指針246
9.3文件的打開和關閉247
9.4文件的讀/寫248
技能訓練253
課外提升255
總結257
習題259
項目10位操作263
知識學習263
10.1位運算符263
技能訓練266
課外提升268
10.2位域268
總結270
習題271
項目11綜合應用273
11.1主菜單的顯示274
11.2各功能模塊的實現276
附錄AASCII碼對照表284
附錄B運算符優先級及結合性285
附錄CC語言常用庫函數287
附錄DC語言編譯錯誤信息292
參考文獻298