C語言可以這樣學

王金鵬

  • 出版商: 清華大學
  • 出版日期: 2022-04-01
  • 定價: $414
  • 售價: 7.9$327
  • 貴賓價: 7.5$311
  • 語言: 簡體中文
  • ISBN: 7302600767
  • ISBN-13: 9787302600763
  • 相關分類: C 程式語言
  • 立即出貨

  • C語言可以這樣學-preview-1
  • C語言可以這樣學-preview-2
  • C語言可以這樣學-preview-3
C語言可以這樣學-preview-1

買這商品的人也買了...

商品描述

本書從電腦基礎知識講起,繼而介紹標準C語言,還包含C語言編程必需的若乾重要內容。 本書深入淺出,文字簡練,將復雜的問題簡單化,篇幅不大但內容全面;對各章節的重點、難點把握準確,處理得當;註重培養編程思維能力,對編程時易犯的錯誤點評到位。本書對C語言中最重要的內容(函數、指針、數組、文件四部分)的編寫,會使讀者的認識上升一個層次。 本書作者講授C語言課程20多年,有豐富的編程和教學經驗,對學生的思維方式和學習狀況非常瞭解,對C語言的知識體系非常熟悉。在書中,作者奉獻了自己對許多問題的獨到見解。書中大量的編程經驗和註意事項,蘊含著作者長期的積累,凝聚著C語言的精華。 本書適合作為高等學校各專業“程序設計基礎”或“C語言程序設計”等課程的教材,也可作為自學教材或學習參考書,尤其適合作為C程序員的編程指導手冊和入門教材。

目錄大綱

目錄

第1章電腦基礎知識1

1.1電腦的硬件組成1

1.1.1運算器1

1.1.2控制器1

1.1.3存儲器1

1.1.4輸入設備3

1.1.5輸出設備3

1.2數制及數制間的轉換3

1.2.1二進制3

1.2.2八進制5

1.2.3十六進制5

1.3電腦中的信息編碼6

1.3.1整數的編碼6

1.3.2字符的編碼7

1.4程序及程序的執行過程7

1.4.1電腦指令7

1.4.2電腦程序7

1.4.3程序的執行過程7

1.5電腦語言8

1.5.1機器語言8

1.5.2匯編語言9

1.5.3高級語言9

1.6算法10

1.6.1算法的概念11

1.6.2算法的特性11

1.6.3算法的表示12

1.6.4程序的3種基本結構12

習題113

第2章C程序和C編譯器簡介15

2.1C語言及C標準簡介15

2.1.1C語言的出現15

2.1.2C語言的特點15

2.1.3C標準16

2.2簡單的C程序17

2.3C程序的構成21

2.4C編譯器及操作簡介23

2.4.1Turbo C 2.0編程環境及常用操作簡介23

2.4.2Visual C++6.0編程環境及常用操作簡介27

2.5編程常見錯誤及處理流程32

2.5.1編譯錯誤32

2.5.2連接錯誤33

2.5.3邏輯錯誤33

2.5.4運行錯誤33

習題233

C語言可以這樣學(第2版·MOOC版·題庫版·OnlineJudge版)目錄第3章C編程基礎知識35

3.1常量和變量35

3.1.1常量35

3.1.2變量35

3.2基本數據類型40

3.2.1整型數據40

3.2.2實型數據42

3.2.3字符型數據45

3.2.4字符串47

3.3符號常量和常變量48

3.3.1符號常量48

3.3.2常變量48

3.4運算符和表達式49

3.4.1算術運算符49

3.4.2賦值運算符和賦值表達式50

3.4.3自增自減運算符51

3.4.4逗號運算符和逗號表達式53

3.4.5類型轉換運算符54

3.5數據的類型轉換55

習題356

第4章順序結構程序設計59

4.1賦值語句59

4.1.1賦值語句及其執行過程59

4.1.2賦值的幾種數據處理方式59

4.2輸入輸出函數63

4.2.1緩沖區的概念及作用63

4.2.2getchar()和putchar()64

4.2.3printf()和scanf()65

4.3順序結構程序設計舉例70

