C語言程序設計案例式教程(第2版)

黑馬程序員

  • 出版商: 人民郵電
  • 出版日期: 2022-10-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 272
  • ISBN: 7115598630
  • ISBN-13: 9787115598639
  • 相關分類: C 程式語言
  • 立即出貨 (庫存=1)

  • C語言程序設計案例式教程(第2版)-preview-1
  • C語言程序設計案例式教程(第2版)-preview-2
C語言程序設計案例式教程(第2版)-preview-1

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

商品描述

本書在《C語言程序設計案例式教程》的基礎上進行了完善、補充和修訂,內容更加豐富、翔實,結構層次更加清晰、合理。本書共11章,第1章主要介紹C語言概述、C語言開發環境的搭建和C語言程序的編譯機制等;第2章和第3章主要介紹C語言的基礎知識,包括關鍵字、標識符、常量、變量、數據類型、類型轉換、運算符與表達式等;第4~9章主要介紹C語言的核心知識,包括結構化程序設計、數組、函數、指針、字符串、結構體等;第10章和第11章主要介紹C語言的其他知識,包括預處理、文件管理。

本書配套有教學PPT、題庫、教學視頻、源代碼、教學設計等資源。同時,為了幫助初學者及時解決學習過程中遇到的問題,作者提供了免費的在線答疑平臺。

本書是C語言的入門教材,可作為高等教育本、專科院校電腦相關專業C語言程序設計課程的教材,也可作為程序愛好者的自學讀物。

作者簡介

黑马程序员,成立于2006年,它是传智教育旗下高端IT教育品牌,由中国Java培训先行者张孝祥老师发起,联合中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业,特别是“黑马程序员”的平均就业薪资已达到8K以上。为了迎合软件市场的需求,我们陆续开设了Java、网页平面、PHP、.Net、iOS、C/C++、Android等9个专业方向的课程,并且未来将逐渐开设其他专业方向的课程。随着传智播客的日益壮大,除了北京总部,我们在上海、广州、武汉、成都、深圳等地也创立了直营分支机构,传智播客俨然已成为了国内具专业口碑的IT教育机构。

目錄大綱

第 1章 初識C語言 1

1.1 C語言概述 1

1.1.1 C語言的發展歷史 1

1.1.2 C語言的標準 2

1.1.3 C語言的特點 2

1.1.4 C語言的應用領域 3

1.2 C語言開發環境的搭建 3

1.3 第 一個C語言程序 6

1.4 C語言程序的編譯機制 9

本章小結 10

本章習題 11

第 2章 C語言的基礎知識 12

【案例2-1】 我愛C語言 12

案例描述 12

知識需求 12

知識講解 12

1.printf()函數 12

2.scanf()函數 15

案例實現 16

【案例2-2】 計算圓的面積和周長 16

案例描述 16

知識需求 17

知識講解 17

1.關鍵字 17

2.標識符 19

3.常量 20

4.變量 21

案例實現 22

【案例2-3】 全國電腦等級考試信息的

 錄入 22

案例描述 22

知識需求 23

知識講解 23

1.字符類型 23

2.整型 24

3.浮點型 24

4.布爾型 25

案例實現 25

【案例2-4】 密碼破譯 26

案例描述 26

知識需求 26

知識講解 27

ASCII 27

案例實現 27

【案例2-5】 混合運算 27

案例描述 27

知識需求 28

知識講解 28

隱式類型轉換 28

案例實現 29

【案例2-6】 小明考試 29

案例描述 29

知識需求 30

知識講解 30

顯式類型轉換 30

案例實現 31

本章小結 32

本章習題 32

第3章 運算符與表達式 34

【案例3-1】 算術運算 34

案例描述 34

知識需求 34

知識講解 35

1.運算符與表達式 35

2.算術運算符與算術表達式 35

3.賦值運算符與賦值表達式 36

案例實現 37

【案例3-2】 魚與熊掌不可兼得 38

案例描述 38

知識需求 38

知識講解 39

1.關系運算符與關系表達式 39

2.條件運算符與條件表達式 39

案例實現 40

【案例3-3】 優先級 40

案例描述 40

知識需求 41

知識講解 41

1.邏輯運算符與邏輯表達式 41

2.運算符的優先級 42

案例實現 43

【案例3-4】 交換 44

案例描述 44

知識需求 44

知識講解 44

位運算符 44

案例實現 46

【案例3-5】 有容乃大 47

案例描述 47

知識需求 48

知識講解 48

sizeof運算符 48

案例實現 48

本章小結 49

本章習題 49

第4章 結構化程序設計 51

【案例4-1】 畫流程圖 51

案例描述 51

知識需求 51

知識講解 52

1.算法 52

2.流程圖 52

案例實現 53

