圖書主要包括C程序開發(fā)環(huán)境、選擇結構、循環(huán)結構、數(shù)組、函數(shù)、指針、結構體、文件等相關內(nèi)容的實驗指導,通過實驗目的分析、相關知識簡介、實驗內(nèi)容描述、實驗案例分析演示、實驗任務發(fā)布與提示等,幫助學生完成相關內(nèi)容的遞進學習,讓學生能讀懂、復現(xiàn)、模仿、設計相關程序,并能有適度的知識遷移和思維拓展。本書案例主要來自于生產(chǎn)生活實際,圖書還穿插服務意識、工匠精神、愛國情懷及職業(yè)操守等內(nèi)容,將思政元素融入實驗指導。本書適合高校理工科學生初次接觸編程學習者使用,也適合程序設計愛好者自學。
每章配套實踐任務與范例講解,強調(diào)能力漸進提升。提供教學大綱、教學課件、程序源碼、微課視頻。
本書是一本旨在幫助讀者系統(tǒng)提升C語言編程實踐能力的教材。在掌握C語言語法規(guī)則的基礎上,需要通過反復的實踐訓練,才能有效提高基礎知識的綜合運用能力和程序設計技能。本書通過實例指導和實踐訓練,循序漸進地引導讀者提升C語言的實際編程水平,從淺顯到深入,層層遞進。
本書共9章。第1章指導讀者安裝并熟悉Code::Blocks集成開發(fā)環(huán)境,能創(chuàng)建、編輯、調(diào)試、運行C程序。第2~4章訓練讀者三種程序基本結構的編寫能力,一方面強調(diào)對C語法基礎的深入理解,能讀懂程序,完成對已有程序的分析,另一方面可利用流程控制語句,實現(xiàn)對簡單現(xiàn)實問題的編程。第5章為數(shù)組編程,訓練讀者對同類數(shù)據(jù)對象的批量定義和管理能力。第6章為函數(shù)編程實踐,訓練讀者模塊化設計的思想。第7章通過指針應用實踐,加深讀者對內(nèi)存地址的理解,實現(xiàn)對數(shù)組元素及主調(diào)函數(shù)中數(shù)據(jù)的操縱。第8章通過結構體編程實踐,培養(yǎng)讀者管理數(shù)據(jù)對象多維屬性的能力。第9章為文件編程實踐,培養(yǎng)讀者持久化管理程序運行中的各種數(shù)據(jù)的意識。
本書的特色體現(xiàn)在以下3方面。
(1) 注重程序讀寫能力漸進提升。在范例講解和實踐任務中,本書涵蓋閱讀程序、補充程序、程序調(diào)試和編寫程序四類問題,讓讀者首先能讀懂已有程序,正確分析程序運行過程和處理結果;在此基礎上能剖析程序,發(fā)現(xiàn)程序中存在的錯誤;最后能根據(jù)需要設計程序。
(2) 促進知識運用實踐能力提升。一方面,本書包含了大量的真實案例,訓練讀者解決實際問題的能力;另一方面,本書在部分問題中列舉了多種解決方案,讓讀者對比分析各種方案的不同,需要讀者綜合運用所學知識,發(fā)現(xiàn)算法中的異同。
(3) 強調(diào)讀者綜合素養(yǎng)全面提升。本書在實例中穿插語法知識的講解,促進對理論知識的理解;在實踐中引入真實案例,強調(diào)讀者解決真實問題能力的訓練;在應用中穿插課程思政元素,旨在培養(yǎng)讀者的奉獻精神、工匠精神和愛國情操。
本書的實踐任務中,部分任務難度較大,已加符號作為標注,如任務1,讀者可酌情完成。
在本書的編寫過程中得到了單位同事及學生的大力幫助,也凝結了出版社多位編輯的辛勤汗水,另外,多位同行對本書的撰寫和修改提供了指導意見,編者對此表示誠摯的謝意。
因時間和水平有限,書中難免存在不足之處,請讀者朋友多多批評指正。
編者2025年1月
黃云(1976-),博士,副教授,從事計算機相關專業(yè)教學工作近20年,主要講授《程序設計基礎》、《數(shù)據(jù)結構與算法》等課程;主編教材《JavaEE項目開發(fā)實踐》,參編《C語言項目開發(fā)實踐》、《Java 8基礎應用與開發(fā)(第2版)-微課版》等教材,主持省部級教改課題4項,以第一作者在《實驗室研究與探索》等期刊發(fā)表教改論文8篇;指導學生獲省級以上競賽獎勵20余項,指導學生開展國家級創(chuàng)新型實踐項目2項,省級創(chuàng)新型實踐項目3項;獲湖南省教學成果獎二等獎1項(2019年,排名3),獲國家民委教學成果獎一等獎1項(2019年,排3)。主持湖南省教育廳科學研究項目1項,在《電子學報》等刊物發(fā)表科研論文10余篇。
第1章初識C程序1
1.1知識簡介1
1.1.1C語言的發(fā)展歷程及特點1
1.1.2C語言程序的結構2
1.1.3運行C程序的步驟2
1.2實踐目的3
1.3實踐范例3
1.4注意事項11
1.5實踐任務11
1.5.1安裝配置Code::Blocks,初識集成開發(fā)環(huán)境11
1.5.2閱讀程序分析結果11
1.5.3補充程序12
1.5.4調(diào)試程序13
1.5.5編寫程序14第2章順序結構程序設計15
2.1知識簡介15
2.1.1數(shù)據(jù)類型15
2.1.2常量與變量16
2.1.3運算符與表達式17
2.1.4標準輸入輸出19
2.1.5程序流程圖20
2.2實踐目的21
2.3實踐范例21
2.4注意事項25
2.5實踐任務26
2.5.1閱讀程序分析結果26
2.5.2補充程序27
2.5.3調(diào)試程序28
2.5.4編寫程序29第3章選擇結構程序設計30
3.1知識簡介30
3.1.1關系運算符和關系表達式30
3.1.2邏輯運算符和邏輯表達式30
3.1.3條件運算符31
3.1.4if語句31
3.1.5switch語句32
3.2實踐目的33
3.3實踐范例33
3.4注意事項40
3.5實踐任務41
3.5.1閱讀程序分析結果41
3.5.2補充程序43
3.5.3調(diào)試程序44
3.5.4編寫程序45第4章循環(huán)結構程序設計47
4.1知識簡介47
4.1.1while語句47
4.1.2do...while語句48
4.1.3for語句49
4.1.4循環(huán)嵌套50
4.1.5break語句與continue語句50
4.2實踐目的50
4.3實踐范例50
4.4注意事項58
4.5實踐任務58
4.5.1閱讀程序分析結果58
4.5.2補充程序59
4.5.3調(diào)試程序61
4.5.4編寫程序62第5章數(shù)組64
5.1知識簡介64
5.1.1一維數(shù)組64
5.1.2二維數(shù)組66
5.1.3字符數(shù)組66
5.2實踐目的68
5.3實踐范例68
5.4注意事項77
5.5實踐任務77
5.5.1閱讀程序分析結果77
5.5.2補充程序78
5.5.3調(diào)試程序81
5.5.4編寫程序83第6章函數(shù)85
6.1知識簡介85
6.1.1定義函數(shù)85
6.1.2函數(shù)調(diào)用86
6.1.3嵌套調(diào)用和遞歸調(diào)用87
6.1.4數(shù)組作為函數(shù)參數(shù)90
6.1.5全局變量和局部變量91
6.1.6動態(tài)存儲與靜態(tài)存儲91
6.2實踐目的92
6.3實踐范例92
6.4注意事項104
6.5實踐任務104
6.5.1閱讀分析程序104
6.5.2補充程序107
6.5.3調(diào)試程序108
6.5.4編寫程序109第7章指針112
7.1知識簡介112
7.1.1指針與指針變量的概念112
7.1.2指針變量的定義與使用112
7.1.3指針與數(shù)組114
7.1.4函數(shù)與指針115
7.1.5指針數(shù)組與指向一維數(shù)組的指針變量116
7.1.6指向指針的指針116
7.1.7指針數(shù)組作main()函數(shù)的形參116
7.1.8動態(tài)分配內(nèi)存117
7.2實踐目的118
7.3實踐范例118
7.4注意事項130
7.5實踐任務130
7.5.1閱讀分析程序130
7.5.2補充程序132
7.5.3調(diào)試程序134
7.5.4編寫程序136第8章結構體138
8.1知識簡介138
8.1.1結構體類型的聲明138
8.1.2結構體變量的定義139
8.1.3結構體變量的引用140
8.1.4結構體與數(shù)組140
8.1.5結構體與指針141
8.1.6動態(tài)鏈表142
8.1.7結構體與函數(shù)142
8.1.8使用typedef關鍵字聲明新的類型名142
8.2實踐目的143
8.3實踐范例143
8.4注意事項153
8.5實踐任務153
8.5.1閱讀分析程序153
8.5.2補充程序154
8.5.3調(diào)試程序155
8.5.4編寫程序156第9章文件157
9.1知識簡介157
9.1.1文件概述157
9.1.2文件類型指針157
9.1.3文件打開/關閉158
9.1.4文件讀寫159
9.1.5文件定位163
9.1.6文件讀寫的出錯檢測164
9.2實踐目的164
9.3實踐范例164
9.4注意事項174
9.5實踐任務175
9.5.1閱讀分析程序175
9.5.2補充程序176
9.5.3調(diào)試程序178
9.5.4編寫程序179附錄AASCII碼表180附錄B關鍵字及其解釋182附錄C運算符及其結合性183附錄DC庫函數(shù)(部分)185參考文獻189