本書采用項目驅(qū)動的方式編寫,主要內(nèi)容分為基礎(chǔ)知識篇模塊化知識篇和實戰(zhàn)知識篇三大部分;A(chǔ)知識篇共4章,內(nèi)容涵蓋了C語言概述、數(shù)據(jù)、格式化輸人/輸出、運算符和表達式;模塊化知識篇共6章,內(nèi)容包括選擇分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、指針、字符串及字符串函數(shù),便于讀者清晰地梳理及鞏固重要知識點;實戰(zhàn)知識篇共3章,主要內(nèi)容為內(nèi)存管理、結(jié)構(gòu)體、文件,這部分內(nèi)容可以結(jié)合實際問題進行實踐訓(xùn)練,并給出具體程序設(shè)計方法,便于讀者形成良好的邏輯思維習(xí)慣。本書各章后面都有強化練習(xí),并附參考答案,讀者通過這些練習(xí),可以強化實踐操作能力。
本書還有配套使用的實訓(xùn)指導(dǎo)書:《C程序設(shè)計實訓(xùn)教程》(張偉主編,化學(xué)工業(yè)出版社出版)。
本書適合于各類高等本科院校和高職高專院校作為計算機類專業(yè)C語言編程課程的教材。
想要學(xué)好一門計算機程序設(shè)計語言,不應(yīng)該拘泥于該語言的語法細(xì)節(jié),重點是要大量使用該語言來編寫程序,從實踐中學(xué)習(xí)與鞏固它的基本知識;在程序設(shè)計工作中,要對問題進行分析,考慮各種設(shè)計的可能性,選擇適當(dāng)?shù)乃惴ā?shù)據(jù)結(jié)構(gòu)及語言,編寫代碼,對代碼進行測試!禖程序設(shè)計實用教程》針對這些問題進行了詳細(xì)介紹。
本書以C語言的基本知識為主線,以程序設(shè)計思想為核心,由長期從事程序設(shè)計教學(xué)、軟件系統(tǒng)開發(fā)的一線教師編寫,書中大量教學(xué)實例來自于實際開發(fā)項目,既有較強的理論性,又具有鮮明的實用性。本書采用項目引導(dǎo)和實例講解的方式編寫,主要內(nèi)容分為基礎(chǔ)知識模塊化知識和實戰(zhàn)知識三大部分;A(chǔ)知識部分共4章,內(nèi)容涵蓋了C語言概述、數(shù)據(jù)、格式化輸入/輸出、運算符和表達式;模塊化知識部分共6章,內(nèi)容包括選擇分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、指針、字符串和字符串函數(shù),便于讀者清晰地梳理及鞏固重要知識點;實戰(zhàn)知識部分共3章,主要內(nèi)容為局部變量與全局變量、結(jié)構(gòu)體與共用體、文件,這部分內(nèi)容可以結(jié)合實際問題進行實踐訓(xùn)練,并給出具體程序設(shè)計方法,便于讀者形成良好的邏輯思維習(xí)慣,強化實踐操作能力。
本書強化程序設(shè)計思想和方法,采用項目教學(xué)體系,采取案例引導(dǎo)的編寫方法,既能保證學(xué)生熟悉項目內(nèi)容,又能較好地掌握知識點;書中的實例選擇,既有針對性,又能夠讓學(xué)生通過例子很快掌握對應(yīng)知識;書中所有例題都經(jīng)過反復(fù)調(diào)試,保證其正確無誤。本書還有配套使用的實訓(xùn)指導(dǎo)書:《C程序設(shè)計實訓(xùn)教程》(張偉主編,化學(xué)工業(yè)出版社出版)。我們還將為使用本書的教師免費提供電子教案等教學(xué)資源,需要者可以到化學(xué)工業(yè)出版社教學(xué)資源網(wǎng)站http://www.cipedu.com.cn免費下載使用。
本書適合于各類高等本科院校和高職高專院校作為計算機類專業(yè)C語言編程課程的教材。
本書由華北理工大學(xué)輕工學(xué)院高建宇主編,張偉、章昊任副主編;參加編寫的人員還包括華北理工大學(xué)輕工學(xué)院張琳,河北省科學(xué)技術(shù)協(xié)會李志強,華北理工大學(xué)輕工學(xué)院楊炯照、劉金委、李雙月。
由于編寫時間緊迫以及編者的水平有限,書中難免存在疏漏和不妥之處,懇請廣大讀者批評指正!
編者
2019年9月
高建宇,華北理工大學(xué)(課程組負(fù)責(zé)人), 計算機教師,華北理工大學(xué)控制工程碩士。
研究方向:檢測系統(tǒng)與智能儀器,IT/工控系統(tǒng)大客戶營銷,工業(yè)工程及項目管理
一.教育背景
本科:華北理工大學(xué) 電子信息工程
碩士:華北理工大學(xué) 控制工程
二.著譯作品
《物聯(lián)網(wǎng)專業(yè)英語》國家特色專業(yè)(物聯(lián)網(wǎng)工程)規(guī)劃教材,機械工業(yè)出版社,主要參編人員,2015.03
三.業(yè)務(wù)成果
主持省級課題1項,主研市級課題1項,參研省級、市級課題多項,2015年獲省級創(chuàng)新教育成果二等獎,全國建筑電氣專業(yè)聯(lián)合畢業(yè)設(shè)計專業(yè)指導(dǎo)教師,iCAN國際大學(xué)生創(chuàng)新創(chuàng)業(yè)競賽指導(dǎo)教師。
發(fā)表學(xué)術(shù)論文近20篇,其中中文核心期刊、EI檢索、國外期刊多篇,其余均為國家期刊。
第一部分基礎(chǔ)知識/1
第1章C語言概述2
1.1C語言的發(fā)展史2
1.2C語言的特點2
1.3模塊化結(jié)構(gòu)3
1.4C語言程序的開發(fā)過程3
1.5簡單C語言程序的構(gòu)成和格式4
1.6算法和流程圖5
1.6.1算法5
1.6.2流程圖7
本章小結(jié)10
鞏固練習(xí)10
第2章數(shù)據(jù)13
2.1數(shù)據(jù)類型13
2.2常量與變量14
2.2.1常量和符號常量14
2.2.2變量18
本章小結(jié)24
鞏固練習(xí)24
第3章格式化輸入/輸出27
3.1printf函數(shù)(格式輸出函數(shù))27
3.2scanf函數(shù)(格式輸入函數(shù))29
3.3字符數(shù)據(jù)的輸入/輸出函數(shù)34
本章小結(jié)36
鞏固練習(xí)36
第4章運算符和表達式41
4.1算術(shù)運算符及表達式41
4.1.1基本算術(shù)運算41
4.1.2自增自減運算43
4.2強制類型轉(zhuǎn)換運算符及表達式44
4.3賦值運算符及表達式44
4.4逗號運算符及表達式46
4.5位運算符及表達式47
本章小結(jié)52
鞏固練習(xí)52
第二部分模塊化知識/57
第5章選擇分支結(jié)構(gòu)58
5.1條件分支if語句59
5.1.1關(guān)系運算符及表達式59
5.1.2邏輯運算符及表達式60
5.1.3if語句61
5.2多分支switch語句64
5.2.1問題的提出64
5.2.2switch語句64
本章小結(jié)69
鞏固練習(xí)69
第6章循環(huán)結(jié)構(gòu)74
6.1三種循環(huán)語句74
6.1.1while語句74
6.1.2do-while語句75
6.1.3兩種語句區(qū)別76
6.1.4 for語句77
6.2循環(huán)的嵌套80
6.3break語句和continue語句82
6.3.1break語句82
6.3.2continue語句82
6.4幾種循環(huán)的比較82
本章小結(jié)83
鞏固練習(xí)83
第7章數(shù)組88
7.1一維數(shù)組的定義和引用89
7.1.1一維數(shù)組的定義89
7.1.2一維數(shù)組的初始化89
7.1.3一維數(shù)組元素的引用89
7.2二維數(shù)組的定義和引用92
7.2.1二維數(shù)組的定義92
7.2.2二維數(shù)組的初始化92
7.2.3二維數(shù)組的引用93
7.3字符數(shù)組的定義和引用95
7.3.1字符數(shù)組的定義95
7.3.2字符數(shù)組的初始化95
7.3.3字符數(shù)組的引用95
7.3.4字符串96
7.3.5字符數(shù)組的輸入與輸出96
7.3.6字符串處理函數(shù)98
7.3.7字符數(shù)組應(yīng)用舉例100
本章小結(jié)101
鞏固練習(xí)101
第8章函數(shù)105
8.1函數(shù)及庫函數(shù)105
8.2函數(shù)定義的一般形式107
8.2.1問題的提出107
8.2.2無參函數(shù)的定義形式107
8.2.3有參函數(shù)定義的一般形式107
8.2.4空函數(shù)108
8.3函數(shù)參數(shù)和函數(shù)的值108
8.3.1形式參數(shù)、實際參數(shù)及參數(shù)傳遞108
8.3.2函數(shù)的返回值109
8.4函數(shù)的調(diào)用及說明110
8.4.1問題的提出110
8.4.2函數(shù)調(diào)用的一般形式111
8.4.3函數(shù)調(diào)用的方式111
8.4.4對被調(diào)用函數(shù)的說明111
8.5函數(shù)的嵌套調(diào)用112
8.6函數(shù)的遞歸調(diào)用112
8.7數(shù)組作為函數(shù)參數(shù)113
8.7.1數(shù)組元素做實參113
8.7.2數(shù)組名用作函數(shù)參數(shù)114
8.7.3用多維數(shù)組名作函數(shù)實參117
本章小結(jié)117
鞏固練習(xí)117
第9章指針129
9.1變量的地址和指針129
9.2變量與指針130
9.2.1指針變量的定義130
9.2.2指針變量的賦值130
9.2.3指針變量的引用131
9.3指針的移動和比較132
9.4指針變量作為函數(shù)參數(shù)133
9.5數(shù)組與指針134
9.5.1問題的提出134
9.5.2指向數(shù)組的指針135
9.5.3通過指針引用數(shù)組元素135
9.5.4數(shù)組名作函數(shù)參數(shù)時的指針變量136
9.6指向多維數(shù)組的指針和指針變量138
本章小結(jié)141
鞏固練習(xí)141
第10章字符串和字符串函數(shù)146
10.1字符串146
10.2字符數(shù)組的輸入與輸出147
10.3字符串處理函數(shù)148
10.4字符串函數(shù)應(yīng)用舉例150
10.5字符串與指針152
10.5.1用一個一維字符數(shù)組來存放字符串152
10.5.2指向字符串的指針152
10.5.3指向字符串的指針作函數(shù)參數(shù)153
本章小結(jié)154
鞏固練習(xí)154
第三部分實戰(zhàn)知識/161
第11章局部變量與全局變量162
11.1局部變量與全局變量的定義163
11.1.1局部變量的定義163
11.1.2全局變量的定義164
11.2變量的存儲類型164
11.2.1局部變量的存儲類別165
11.2.2全局變量的存儲類別167
本章小結(jié)169
鞏固練習(xí)169
第12章結(jié)構(gòu)體與共用體175
12.1結(jié)構(gòu)體類型的概念177
12.2結(jié)構(gòu)體變量的定義178
12.3結(jié)構(gòu)體變量的引用180
12.4結(jié)構(gòu)體類型的初始化181
12.5共用體182
本章小結(jié)184
鞏固練習(xí)185
第13章文件190
13.1文件的基本操作192
13.1.1文件指針192
13.1.2文件的打開192
13.1.3文件的關(guān)閉193
13.2文件的讀與寫194
13.3文件的定位200
本章小結(jié)203
鞏固練習(xí)203
附錄運算符優(yōu)先級和結(jié)合性208
參考文獻209