C語言程式設計:基於計算思維培養

《C語言程式設計:基於計算思維培養》是電子工業出版社2015年出版的圖書,作者是楊俊生,譚志芳,王兆華。

內容簡介

本書系統地介紹了利用C語言進行程式設計的基本知識。全書共11章,主要內容包括算法與程式設計基礎、C語言的基本概念、數據類型與表達式、順序結構程式設計、選擇結構程式設計、循環結構程式設計、數組、函式、指針、結構體與共用體、檔案。在掌握C語言基礎知識和基本技能的前提下,以綜合案例開發、拓展與探究題目、思維導圖形式的課後總結為手段,以Microsoft Visio 2010和RAPTOR為工具,培養學生科學思維的意識和能力,使其養成嚴謹的程式設計風格和習慣,初步具備運用C語言解決實際問題的能力。

目錄信息

第1章 程式設計基礎 1

1.1 引例 1

1.1.1 軟硬體基礎 1

1.1.2 編寫程式 1

1.2 算法 3

1.2.1 算法及其特性 3

1.2.2 算法的表示方法 4

1.2.3 算法設計的基本方法 7

1.3 程式與程式設計 12

1.3.1 程式與程式設計語言 12

1.3.2 程式設計語言處理過程

13

1.3.3 計算機解題過程 15

1.3.4 程式設計方法 17

1.4 案例—“學生成績管理系統”

需求分析與模組圖的繪製 19

本章小結 21

探究性題目:使用RAPTOR進行程式設計 22

第2章 C語言概述 23

2.1 引例 23

2.2 C語言出現的歷史背景 23

2.3 C語言的特點 24

2.4 C程式結構和代碼書寫規則 25

2.4.1 C程式結構 25

2.4.2 代碼書寫規則 28

2.5 C程式的實現 31

2.5.1 C程式的實現步驟和調試 31

2.5.2 VC++6.0的使用 34

本章小結 38

探究性題目:C語言套用領域及其套用前景的分析 39

第3章 數據類型與表達式 40

3.1 引例 40

3.2 C語言的數據類型 40

3.3 常量與變數 41

3.3.1 常量 41

3.3.2 變數 43

3.3.3 常變數 44

3.4.4 標識符 44

3.4 基本數據類型 45

3.4.1 整型數據 45

3.4.2 浮點型數據 48

3.4.3 字元型數據 50

3.4.4 如何確定常量的類型 52

3.5 運算符和表達式 53

3.5.1 運算符和表達式簡介 53

3.5.2 算術運算符和算術表達式 53

3.5.3 賦值運算符和賦值表達式 55

3.5.4 逗號運算符和逗號表達式 56

3.5.5 位運算符與位運算表達式 56

3.6 類型轉換 59

3.6.1 隱含類型轉換 59

3.6.2 強制類型轉換 60

3.6.3 賦值過程中的類型轉換

60

3.7 案例—“學生成績管理系統”

中學生屬性數據的描述 62

3.7.1 任務描述 62

3.7.2 數據描述 62

3.7.3 算法描述 62

3.7.4 程式實現 62

本章小結 63

探究性題目:VC++6.0中浮點型數據

存儲形式 64

第4章 順序結構程式設計 65

4.1 引例 65

4.2 C語句概述 66

4.3 數據輸入/輸出 68

4.3.1 字元數據的輸入和輸出 68

4.3.2 格式輸入與輸出函式 69

4.4 順序結構程式設計 74

4.5 使用scanf()函式常見的問題 79

4.6 案例—“學生成績管理系統”

中用戶選單的設計與實現 84

本章小結 86

探究性題目:常用緩衝和非緩衝輸入

庫函式使用方法的剖析 87

第5章 選擇結構程式設計 88

5.1 引例 88

5.2 關係運算和邏輯運算 90

5.2.1 關係運算 90

5.2.2 邏輯運算 90

5.3 if語句 93

5.3.1 if語句的3種基本形式

