C語言程式設計基礎(2021年清華大學出版社出版的圖書)

C語言程式設計基礎(2021年清華大學出版社出版的圖書)

本詞條是多義詞,共16個義項
更多義項 ▼ 收起列表 ▲

《C語言程式設計基礎》是2021年清華大學出版社出版的圖書,作者是盧萍,李開,王多強等。

基本介紹

  • 中文名:C語言程式設計基礎
  • 作者:盧萍,李開,王多強 等
  • 類別:教材
  • 出版社:清華大學出版社
  • 出版時間:2021年8月
  • 開本:16 開
  • 裝幀:平裝-膠訂
  • ISBN:9787302581505
內容簡介,作者簡介,圖書目錄,

內容簡介

《C語言程式設計》依據C11標準和用C語言進行程式設計所涉及的知識結構,全面系統地闡述C語言的語法和語義,同時精心提煉一些算法實例進行分析和編程實現,培養學生的程式設計能力。 本書共11章,內容包括概論、C語言的基本元素、標準輸入輸出、程式的語句及流程控制、函式、編譯預處理、數組、指針、結構與聯合、檔案、用戶自定義庫,尤其對C語言的重點、難點和特色之處,如位運算、遞歸函式、指針的用法、複雜指針的套用、欄位結構、結構指針等進行了詳細介紹。本書概念清楚,敘述翔實,內容新穎實用,實例典型豐富,要點清晰明了。既考慮初學者的需求,又突出計算機類專業的教學要求。 本書適合作為高等學校計算機、通信、電子、自動化等相關專業“程式設計”課程的教材,也可作為研究生入學考試C語言與程式設計的參考書,還可供軟體開發工程師和廣大科技人員自學參考。

作者簡介

盧萍,女,副教授,C語言程式設計課程組長。1988年本科畢業於華中理工大學(現華中科技大學),1993年獲華中理工大學計算機系統結構碩士學位。主要從事信息存儲理論與技術,大數據處理與分析方面的科學研究工作,參加完成了國家科技攻關項目,國家自然科學重點基金課題,國家“863”計畫等國家重大項目的研究,主持2項GF橫向合作項目,申請國家發明專利多項。承擔計算機專業本科校級精品課程《C語言程式設計》、省級精品課程《微機接口技術》、《verilog語言》的教學工作,多次獲校教學質量優秀獎,正式出版教材2部,獲校教學成果一等獎1次,獲省教學成果一等獎1次,獲湖北省多媒體課件二等獎1次,獲“國信藍點杯”全國軟體專業人才設計與開發大賽全國總決賽C語言程式設計本科組一等獎優秀指導教師獎2次。

圖書目錄