【案例4-2】 判斷閏年 54

案例描述 54

知識需求 54

知識講解 54

1.if語句 54

2.if…else語句 55

3.if…else if…else語句 55

案例實現 56

【案例4-3】 安全生產 57

案例描述 57

知識需求 57

知識講解 57

1.switch語句 57

2.跳轉語句 59

案例實現 59

【案例4-4】 計算1到100的和 60

案例描述 60

知識需求 60

知識講解 61

1.while語句 61

2.do…while語句 61

案例實現 61

【案例4-5】 物不知數 62

案例描述 62

知識需求 63

知識講解 63

for語句 63

案例實現 63

【案例4-6】 九九乘法表 64

案例描述 64

知識需求 65

知識講解 65

循環嵌套 65

案例實現 66

【案例4-7】 百錢百雞 67

案例描述 67

案例實現 67

【案例4-8】 完美數 68

案例描述 68

案例實現 69

【案例4-9】 迴文素數 70

案例描述 70

案例實現 70

【案例4-10】 親密數 71

案例描述 71

案例實現 72

本章小結 73

本章習題 73

第5章 數組 75

【案例5-1】 士兵報數 75

案例描述 75

知識需求 76

知識講解 76

1.數組的概念 76

2.一維數組的定義與初始化 76

3.一維數組元素的引用 77

案例實現 77

【案例5-2】 最大值與最小值 78

案例描述 78

案例實現 78

【案例5-3】 學生成績排序 79

案例描述 79

知識需求 79

知識講解 79

1.冒泡排序 79

2.選擇排序 81

3.插入排序 82

案例實現 84

【案例5-4】 縱橫圖 85

案例描述 85

知識需求 86

知識講解 86

1.二維數組的定義與初始化 86

2.二維數組元素的訪問 87

3.二維數組的內存分配 88

案例實現 89

【案例5-5】 楊輝三角 91

案例描述 91

案例實現 92

【案例5-6】 矩陣轉置 93

案例描述 93

案例實現 94

【案例5-7】 斐波那契數列 95

案例描述 95

案例實現 95

本章小結 96

本章習題 97

第6章 函數 98

【案例6-1】 祖國生日快樂 98

案例描述 98

知識需求 99

知識講解 99

1.函數的概念 99

2.函數的定義 99

3.函數的調用過程 100

4.函數的調用方式 101

案例實現 102

【案例6-2】 簡易計算器 102

案例描述 102

知識需求 103

知識講解 103

1.函數名 103

2.參數列表 103

3.返回值類型 104

案例實現 105

【案例6-3】 漢諾塔 107

案例描述 107

知識需求 107

知識講解 108

遞歸函數 108

案例實現 109

【案例6-4】 0.99與1.01的差別 110

案例描述 110

案例實現 110

【案例6-5】 遠水不救近火 111

案例描述 111

知識需求 111

知識講解 112

1.局部變量 112

2.全局變量 112

案例實現 113

【案例6-6】 數據去重 114

案例描述 114

知識需求 114

知識講解 114

數組作為函數參數 114

案例實現 115

【案例6-7】 體測成績的判定 116

案例描述 116

知識需求 117

知識講解 117

1.多個文件之間的變量引用 117

2.多個文件之間的函數調用 118

案例實現 120

本章小結 126

本章習題 126

第7章 指針 128

【案例7-1】 交換內存數據 128

案例描述 128

知識需求 129

知識講解 129

1.認識電腦內存 129

2.指針的概念 130

3.指針變量的定義與引用 131

案例實現 133

【案例7-2】 3個數的排序 133

案例描述 133

知識需求 134

知識講解 134

1.指針作為函數參數 134

2.指針的交換 134

案例實現 135

【案例7-3】 用戶畫像 136

案例描述 136

知識需求 137

知識講解 137

1.指針的運算 137

2.數組名與指針的關系 138

3.一維數組指針 139

案例實現 140

【案例7-4】 快速排序 141

案例描述 141

案例實現 141

【案例7-5】 模擬Excel表格的功能 143

案例描述 143

知識需求 144

知識講解 144

1.二維數組指針 144

2.函數指針 145

案例實現 145

【案例7-6】 問捲調查 147

案例描述 147

知識需求 148

知識講解 148

1.動態數組的概念 148

2.內存申請 148

3.內存釋放 149

4.內存操作 149

案例實現 150

【案例7-7】 點名冊 151

案例描述 151

知識需求 151

知識講解 151

1.通過指針引用字符數組 151

2.指針數組 152

3.二級指針 154

案例實現 155

【案例7-8】 圍棋 156

案例描述 156

案例實現 156

本章小結 160

本章習題 160

第8章 字符串 162

【案例8-1】 取名器 162

案例描述 162