93

5.3.2 if語句的嵌套 96

5.4 條件運算符 97

5.5 switch語句 98

5.6 選擇結構程式設計舉例 100

5.7 案例—“學生成績管理系統”

中用戶選單的選擇 107

5.7.1 任務描述 107

5.7.2 數據描述 107

5.7.3 算法描述 107

5.7.4 程式實現 108

本章小結 109

探究性題目:C編譯器對邏輯運算的

最佳化 110

第6章 循環結構程式設計 111

6.1 引例 111

6.2 概述 111

6.2.1 C語言中實現循環的5種

機制 111

6.2.2 goto語句以及用goto語句

構成循環 111

6.3 循環語句 113

6.3.1 while語句 113

6.3.2 do-while語句 114

6.3.3 for語句 115

6.3.4 幾種循環的比較 116

6.4 循環的嵌套 118

6.5 break語句和continue語句 119

6.5.1 break語句 119

6.5.2 continue語句 120

6.6 循環結構程式舉例 122

6.7 案例—“學生成績管理系統”

中用戶選單的循環選擇 130

6.7.1 任務描述 130

6.7.2 數據描述 130

6.7.3 算法描述 130

6.7.4 程式實現 131

本章小結 132

探究性題目:算法中循環結構的時間

複雜度分析 133

第7章 數組 134

7.1 引例 134

7.2 一維數組的定義和引用 135

7.2.1 一維數組的定義 135

7.2.2 一維數組的引用 136

7.2.3 一維數組的初始化 136

7.2.4 一維數組套用舉例 137

7.3 二維數組的定義和引用 146

7.3.1 二維數組的定義 146

7.3.2 二維數組的引用 147

7.3.3 二維數組的初始化 148

7.3.4 二維數組套用舉例 149

7.4 字元數組 152

7.4.1 字元數組的定義與引用

153

7.4.2 字元數組與字元串 153

7.4.3 字元數組的初始化 154

7.4.4 字元數組的輸入/輸出 154

7.4.5 字元串處理函式 156

7.4.6 字元數組套用舉例 159

7.5 案例—以數組為數據結構實現“學生成績管理系統” 160

7.5.1 任務描述 160

7.5.2 數據描述 160

7.5.3 算法描述 160

7.5.4 程式實現 161

本章小結 163

探究性題目:高精度計算 164

第8章 函式 165

8.1 引例 165

8.2 函式的分類和定義 166

8.2.1 函式的分類 166

8.2.2 函式定義的一般形式 167

8.3 函式的調用 168

8.3.1 函式調用概述 168

8.3.2 形式參數和實際參數 169

8.3.3 函式的返回值 171

8.3.4 函式原型 172

8.4 數組作為函式參數 173

8.4.1 數組元素作函式實參 173

8.4.2 數組名作函式參數 174

8.4.3 多維數組名作函式參數

177

8.5 函式的嵌套調用和遞歸調用 178

8.5.1 函式的嵌套調用 178

8.5.2 函式的遞歸調用 180

8.6 變數的作用域 184

8.6.1 局部變數 184

8.6.2 全局變數 184

8.6.3 同名變數的作用域重合

問題 186

8.7 變數的存儲類別 188

8.7.1 動態存儲方式與靜態存儲方式 188

8.7.2 auto變數和register變數 189

8.7.3 用extern聲明外部變數

189

8.7.4 static變數 191

8.8 內部函式和外部函式 192

8.9 預處理命令 192

8.10 再論C程式組織結構 197

8.11 案例—以函式為模組化設計手段改寫“學生成績管理系統” 200

8.11.1 任務描述 200

8.11.2 模組劃分 200

8.11.2 接口設計 201

8.11.3 主模組的實現 202

8.11.4 子模組的實現 204

本章小結 206

探究性題目:C語言中函式調用機理的探討 207

第9章 指針 208

9.1 引例 208

9.2 地址和指針的概念 209