第1章概論1
1.1基礎知識1
1.1.1為計算而生1
1.1.2計算機系統概述4
1.1.3程式設計語言5
1.2問題求解和程式設計7
1.2.1問題求解過程7
1.2.2算法和程式8
1.3C語言的發展11
1.3.1C語言的發展過程11
1.3.2C語言的標準化12
1.3.3C語言的特徵13
1.4C語言編程初步14
1.4.1C編程的典型過程14
1.4.2個程式: 編程從這裡開始15
本章小結21
習題121
第2章C語言的基本元素22
2.1字元集及詞法元素22
2.1.1字元集22
2.1.2詞法元素22
2.2關鍵字和標識符23
2.2.1關鍵字23
2.2.2標識符23
2.3基本數據類型24
2.3.1數據類型概述24
2.3.2char類型25
2.3.3整型類型26
2.3.4浮點類型27
2.3.5C99新增數據類型29
2.4常量與變數31
2.4.1整型常量322.4.2浮點型常量33
2.4.3字元常量33
2.4.4字元串常量35
2.4.5符號常量37
2.4.6變數聲明38
2.5運算符和表達式39
2.5.1運算符概述39
2.5.2算術運算41
2.5.3關係運算42
2.5.4邏輯運算43
2.5.5自增和自減運算44
2.5.6賦值運算47
2.5.7條件運算48
2.5.8逗號運算49
2.5.9sizeof運算51
2.6位運算51
2.6.1整數在機內的表示51
2.6.2位邏輯運算52
2.6.3移位運算54
2.6.4位運算的套用55
2.7類型轉換57
2.7.1類型轉換的規則58
2.7.2類型轉換的方法59
2.8枚舉類型60
2.8.1枚舉類型的聲明60
2.8.2用枚舉類型定義符號常量61
2.8.3枚舉變數的定義61
本章小結63
習題263
第3章格式化輸入與輸出66
3.1字元輸入與輸出66
3.1.1字元輸入函式getchar663.1.2字元輸出函式putchar67
3.2格式化輸入與輸出69
3.2.1格式輸出函式printf69
3.2.2格式輸入函式scanf73
本章小結79
習題379
第4章程式的語句及流程控制82
4.1語句分類82
4.2表達式語句82
4.3複合語句83
4.4條件語句85
4.4.1if語句85
4.4.2switch語句88
4.5循環語句91
4.5.1while語句91
4.5.2dowhile語句96
4.5.3for語句100
4.5.4循環語句小結104
4.6轉移語句104
4.6.1break語句104
4.6.2continue語句106
4.6.3return語句107
4.6.4goto語句和標號語句107
4.7程式設計實例110
4.7.1嵌套循環110
4.7.2枚舉114
4.7.3篩法116
4.7.4遞推117
本章小結118
習題4118第5章函式120
5.1模組化程式設計120
5.1.1函式與模組化編程120
5.1.2蒙特卡洛模擬: 猜數程式122
5.1.3C程式的一般結構125
5.2自定義函式125
5.2.1函式定義125
5.2.2函式原型128
5.2.3函式調用130
5.3變數的存儲類型132
5.3.1作用域與生存期132
5.3.2自動變數133
5.3.3外部變數134
5.3.4靜態變數137
5.3.5暫存器變數140
5.4遞歸140
5.4.1遞歸概述140
5.4.2遞歸算法分析142
5.4.3遞歸函式設計143
5.4.4經典問題的遞歸程式設計144
5.4.5分治法與快速排序147
5.5多檔案的C程式148
5.5.1函式的存儲類型149
5.5.2多檔案編程149
5.6參數數目可變的函式151
5.7C11增加的屬性152
5.7.1函式修飾符_Noreturn152
5.7.2存儲類型_Thread_local153
本章小結154
習題5154
第6章編譯預處理157
6.1檔案包含1576.2宏定義158
6.2.1無參宏定義158
6.2.2帶參數的宏定義159
6.2.3取消宏定義162
6.3條件編譯162
6.3.1#if指令162
6.3.2#ifdef指令164
6.3.3#ifndef指令165
6.3.4defined運算符166
6.4斷言166
6.4.1宏assert166
6.4.2靜態斷言167
6.5宏的高級用法167
6.5.1宏操作符#和##168
6.5.2可變參數宏168
6.5.3通用類型宏169
6.5.4預定義宏170
本章小結171
習題6171
第7章數組173
7.1數組概述173
7.2一維數組173
7.2.1一維數組的聲明173
7.2.2一維數組元素的引用和下標175
7.2.3一維數組的運算176
7.2.4一維數組的邏輯結構和存儲結構176
7.2.5初始化數組178
7.2.6用const、extern、static聲明數組182
7.2.7一維數組作為函式的形參182
7.3二維數組185
7.3.1二維數組的定義186
7.3.2二維數組元素的引用和數組運算1867.3.3二維數組的邏輯結構和存儲結構187
7.3.4二維數組的初始化188
7.3.5二維數組作為函式的形參190
7.4n維數組191
7.4.1n維數組的定義191
7.4.2n維數組的使用192
7.4.3n維數組元素的引用和使用192
7.4.4n維數組的存儲結構193
7.4.5n維數組的初始化194
7.4.6n維數組作為函式的參數195
7.5字元數組和字元串196
7.5.1字元數組196
7.5.2字元串196
7.5.3字元數組的初始化197
7.5.4字元數組的使用197
7.5.5字元串處理函式200
7.5.6二維字元數組和字元串數組208
7.6基於數組的套用210
7.6.1冒泡排序211
7.6.2二分查找212
7.6.3矩陣乘運算215
本章小結216
習題7217
第8章指針220
8.1指針的概念220
8.1.1變數的地址和指針變數220
8.1.2指針變數的聲明222
8.1.3指針的賦值和移動操作223
8.1.4懸掛指針和NULL指針225
8.2指針參數226
8.2.1傳值調用和傳址調用226
8.2.2返回多個值的函式2278.3指針和一維數組228
8.3.1一維數組元素的指針表示228
8.3.2一維數組參數的指針表示232
8.3.3高精度計算: 超長整數加法235
8.4指針與字元串237
8.4.1字元串的指針表示237
8.4.2字元串作函式參數238
8.5指針數組240
8.5.1指針數組的概念240
8.5.2用指針數組表示字元串數組241
8.5.3指向指針的指針246
8.6main函式的參數249
8.6.1命令行參數249
8.6.2帶參main函式的定義249
8.6.3命令行參數的傳遞251
8.7指針函式252
8.7.1指針函式的聲明252
8.7.2指針函式返回值的分析252
8.7.3指針函式的定義及套用253
8.8指向函式的指針256
8.8.1函式指針變數的聲明256
8.8.2函式指針的套用257
8.9指針與多維數組258
8.9.1指向數組元素的指針259
8.9.2指向數組的指針259
8.9.3二維數組參數的指針表示262
8.9.4多維數組的指針表示265
8.10用typedef定義類型名266
8.10.1typedef的用法267
8.10.2typedef與#define的區別268
8.11複雜聲明268
8.11.1函式指針數組269
8.11.2指向函式的指針函式2708.11.3函式指針數組的指針271
8.12restrict和_Atomic類型限定符273
8.12.1restrict限定的指針273
8.12.2_Atomic類型限定符273
本章小結274
習題8274
第9章結構與聯合278
9.1結構概述278
9.2結構的聲明和引用279
9.2.1結構類型的聲明279
9.2.2結構變數的定義280
9.2.3結構變數的初始化280
9.2.4點運算符281
9.2.5嵌套的結構281
9.2.6結構的大小282
9.3結構數組285
9.3.1結構數組的定義285
9.3.2結構數組的初始化286
9.3.3結構數組作函式參數286
9.4指向結構的指針288
9.4.1結構指針的聲明288
9.4.2箭頭運算符289
9.4.3結構數組的指針表示289
9.4.4柔性數組成員295
9.5結構與函式296
9.5.1結構或結構指針作函式參數296
9.5.2結構或結構指針作函式返回值297
9.5.3複合文字作實參299
9.6聯合300
9.7欄位結構303
9.8結構指針的套用306
9.8.1靜態和動態數據結構3069.8.2單鍊表的結構307
9.8.3單鍊表的建立和輸出308
9.8.4單鍊表的基本操作313
9.8.5單鍊表排序319
9.8.6十字交叉鍊表322
9.8.7雙向鍊表325
本章小結326
習題9326
第10章檔案329
10.1檔案概述329
10.1.1數據流329
10.1.2檔案的概念329
10.1.3檔案類型330
10.1.4檔案指針332
10.1.5檔案操作的基本步驟333
10.2檔案的打開與關閉333
10.2.1打開檔案函式fopen333
10.2.2關閉檔案函式fclose335
10.2.3套用舉例336
10.3檔案的順序讀寫336
10.3.1字元讀寫操作337
10.3.2字元串讀寫操作338
10.3.3格式化讀寫340
10.3.4數據塊讀寫342
10.4檔案的隨機讀寫345
10.4.1檔案指針的復位346
10.4.2檔案指針的隨機移動346
10.4.3檔案指針當前位置的獲取346
10.5檔案的狀態及異常檢測350
10.5.1檔案結束判斷函式350
10.5.2檔案讀寫錯誤信息判斷函式350
10.5.3檔案讀寫錯誤信息清除函式35010.6檔案的重定向352
10.7C11標準新增檔案操作語法353
10.7.1打開檔案時的獨占模式354
10.7.2用gets_s函式替代gets函式354
10.7.3檔案操作中參數使用restrict修飾的說明355
10.7.4關於邊界檢查函式接口355
本章小結355
習題10356
第11章用戶自定義庫358
11.1用戶自定義庫概述358
11.2allocation庫的設計358
11.3allocation庫的接口定義360
11.4allocation庫函式的實現361
11.5allocation庫的生成和使用363
11.5.1生成allocation庫檔案363
11.5.2allocation庫的使用364
本章小結365
習題11365
附錄AASCII字元編碼表366
附錄B常用標準庫函式368
參考文獻374

相關詞條

熱門詞條

聯絡我們