>
科技 >
計(jì)算機(jī)與網(wǎng)絡(luò) >
程序語言與軟件開發(fā) >
C語言程序設(shè)計(jì)基礎(chǔ)入門與實(shí)戰(zhàn)(微課版) 內(nèi)容簡(jiǎn)介
C語言是一門面向過程的計(jì)算機(jī)程序設(shè)計(jì)語言,同時(shí)具有高級(jí)語言和匯編語言兩者的特點(diǎn),既可以編寫系統(tǒng)程序,又可以編寫應(yīng)用程序,還可以應(yīng)用到單片機(jī)及嵌入式系統(tǒng)的開發(fā)中,目前廣泛用于底層開發(fā)。
本書共13章,分別介紹了C語言概述、數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、地址與指針、一維數(shù)組、二維數(shù)組、字符數(shù)組與字符串、函數(shù)、結(jié)構(gòu)體與共用體、位運(yùn)算、文件等內(nèi)容。每章有要點(diǎn)、主要內(nèi)容、思考與練習(xí)模塊,方便讀者的使用。
本書結(jié)構(gòu)合理,邏輯性強(qiáng),由淺入深,面向?qū)W習(xí)編程語言的初中級(jí)用戶,適合沒有基礎(chǔ)的C語言入門新手閱讀;既適合于高等院校的學(xué)生專業(yè)課教材,也可作為社會(huì)培訓(xùn)機(jī)構(gòu)的培訓(xùn)教材。
前 言
C語言是使用最多的計(jì)算機(jī)高級(jí)語言之一,既可用于編寫系統(tǒng)軟件,又可用于編寫應(yīng)用軟件。它是每一位程序員都應(yīng)該掌握的基礎(chǔ)語言,是微軟.NET編程中使用的C#語言的基礎(chǔ),也是Objective-C語言的基礎(chǔ);C語言是在很多環(huán)境中被廣泛使用的C 語言的基礎(chǔ),學(xué)習(xí)C語言可以給編程職業(yè)生涯提供牢固的基礎(chǔ),也有助于更好地理解更為現(xiàn)代的語言。
購買本書能學(xué)到什么
本書主要講解了使用C編程的格式、規(guī)范,C程序的編寫方法。本書內(nèi)容由淺入深,章節(jié)合理、脈絡(luò)清晰,大量地運(yùn)用例題進(jìn)行實(shí)例講解,使讀者學(xué)起來輕松,易懂。
本書共13章,包含以下內(nèi)容。
第1章,介紹了C語言的發(fā)展歷程,Turbo C 2.0及Visual C++兩種開發(fā)環(huán)境,C語言程序的組成及格式。
第2章,介紹C語言的數(shù)據(jù)類型,常量與變量的意義,C語言的關(guān)鍵字與標(biāo)識(shí)符,C語言運(yùn)算符與優(yōu)先級(jí)。
第3章~第5章,介紹了結(jié)構(gòu)化編程的思想及C語言的三種程序結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
第6章~第9章,主要介紹指針與數(shù)組。指針是C語言的特色功能,通過調(diào)用指針可以直接讀寫內(nèi)存。指針與數(shù)組的關(guān)系非常密切,數(shù)組的首地址是一個(gè)指針常量,可以通過移動(dòng)指針來讀寫數(shù)組元素。
第10章,主要介紹函數(shù)。函數(shù)是C語言程序的組成單位,C語言通過編寫函數(shù)來實(shí)現(xiàn)各種功能,編寫好的函數(shù)可以被不同的用戶調(diào)用。C語言還提供豐富的庫函數(shù)可以供用戶調(diào)用。主調(diào)函數(shù)與被調(diào)函數(shù)間形參與實(shí)參的數(shù)據(jù)傳遞是使用函數(shù)的關(guān)鍵。
第11章,結(jié)構(gòu)體與共用體、枚舉類型是C語言中特殊的數(shù)據(jù)類型,它們由標(biāo)準(zhǔn)的數(shù)據(jù)類型組成,可以解決復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的問題。
第12章,位運(yùn)算。C語言不僅能按字節(jié)來進(jìn)行數(shù)據(jù)處理,還可以按位來處理數(shù)據(jù),因此對(duì)內(nèi)存的使用更加節(jié)約、高效。
第13章,文件。C語言的數(shù)據(jù)處理單位還可以是文件,C語言提供很多庫函數(shù)用于直接對(duì)文件進(jìn)行打開、關(guān)閉、讀、寫等操作。
如何獲取本書的學(xué)習(xí)資源
為幫助讀者高效、快捷地學(xué)習(xí)本書的知識(shí)點(diǎn),我們不但為讀者準(zhǔn)備了與本書知識(shí)點(diǎn)有關(guān)的配套素材文件,而且設(shè)計(jì)并制作了精品視頻教學(xué)課程,還為教師準(zhǔn)備了PPT課件資源。購買本書的讀者,可以通過以下途徑獲取相關(guān)的配套學(xué)習(xí)資源。
1. 掃描書中二維碼獲取在線學(xué)習(xí)視頻
讀者在學(xué)習(xí)本書的過程中,可以使用微信的掃一掃功能,掃描本書標(biāo)題左下角的二維碼,在打開的視頻播放頁面中可以在線觀看視頻課程。這些課程讀者也可以下載并保存到手機(jī)或電腦中離線觀看。
2. 登錄網(wǎng)站獲取更多學(xué)習(xí)資源
本書配套素材和PPT課件資源,讀者可登錄網(wǎng)址http://www.tup.com.cn(清華大學(xué)出版社官方網(wǎng)站)下載相關(guān)學(xué)習(xí)資料,也可關(guān)注“文杰書院”微信公眾號(hào)獲取更多的學(xué)習(xí)資源。
本書由文杰書院組織編寫,李博任主編,王穎、于復(fù)勝任副主編。其中第1~3章由王穎編寫;第4~10章由李博編寫;第11~12章由于復(fù)勝編寫,第13章由國(guó)網(wǎng)遼寧經(jīng)濟(jì)技術(shù)研究院陳國(guó)龍編寫,另外鄭宏、李潤(rùn)榮、孫曉妍、李軍、袁帥、文雪、李強(qiáng)、高桂華、馮臣、宋艷輝等也參與了本書的編寫工作。
我們真切希望讀者在閱讀本書之后,可以開拓視野,增長(zhǎng)實(shí)踐操作技能,并從中學(xué)習(xí)和總結(jié)操作的經(jīng)驗(yàn)和規(guī)律,達(dá)到靈活運(yùn)用的水平。鑒于編者水平有限,書中疏漏和考慮不周之處在所難免,熱忱歡迎讀者予以批評(píng)、指正,以便我們?nèi)蘸竽転槟帉懜玫膱D書。
編 者
目錄第1章 C語言概述 1
1.1 C語言的發(fā)展 2
1.1.1 C語言的歷史 2
1.1.2 C語言的特點(diǎn) 3
1.2 C語言的開發(fā)環(huán)境 4
1.2.1 Turbo C 2.0集成開發(fā)環(huán)境 4
1.2.2 Visual C++ 6.0開發(fā)環(huán)境 7
1.3 簡(jiǎn)單C程序的組成和格式 10
1.4 思考與練習(xí) 12
第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 15
2.1 C語言的數(shù)據(jù)類型 16
2.1.1 數(shù)據(jù)類型的分類 16
2.1.2 數(shù)據(jù)類型的取值范圍 17
2.2 常量 17
2.2.1 整型常量 17
2.2.2 實(shí)型常量 18
2.2.3 字符型常量 18
2.2.4 字符串型常量 19
2.2.5 符號(hào)型常量 19
2.3 變量 20
2.3.1 變量的定義與初始化 21
2.3.2 整型變量 21
2.3.3 實(shí)型變量 22
2.3.4 字符型變量 23
2.3.5 定義不可變變量 24
2.4 標(biāo)識(shí)符與關(guān)鍵字 24
2.4.1 標(biāo)識(shí)符 24
2.4.2 關(guān)鍵字 25
2.4.3 預(yù)定義標(biāo)識(shí)符與用戶標(biāo)識(shí)符 25
2.4.4 ASCII碼字符集 25
2.5 運(yùn)算符與表達(dá)式 26
2.5.1 C語言的運(yùn)算符 26
2.5.2 運(yùn)算符的優(yōu)先級(jí) 27
2.5.3 算術(shù)運(yùn)算與算術(shù)表達(dá)式 28
2.5.4 賦值運(yùn)算符與賦值表達(dá)式 31
2.5.5 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式 32
2.6 思考與練習(xí) 33
第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 39
3.1 結(jié)構(gòu)化程序設(shè)計(jì)思想 40
3.1.1 程序化設(shè)計(jì)的三種基本結(jié)構(gòu) 40
3.1.2 語句 41
3.2 常用的數(shù)據(jù)輸入輸出函數(shù) 42
3.2.1 格式輸出函數(shù)printf( ) 42
3.2.2 格式輸入函數(shù)scanf( ) 48
3.2.3 字符輸出函數(shù)putchar( ) 51
3.2.4 字符輸入函數(shù)getchar( ) 51
3.3 程序設(shè)計(jì)舉例 52
3.4 思考與練習(xí) 54
第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 57
4.1 關(guān)系運(yùn)算與邏輯運(yùn)算 58
4.1.1 關(guān)系運(yùn)算符和表達(dá)式 58
4.1.2 邏輯運(yùn)算符和表達(dá)式 59
4.2 if語句 60
4.2.1 單分支if語句 60
4.2.2 雙分支if語句 60
4.2.3 多分支if語句 62
4.3 條件運(yùn)算符 67
4.4 switch語句 68
4.5 程序設(shè)計(jì)舉例 70
4.6 思考與練習(xí) 73
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 77
5.1 while語句 78
5.2 do while語句 80
5.3 for語句 81
5.4 三種循環(huán)語句的比較 82
5.5 循環(huán)語句的嵌套 83
5.6 循環(huán)結(jié)構(gòu)中的其他語句 85
5.6.1 break語句 85
5.6.2 continue語句 86
5.6.3 goto語句與語句標(biāo)號(hào) 86
5.7 程序設(shè)計(jì)舉例 87
5.8 思考與練習(xí) 91
第6章 地址與指針 95
6.1 地址與指針的定義 96
6.1.1 指針介紹 96
6.1.2 存放指針的變量 97
6.2 指針變量的定義與使用 97
6.2.1 指針變量的定義 97
6.2.2 給指針變量賦初值 98
6.2.3 與指針有關(guān)的兩個(gè)運(yùn)算符 99
6.2.4 對(duì)指針變量的引用 100
6.3 程序設(shè)計(jì)舉例 103
6.4 思考與練習(xí) 104
第7章 一維數(shù)組 109
7.1 數(shù)組的概念 110
7.2 一維數(shù)組的定義和引用 110
7.2.1 一維數(shù)組的定義 111
7.2.2 一維數(shù)組元素的引用 111
7.2.3 一維數(shù)組的初始化 113
7.3 程序設(shè)計(jì)舉例一 114
7.4 一維數(shù)組與指針 118
7.4.1 指向數(shù)組元素的指針 118
7.4.2 通過指針引用數(shù)組元素 119
7.5 指針數(shù)組和指向指針的指針 122
7.5.1 指針數(shù)組的概念 122
7.5.2 指向指針的指針 123
7.5.3 利用指針數(shù)組訪問數(shù)組 123
7.6 程序設(shè)計(jì)舉例二 124
7.7 思考與練習(xí) 128
第8章 二維數(shù)組 133
8.1 二維數(shù)組的定義和引用 134
8.1.1 二維數(shù)組的定義 134
8.1.2 二維數(shù)組元素的引用 134
8.1.3 二維數(shù)組的初始化 137
8.1.4 二維數(shù)組與一維數(shù)組的關(guān)系 138
8.2 二維數(shù)組程序舉例一 138
8.3 二維數(shù)組與指針 141
8.3.1 二維數(shù)組與指針 141
8.3.2 通過地址來引用二維數(shù)組元素 142
8.3.3 通過指針數(shù)組來引用二維數(shù)組元素 143
8.3.4 通過指針數(shù)組和一維數(shù)組來構(gòu)造二維數(shù)組 144
8.4 程序設(shè)計(jì)舉例二 146
8.5 思考與練習(xí) 149
第9章 字符數(shù)組與字符串 155
9.1 字符數(shù)組 156
9.1.1 字符數(shù)組的定義 156
9.1.2 字符數(shù)組的初始化 156
9.1.3 字符數(shù)組的引用 157
9.2 字符串 157
9.2.1 字符串常量 158
9.2.2 用字符串給字符數(shù)組賦初值 158
9.2.3 字符串的輸入輸出 159
9.2.4 字符串與指針 161
9.2.5 字符串?dāng)?shù)組 162
9.3 字符串處理函數(shù) 165
9.3.1 字符串輸出函數(shù)puts() 165
9.3.2 字符串輸入函數(shù)gets() 166
9.3.3 字符串連接函數(shù)strcat() 167
9.3.4 字符串拷貝函數(shù)strcpy() 168
9.3.5 字符串比較函數(shù)strcmp() 168
9.3.6 測(cè)字符串長(zhǎng)度函數(shù)strlen() 169
9.3.7 查找字符位置函數(shù)strchr() 170
9.3.8 查找子串位置函數(shù)strstr() 170
9.3.9 轉(zhuǎn)字符串為小寫strlwr() 171
9.3.10 轉(zhuǎn)字符串為大寫函數(shù)strupr() 172
9.4 程序設(shè)計(jì)舉例 172
9.5 思考與練習(xí) 176
第10章 函數(shù) 181
10.1 函數(shù)概述 182
10.1.1 函數(shù)的概念 182
10.1.2 函數(shù)的參數(shù) 186
10.1.3 函數(shù)的返回值 187
10.1.4 函數(shù)的調(diào)用 189
10.1.5 函數(shù)的嵌套調(diào)用 191
10.1.6 函數(shù)的遞歸調(diào)用 192
10.2 指針與函數(shù) 195
10.2.1 指針變量作為函數(shù)參數(shù) 195
10.2.2 數(shù)組可以作為函數(shù)參數(shù) 198
10.3 局部變量和全局變量 201
10.3.1 局部變量 201
10.3.2 全局變量 202
10.4 變量的存儲(chǔ)類別 204
10.4.1 動(dòng)態(tài)存儲(chǔ)方式與靜態(tài)存儲(chǔ)方式 205
10.4.2 auto變量 205
10.4.3 static變量 205
10.4.4 register變量 207
10.4.5 extern變量 208
10.4.6 存儲(chǔ)類型小結(jié) 209
10.4.7 內(nèi)部函數(shù)與外部函數(shù) 209
10.5 思考與練習(xí) 209
第11章 結(jié)構(gòu)體與共用體 215
11.1 結(jié)構(gòu)體 216
11.1.1 結(jié)構(gòu)體的定義 216
11.1.2 定義結(jié)構(gòu)體類型的變量 217
11.1.3 結(jié)構(gòu)體變量成員的表示方法 219
11.1.4 結(jié)構(gòu)體變量的引用 219
11.1.5 結(jié)構(gòu)變量的初始化 220
11.1.6 結(jié)構(gòu)型數(shù)組 221
11.1.7 結(jié)構(gòu)指針變量 224
11.2 動(dòng)態(tài)存儲(chǔ)分配 228
11.3 鏈表 230
11.3.1 鏈表概念 231
11.3.2 單向鏈表 232
11.3.3 動(dòng)態(tài)單向鏈表 233
11.4 共用體 242
11.4.1 共用體的定義 242
11.4.2 共用體類型變量的引用方式 243
11.4.3 共用體類型變量的特點(diǎn) 244
11.5 枚舉類型 245
11.5.1 枚舉類型的定義 245
11.5.2 枚舉變量的定義與賦值 245
11.6 類型定義符typedef 247
11.7 思考與練習(xí) 250
第12章 位運(yùn)算 255
12.1 位運(yùn)算符 256
12.1.1 位運(yùn)算符 256
12.1.2 按位與運(yùn)算 257
12.1.3 按位或運(yùn)算 258
12.1.4 按位異或運(yùn)算 259
12.1.5 取反運(yùn)算 260
12.1.6 左移運(yùn)算 260
12.1.7 右移運(yùn)算 260
12.1.8 位數(shù)不同的運(yùn)算數(shù)之間的運(yùn)算規(guī)則 261
12.2 位域 262
12.2.1 位域 262
12.2.2 位域的定義 262
12.2.3 位域的使用 263
12.3 程序設(shè)計(jì)舉例 264
12.4 思考與練習(xí) 267
第13章 文件 269
13.1 文件概述 270
13.1.1 文件的存儲(chǔ) 270
13.1.2 文件指針 271
13.2 文件的打開與關(guān)閉 272
13.2.1 文件的打開 272
13.2.2 文件的關(guān)閉 274
13.3 文件的讀寫 274
13.3.1 字符讀寫函數(shù)fgetc()和fputc() 275
13.3.2 字符串讀寫函數(shù)fgets()和fputs() 278
13.3.3 數(shù)據(jù)塊讀寫函數(shù)fread()和fwtrite() 280
13.3.4 格式化讀寫函數(shù)fscanf和fprintf 283
13.3.5 文件定位與隨機(jī)讀寫 285
13.3.6 文件檢測(cè)函數(shù) 287
13.4 思考與練習(xí) 288
附錄 289
習(xí)題答案 299
參考文獻(xiàn) 322