習題472

第5章選擇結構程序設計76

5.1關系運算符和關系表達式76

5.1.1關系運算符76

5.1.2關系表達式76

5.2邏輯運算符和邏輯表達式77

5.2.1邏輯運算符77

5.2.2邏輯表達式78

5.3if語句79

5.3.1if語句的格式79

5.3.2if語句的使用說明80

5.3.3嵌套的if語句83

5.3.4if語句應用舉例85

5.3.5if語句編程的常見問題87

5.4條件運算符和條件表達式92

5.5switch語句93

5.5.1switch語句的格式及執行過程94

5.5.2switch語句應用舉例96

5.5.3switch語句編程的常見錯誤97

習題598

第6章循環結構程序設計104

6.1循環及其實現思想104

6.2循環語句105

6.2.1while循環105

6.2.2dowhile循環107

6.2.3for循環108

6.2.43種循環的比較110

6.3循環的控制111

6.3.1計數器控制循環和其他條件控制循環111

6.3.2break和continue112

6.3.3循環結束後循環變量的值與終值的比較115

6.4多重循環116

6.5循環編程舉例117

習題6126

第7章函數132

7.1函數的作用132

7.2函數的定義134

7.2.1函數定義的格式134

7.2.2函數的返回值134

7.2.3函數參數的設置138

7.3函數的調用140

7.3.1函數調用前的聲明140

7.3.2函數調用的方式142

7.4函數的參數傳遞143

7.4.1形參與實參143

7.4.2參數的傳遞143

7.4.3參數傳遞的單向性144

7.5函數的嵌套調用145

7.6遞歸函數146

7.6.1遞歸的條件146

7.6.2遞歸函數的執行過程147

7.6.3遞歸與迭代149

7.7函數編程舉例150

7.8內部函數和外部函數153

習題7154

第8章變量的作用域和存儲類別158

8.1變量的作用域158

8.1.1局部變量158

8.1.2全局變量158

8.2同名變量的辨析160

8.3變量的存儲類別和生存期162

8.3.1內存的存儲區域162

8.3.2動態變量162

8.3.3靜態變量163

8.4變量的作用域和生存期小結164

習題8165

第9章編譯預處理168

9.1宏定義168

9.1.1無參宏定義168

9.1.2有參宏定義169

9.1.3嵌套的宏定義170

9.2文件包含170

9.2.1文件包含的格式170

9.2.2文件包含的作用171

9.2.3文件包含兩種格式的區別171

9.3條件編譯172

9.3.1條件編譯的格式172

9.3.2條件編譯應用舉例174

習題9175

第10章用指針變量訪問變量178

10.1指針和指針變量178

10.1.1指針和指針變量的概念178

10.1.2直接尋址和間接尋址179

10.1.3指針變量的值、地址及類型181

10.2通過指針變量訪問變量181

10.2.1指針變量的定義181

10.2.2指針變量的賦值182

10.2.3通過指針變量間接訪問一個變量183

10.3指針變量在函數傳遞中的作用183

習題10188

第11章數組191

11.1一維數組191

11.1.1一維數組的定義191

11.1.2一維數組的元素構成及一維數組的存儲結構192

11.1.3數組名的指針類型192

11.1.4數組元素的表示方法193

11.1.5一維數組的引用194

11.1.6一維數組的初始化196

11.1.7一維數組應用舉例196

11.2二維數組201

11.2.1二維數組的定義201

11.2.2二維數組的元素構成及二維數組的存儲結構202

11.2.3二維數組名的指針類型202

11.2.4二維數組中下標變量的表示方法203

11.2.5二維數組的引用204

11.2.6二維數組的初始化205

11.2.7二維數組應用舉例205

11.3字符數組和字符串處理函數206

11.3.1字符數組206

11.3.2字符串處理函數207

11.3.3字符數組應用舉例211

習題11213

第12章用指針變量訪問下標變量218

12.1用指針變量訪問下標變量的方法218

12.1.1知識回顧218

12.1.2用指針變量訪問一維數組中的下標變量218

12.1.3用指針變量訪問二維數組中的下標變量220

