C語言程序設計——基於計算思維的培養(第2版)

曾智勇,林暉,林銘煒,林崧

  • 出版商: 清華大學
  • 出版日期: 2025-05-01
  • 售價: $474
  • 語言: 簡體中文
  • ISBN: 730268717X
  • ISBN-13: 9787302687177
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • C語言程序設計——基於計算思維的培養(第2版)-preview-1
  • C語言程序設計——基於計算思維的培養(第2版)-preview-2
  • C語言程序設計——基於計算思維的培養(第2版)-preview-3
C語言程序設計——基於計算思維的培養(第2版)-preview-1

相關主題

商品描述

"本書以C語言為工具,力圖以簡明的語言、典型的案例,在介紹C語言程序設計過程中,融入計算思維和程序設計的基本方法,使讀者在學習C語言程序設計後,能夠用計算思維和程序設計的方法解決相關領域中的實際問題。全書共13章,包括C語言基本概念、數據類型與表達式、格式化輸入與輸出、選擇結構、循環結構、函數、數組、指針、字符串、指針與數組、自定義數據類型、文件、構建大規模程序。本書提供源代碼、教學課件、教案、教學大綱、實驗詳細指導書、習題答案等教學資源。 本書假設讀者沒有任何編程背景,非常適合作為高等學校各專業“C語言程序設計”課程的教材,也可以作為各類程序設計學習者的自學用書。 "

目錄大綱

目錄

第1章C語言基本概念1

1.1計算機語言和程序2

1.1.1計算機語言2

1.1.2計算機程序2

1.1.3C語言2

1.1.4程序設計3

1.2算法和算法表示4

1.2.1算法的概念4

1.2.2算法的特征6

1.2.3算法的表示7

1.2.4算法的優化14

1.2.5結構化程序設計方法16

1.3C語言編程20

1.3.1編寫一個經典的C程序20

1.3.2編譯和鏈接22

1.4變量、表達式和賦值22

1.4.1類型23

1.4.2聲明23

1.4.3賦值24

1.4.4變量的初始化24

1.4.5顯示變量的值25

1.5從鍵盤讀取輸入25

1.6常量定義26

1.6.1宏常量26

1.6.2const常量27

1.7標識符28

1.8C程序的結構特點291.9C語言編程風格31

問與答32

習題133

目錄

第2章數據類型與表達式36

2.1變量聲明與表達式36

2.2基本數據類型37

2.3整型37

2.4浮點型40

2.5算術運算符與表達式41

2.5.1算術運算符41

2.5.2算術表達式44

2.6賦值運算符與表達式45

2.6.1賦值運算符46

2.6.2賦值表達式46

2.6.3復合賦值運算符及表達式46

2.7自增/自減運算符48

2.8字符型49

2.8.1字符操作49

2.8.2有符號字符與無符號字符49

2.8.3轉義序列50

2.9字符處理函數51

2.10類型轉換54

2.10.1算術運算過程中的轉換54

2.10.2賦值過程中的轉換56

2.10.3強制類型轉換57

2.11類型定義57

2.12sizeof運算符59

問與答59

習題262

實驗題65

第3章格式化輸入與輸出66

3.1輸出函數66

3.1.1轉換說明67

3.1.2轉義序列71

3.2輸入函數72

3.2.1轉換說明72

3.2.2scanf()函數的工作原理74

3.2.3格式控制串中的普通字符75

3.2.4scanf()和printf()函數常見錯誤79

問與答80

習題381

實驗題83

第4章選擇結構84

4.1關系、等式和邏輯運算符84

4.2邏輯運算符和表達式86

4.3復合語句88

4.4空語句88

4.5if語句88

4.6ifelse語句91

4.7if語句的嵌套92

4.8級聯式語句97

4.9switch語句98

4.10條件表達式101

4.11C語言中的布爾值102

4.12程序舉例與測試103

4.13本章擴展內容: 位運算107

4.13.1位運算符107

4.13.2位邏輯運算108

4.13.3移位運算109

4.13.4復合位運算賦值運算符109

4.13.5位運算的應用110

問與答111

習題4112

實驗題117

第5章循環結構119

5.1循環結構與循環語句119

5.2計數控制的循環126