知識需求 163

知識講解 163

1.字符數組 163

2.字符串 164

3.字符串與指針 164

案例實現 166

【案例8-2】 員工入職 167

案例描述 167

知識需求 167

知識講解 167

1.gets()函數 167

2.puts()函數 168

案例實現 169

【案例8-3】 統計單詞的個數 170

案例描述 170

案例實現 170

【案例8-4】 分隔字符串 171

案例描述 171

知識需求 172

知識講解 172

字符串長度計算函數 172

案例實現 172

【案例8-5】 迴文詩 173

案例描述 173

案例實現 173

【案例8-6】 你中有我 174

案例描述 174

知識需求 175

知識講解 175

字符串查找函數 175

案例實現 176

【案例8-7】 文件替換 176

案例描述 176

知識需求 177

知識講解 177

1.字符串連接函數 177

2.字符串復制函數 178

案例實現 179

【案例8-8】 點名冊的排序 180

案例描述 180

知識需求 180

知識講解 180

字符串比較函數 180

案例實現 181

【案例8-9】 密碼 182

案例描述 182

知識需求 183

知識講解 183

單個字符操作函數 183

案例實現 184

【案例8-10】 去除字符串兩端的空格 187

案例描述 187

案例實現 187

【案例8-11】 迴文字符串 188

案例描述 188

案例實現(1) 188

案例實現(2) 189

本章小結 191

本章習題 191

第9章 結構體 193

【案例9-1】 名片製作 193

案例描述 193

知識需求 194

知識講解 194

1.結構體類型的定義 194

2.結構體變量的定義 195

3.結構體變量的初始化 196

4.結構體變量的存儲方式 196

5.結構體變量成員的訪問 197

案例實現 198

【案例9-2】 員工生日福利 200

案例描述 200

知識需求 200

知識講解 200

1.訪問嵌套結構體變量的成員 200

2.嵌套結構體的內存管理 201

案例實現 202

【案例9-3】 計算學生平均成績 203

案例描述 203

知識需求 203

知識講解 203

1.結構體數組的定義與初始化 203

2.結構體數組的訪問 204

案例實現 205

【案例9-4】 打漁曬網 206

案例描述 206

知識需求 206

知識講解 206

1.結構體變量作為函數參數 206

2.結構體數組作為函數參數 207

3.結構體指針作為函數參數 207

4.typedef關鍵字 207

案例實現 208

【案例9-5】 角色與權限 209

案例描述 209

知識需求 209

知識講解 209

1.共享體類型的定義 209

2.共享體變量的定義 210

3.共享體變量的初始化和引用 211

案例實現 212

【案例9-6】 學生成績管理系統 213

案例描述 213

案例實現 213

本章小結 224

本章習題 224

第 10章 預處理 227

【案例10-1】 環保購物袋 227

案例描述 227

知識需求 228

知識講解 228

1.不帶參數的宏 228

2.取消宏 229

案例實現 229

【案例10-2】 交換數組元素 230

案例描述 230

知識需求 231

知識講解 231

帶參數的宏 231

案例實現 232

【案例10-3】 包裝輸出 233

案例描述 233

知識需求 233

知識講解 233

文件包含 233

案例實現 234

【案例10-4】 32還是64? 235

案例描述 235

知識需求 235

知識講解 235

#if、#else和#endif指令 235

案例實現 235

【案例10-5】 勸學 236

案例描述 236

知識需求 236

知識講解 237

1.#ifdef 237

2.#ifndef 237

案例實現 240

【案例10-6】 拒絕除以0 241

案例描述 241

知識需求 241

知識講解 241

1.斷言 241

2.斷言與debug 241

案例實現 242

本章小結 243

本章習題 243

第 11章 文件管理 245

【案例11-1】 打開電子書 245

案例描述 245

知識需求 246

知識講解 246

1.電腦中的流 246

2.文件的概念 246

3.文件的分類 247

4.文件指針 247

5.文件的打開與關閉 248

案例實現 250

【案例11-2】 輸出文件內容 250

案例描述 250

知識需求 250

知識講解 251

1.文件位置指針 251

2.單字符讀寫文件 251

3.單行讀寫文件 252

案例實現 253

【案例11-3】 班級通訊錄 254

案例描述 254

案例實現 254

【案例11-4】 檔案存儲 255

案例描述 255

知識需求 256

知識講解 256

1.fread()函數 256

2.fwrite()函數 256

案例實現 256

【案例11-5】 評判數學試捲 258

案例描述 258

知識需求 259

知識講解 259

1.fscanf()函數 259

2.fprintf()函數 259

案例實現 260

【案例11-6】 圖書管理系統 262

案例描述 262

案例實現 262

本章小結 271

本章習題 271

附錄:ASCII表 273