12.2用指針變量訪問下標變量的適用場合221

習題12224

第13章指針綜述228

13.1指針類型簡介228

13.2指向變量的指針229

13.2.1指向變量的指針常量229

13.2.2指向變量的指針變量229

13.3指向數組的指針230

13.3.1指向一維數組的指針常量230

13.3.2指向一維數組的指針變量231

13.3.3指向一維數組的指針變量的適用場合232

13.4指針與字符串234

13.4.1字符串的表示方式234

13.4.2用指針變量處理字符串235

13.5指針與函數237

13.5.1函數的入口地址237

13.5.2指向函數的指針變量238

13.5.3指向函數的指針變量的作用238

13.5.4指針函數239

13.6指針數組240

13.6.1指針數組的定義240

13.6.2指針數組的引用241

13.6.3指針數組應用舉例241

13.7指向指針變量的指針242

13.7.1指向指針變量的指針常量242

13.7.2指向指針變量的指針變量242

13.7.3應用舉例243

13.8帶參數的main()函數245

13.8.1C語言對main()函數參數的規定245

13.8.2帶參數main()函數的作用245

13.8.3帶參數的main()函數的執行過程246

13.8.4程序舉例246

13.9動態內存分配247

13.9.1動態內存分配函數247

13.9.2動態內存分配舉例248

習題13249

第14章數據類型的自定義254

14.1結構體的定義和結構體變量的定義254

14.1.1結構體的概念和結構體的定義254

14.1.2結構體變量的定義和空間分配256

14.1.3結構體變量的初始化258

14.1.4結構體數組的定義和初始化259

14.2結構體變量的引用259

14.2.1結構體變量的引用方法259

14.2.2結構體變量引用舉例260

14.3用指針變量操作結構體變量261

14.3.1為什麽要通過指針變量訪問結構體變量261

14.3.2應用舉例262

14.4鏈表及鏈表操作簡介263

14.4.1鏈表的概念263

14.4.2使用鏈表的優點264

14.4.3鏈表操作簡介264

14.5共享體269

14.5.1共享體的概念269

14.5.2共享體的作用270

14.5.3共享體及共享體變量的定義271

14.5.4共享體變量(數組)的初始化272

14.5.5共享體變量的引用272

14.5.6共享體的兩個妙用272

14.6枚舉類型273

14.6.1枚舉類型的定義273

14.6.2枚舉變量的定義274

14.6.3枚舉變量的使用275

14.6.4枚舉應用舉例275

14.7用typedef定義類型別名276

習題14277

第1章位運算280

15.1C語言中的位運算符280

15.2位運算及應用281

15.2.1按位與281

15.2.2按位或282

15.2.3按位異或283

15.2.4按位取反284

15.2.5按位左移284

15.2.6按位右移285

習題15286

第16章文件288

16.1文件及相關的概念288

16.1.1文件的範疇288

16.1.2文件中存儲數據的兩種方式288

16.1.3文件的種類289

16.1.4文件操作函數及緩沖區的概念290

16.2文件讀寫的原理291

16.3文件的讀寫位置指針和文件結束標志292

16.3.1讀寫位置指針292

16.3.2文件結束標志292

16.4文件的打開和關閉293

16.4.1文件的打開293

16.4.2文件的關閉299

16.5文件的讀寫300

16.5.1fgetc()和fputc()301

16.5.2fread()和fwrite()303

16.5.3fgets()和fputs()307

16.5.4fscanf()和fprintf()308

16.6讀寫位置指針的移動和定位310

16.6.1移動讀寫位置指針的函數310

16.6.2兩個與讀寫位置指針有關的函數311

16.7文件的出錯檢測312

16.8文件操作舉例313

習題16317

第17章綜合應用舉例320

17.1簡單的計算器(一)320

17.2簡單的計算器(二)322

17.3數據庫文件的讀取325

附錄AC語言規約335

附錄B輸入輸出重定向 337

附錄CC語言的關鍵字340

附錄D常用字符與ASCII碼對照表341

附錄E運算符的優先級和結合性342

附錄F常用庫函數344參考文獻349