5.3嵌套循環128

5.4條件控制的循環130

5.5流程的控制轉移136

5.5.1break語句136

5.5.2continue語句138

5.5.3goto語句139

5.6應用舉例141

問與答145

習題5147

實驗題151

第6章函數153

6.1模塊化程序設計153

6.2函數的定義154

6.2.1函數的分類154

6.2.2函數的定義155

6.2.3函數調用156

6.3函數原型聲明159

6.4實參162

6.5函數封裝與防禦性編程164

6.6函數設計的基本原則170

6.7函數的嵌套調用171

6.8函數的遞歸調用和遞歸函數172

6.9變量的作用域和存儲類型175

6.9.1變量的作用域175

6.9.2變量的存儲類型177

6.10模塊化程序設計實例182

問與答187

習題6189

實驗題194

第7章數組195

7.1一維數組195

7.2二維數組199

7.3一維數組作為函數參數201

7.3.1數組作為實參201

7.3.2變長數組作為形參202

7.4排序與查找207

7.5二維數組作為函數參數217

7.6C程序開發方法220

問與答223

習題7225

實驗題229

第8章指針230

8.1指針和指針變量230

8.2指針變量的定義和初始化231

8.3間接尋址運算符234

8.4指針變量作為函數參數237

8.5指針變量作為函數參數應用舉例240

8.6函數指針及其應用247

問與答250

習題8252

實驗題255

第9章字符串256

9.1字符串常量256

9.2字符串的存儲256

9.3字符指針258

9.4字符串的讀/寫259

9.4.1按%c格式控制符讀/寫259

9.4.2按%s格式控制符讀/寫260

9.4.3使用字符串處理函數進行讀/寫260

9.4.4逐個字符讀取字符串261

9.5字符串處理函數263

9.6字符串作為函數參數266

9.7從函數返回字符串指針267

問與答269

習題9270

實驗題273

第10章指針與數組275

10.1指針的運算275

10.2指針和一維數組的關系276

10.3指針和二維數組的關系281

10.4指針數組及其應用286

10.5動態數組291

10.5.1C程序的內存映像291

10.5.2動態內存分配函數292

10.5.3一維動態數組的內存分配294

10.5.4二維動態數組的內存分配295

問與答297

習題10298

實驗題300第11章自定義數據類型302

11.1用戶自定義數據類型和信息隱藏302

11.2結構體的定義303

11.3結構體變量的初始化305

11.4結構體的嵌套306

11.5結構體變量的引用306

11.6結構體變量在內存中的存儲形式308

11.7結構體數組的定義和初始化310

11.8結構體指針的定義和初始化313

11.9結構體作為函數參數315

11.10共用體320

11.11枚舉類型323

11.12單向鏈表327

11.12.1問題的提出327

11.12.2鏈表327

11.12.3單向鏈表的創建328

11.12.4單向鏈表的搜索331

11.12.5從單向鏈表中刪除節點332

問與答336

習題11337

實驗題340

第12章文件342

12.1文件分類342

12.2文件的打開與關閉343

12.3順序讀/寫文件345

12.3.1讀/寫字符346

12.3.2讀/寫字符串349

12.3.3格式化讀/寫文件351

12.3.4讀/寫數據塊355

12.4隨機讀/寫文件359

12.5標準輸入/輸出重定向361

問與答362

習題12364

實驗題366

第13章構建大規模程序368

13.1頭文件368

13.1.1#include指令的使用368

13.1.2定義共享類型和宏369

13.1.3共享函數原型370

13.1.4共享變量聲明370

13.1.5嵌套包含371

13.1.6保護頭文件371

13.1.7頭文件中的#error指令372

13.2源文件372

13.3多文件程序的設計373

13.4構建多文件程序377

13.4.1makefile文件378

13.4.2鏈接錯誤379

13.4.3重構程序379

13.4.4在程序外定義宏381

問與答382

習題13383

實驗題383

附錄384

附錄ADevC++和Visual C++下基本數據類型的取值範圍384

附錄B關鍵字384

附錄C運算符的優先級與結合性384

附錄DASCII字符表384

附錄EANSI C標準庫函數384

附錄FDevC++集成開發環境385

參考文獻386