9.2.1 地址和指針 209

9.2.2 記憶體單元的地址與記憶體單

元的值 210

9.2.3 直接訪問與間接訪問 210

9.3 指針變數 210

9.3.1 指針變數的定義 210

9.3.2 指針變數的引用 211

9.3.3 指針變數作為函式參數

212

9.4 指針與數組 214

9.4.1 一維數組與指針 214

9.4.2 二維數組與指針 219

9.5 字元串與指針 223

9.5.1 通過指針訪問字元串常量 223

9.5.2 通過指針訪問字元數組

224

9.5.3 字元指針作函式參數 224

9.5.4 使用字元指針變數和字

數組的比較 225

9.6 指針與函式 226

9.6.1 用函式指針變數調用函式 226

9.6.2 返回指針值的函式 227

9.7 指針數組和指向指針的指針 228

9.7.1 指針數組的概念 228

9.7.2 指向指針的指針 230

9.7.3 指針數組作main函式的

形參 231

9.8 動態記憶體分配 233

9.8.1 C程式存儲空間布局 233

9.8.2 動態記憶體分配函式 233

9.9 案例—以指針為編程手段改寫

“學生成績管理系統” 236

9.9.1 任務描述 236

9.9.2 數據描述 236

9.9.3 算法描述 236

9.9.4 程式實現 236

本章小結 240

探究性題目:使用C語言實現動態數組 241

第10章 結構體與共用體 242

10.1 引例 242

10.2 結構體類型與結構體變數 243

10.2.1 結構體類型的聲明 243

10.2.2 結構體變數的定義 245

10.2.3 結構體變數的引用和初

始化 246

10.3 結構體數組 250

10.3.1 結構體數組的定義和初

始化 250

10.3.2 結構體數組套用舉例

251

10.4 指向結構體類型數據的指針

252

10.4.1 指向結構體變數的指針 252

10.4.2 指向結構體數組的指針 254

10.4.3 結構體變數和指向結構體的指針作函式參數 255

10.5 線性表 259

10.5.1 線性表概述 259

10.5.2 線性表的順序表示和實現 259

10.5.3 線性表的鏈式表示和實現 261

10.6 共用體 265

10.6.1 共用體的概念 265

10.6.2 共用體變數的引用方式 266

10.6.3 共用體的數據類型的數據

特徵 267

10.7 枚舉類型 268

10.8 用typedef聲明新類型名 269

10.9 案例—以線性表為數據結構改

寫“學生成績管理系統” 270

10.9.1 任務描述 270

10.9.2 數據描述 271

10.9.3 算法描述 271

10.9.4 程式實現 271

本章小結 275

探究性題目:用C語言實現Excel中多欄位排序 276

第11章 檔案 277

11.1 引例 277

11.2 C檔案概述 277

11.2.1 檔案 277

11.2.2 檔案標識 278

11.2.3 檔案的分類 278

11.2.4 檔案緩衝區 279

11.2.5 檔案類型指針 280

11.2.6 C語言中檔案操作的基本

步驟 281

11.3 檔案的打開與關閉 282

11.3.1 檔案的打開 282

11.3.2 檔案的關閉 283

11.4 檔案的順序讀寫 283

11.4.1 字元的讀寫 283

11.4.2 字元串的讀寫 285

11.4.3 格式化讀寫 288

11.4.4 數據塊的讀寫 289

11.5 檔案的隨機讀寫 291

11.6 檔案讀寫的出錯檢測 293

11.7 案例—“學生成績管理系統”中學生數據 檔案的輸入與輸出 294

本章小結 297

探究性題目:漢字點陣字型檔中漢字點陣的提取與顯示操作初探 298

附錄A C語言中的關鍵字 299

附錄B C運算符的優先權與結合性 300

附錄C 常用ASCII字元表 301

附錄D 常用庫函式 302

參考文獻 306

相關詞條

熱門詞條

聯絡我們