從零開始學C語言(第2版)(含DVD光碟1張)

從零開始學C語言(第2版)(含DVD光碟1張)

《從零開始學C語言(第2版)(含DVD光碟1張)》是2014年10月電子工業出版社出版的圖書,作者是戴晟暉 馮志強。

內容簡介

為了使初學者都更好地掌握這門高級語言——C 語言,本書系統地介紹了程式設計的基本理論與編程技術。每一個知識點都作為一個獨立的章節進行詳細的講解,目的在於讓讀者在學習C 語言的過程中,能循序漸進、由淺入深。

《從零開始學C語言(第2版)》共4 篇分為18 章,內容包括C 語言入門基礎,C 語言程式,常量,變數與標識符,數據類型,運算符及其表達式,輸入與輸出,順序結構與選擇結構,循環結構程式設計,結構語句的轉移,數組,函式,指針,結構體,共用體和檔案等內容。最後的實例篇,運用C 語言建立一個學生成績管理系統,通過對該系統的界面設計、功能分析、模組描述,使讀者對C 語言程式設計有一個更加系統、深刻的理解。

《從零開始學C語言(第2版)》配DVD 光碟1 張,內容為本書的實例檔案和作者專門為本書錄製的全程多媒體語音教學視頻。

《從零開始學C語言(第2版)》內容全面,論述翔實,適合C 語言的初學者,也可作為大、中專院校師生的培訓教材。對於C 語言愛好者,《從零開始學C語言(第2版)》也有很大的參考價值。

從零開始學編程

從零開始學 C 語言(第 2 版) ( DVD 光碟 1 )

戴晟暉 馮志強 等 編著

ISBN 978-7-121-24305-9

2014 年10月出版

定價:49.80元

320

16

內容提要

為了使初學者都更好地掌握這門高級語言——C 語言,本書系統地介紹了程式設計的基本理論與編程技術。每一個知識點都作為一個獨立的章節進行詳細的講解,目的在於讓讀者在學習C 語言的過程中,能循序漸進、由淺入深。

《從零開始學C語言(第2版)》共4 篇分為18 章,內容包括C 語言入門基礎,C 語言程式,常量,變數與標識符,數據類型,運算符及其表達式,輸入與輸出,順序結構與選擇結構,循環結構程式設計,結構語句的轉移,數組,函式,指針,結構體,共用體和檔案等內容。最後的實例篇,運用C 語言建立一個學生成績管理系統,通過對該系統的界面設計、功能分析、模組描述,使讀者對C 語言程式設計有一個更加系統、深刻的理解。

《從零開始學C語言(第2版)》配DVD 光碟1 張,內容為本書的實例檔案和作者專門為本書錄製的全程多媒體語音教學視頻。

《從零開始學C語言(第2版)》內容全面,論述翔實,適合C 語言的初學者,也可作為大、中專院校師生的培訓教材。對於C 語言愛好者,《從零開始學C語言(第2版)》也有很大的參考價值。

目錄

第1 篇 C 語言入門

第1 章 C 語言入門基礎(教學視頻:58 分鐘) .............. 1

1.1 計算機語言的演變................ 1

1.1.1 機器語言................... 1

1.1.2 彙編語言................... 1

1.1.3 高級語言................... 1

1.1.4 面向對象或面向問題的高級語言........... 2

1.2 數制、數制轉換與存儲......... 2

1.2.1 數制....... 2

1.2.2 數制的轉換............... 3

1.2.3 計算機中數據的存儲.......... 4

1.3 程式設計思想——算法......... 5

1.3.1 算法的概念............... 5

1.3.2 算法的特點............... 5

1.3.3 算法的表示方法........ 6

1.3.4 算法分析................... 8

1.4 C 語言的發展簡史和特點............... 8

1.4.1 C 語言的誕生與發展.......... 9

1.4.2 C 語言的特點.......... 10

1.5 本章小結......... 11

1.6 習題.................. 11

第2 章認識C 語言程式(教學視頻:30 分鐘) ........... 12

2.1 C 語言程式的結構特徵....... 12

2.2 C 語言程式的書寫風格....... 14

2.3 C 語言程式的開發過程....... 15

2.4 Visual C++集成開發環境.............. 16

2.4.1 熟悉Visual C++ 6.0 集成開發環境....... 17

2.4.2 C 語言在Visual C++ 6.0 的開發過程............. 18

2.5 用Visual C++ 6.0 運行一個C 程式.......... 19

2.6 本章小結......... 20

2.7 習題.................. 20

第2 篇 C 語言基礎

第3 章常量、變數與標識符(教學視頻:17 分鐘).................21

3.1 標識符.............21

3.1.1 標識符的命名.......... 21

3.1.2 保留字..................... 21

3.2 常量.................. 22

3.2.1 直接常量................. 22

3.2.2 符號常量................. 22

3.3 變數.................. 23

3.3.1 變數的定義............. 23

3.3.2 變數初始化的方法............ 23

3.4 變數的初始化...................... 24

3.5 本章小結......... 24

3.6 習題.................. 24

第4 章數據類型(教學視頻:28 分鐘)..............25

4.1 C 語言中的數據類型........... 25

4.1.1 基本數據類型.......... 25

4.1.2 構造數據類型.......... 26

4.1.3 指針數據類型.......... 26

4.1.4 空類型..................... 26

4.2 整型數據......... 26

4.2.1 整型常量................. 27

4.2.2 整型變數................. 27

4.3 實數型數據.................. 28

4.3.1 實數型常量............. 29

4.3.2 實數型變數............. 29

4.4 字元型數據.................. 30

4.4.1 字元型常量............. 30

4.4.2 字元型變數............. 31

4.5 數值型數據間的混合運算............. 33

4.5.1 自動類型轉換.......... 33

4.5.2 強制類型轉換.......... 34

4.6 本章小結......... 36

4.7 習題.................. 36

第5 章運算符及其表達式(教學視頻:57 分鐘) ........37

5.1 算術運算符及算術表達式............. 37

5.1.1 算術運算符............. 37

5.1.2 算術表達式............. 39

5.2 賦值運算符及賦值表達式............. 39

5.2.1 賦值運算符............. 40

5.2.2 賦值表達式............. 41

5.3 關係運算符及關係表達式............. 42

5.3.1 關係運算符............. 42

5.3.2 關係表達式............. 43

5.4 邏輯運算符及邏輯表達式............. 44

5.4.1 邏輯運算符............. 44

5.4.2 邏輯運算規則......... 45

5.4.3 邏輯表達式............. 46

5.5 條件運算符及條件表達式............. 48

5.5.1 條件運算符............. 48

5.5.2 條件表達式............. 49

5.6 逗號運算符及逗號表達式............. 52

5.6.1 逗號運算符............. 52

5.6.2 逗號表達式............. 53

5.7 位運算符......... 54

5.7.1 位邏輯運算符......... 54

5.7.2 移位運算符............. 56

5.7.3 位自反賦值運算符............ 57

5.8 位運算符......... 58

5.9 本章小結......... 59

5.10 習題............... 59

第6 章輸入與輸出(教學視頻:65 分鐘).......... 60

6.1 C 語句概述.................. 60

6.1.1 流程控制語句......... 60

6.1.2 函式調用語句......... 64

6.1.3 表達式語句............. 64

6.1.4 空語句..................... 64

6.1.5 複合語句................. 64

6.2 輸入與輸出函式.................. 65

6.2.1 格式輸出函式......... 65

6.2.2 格式輸入函式......... 68

6.2.3 字元輸入與字元輸出函式............. 72

6.3 整型數據的輸入與輸出....... 74

6.3.1 整型數據的輸出.................. 74

6.3.2 整型數據的輸入.................. 76

6.4 浮點型數據的輸入與輸出............. 76

6.5 本章小結......... 77

6.6 習題.................. 77

第7 章順序結構與選擇結構(教學視頻:35 分鐘).................78

7.1 順序結構程式設計.............. 78

7.2 選擇結構程式設計.............. 80

7.2.1 if 語句..................... 80

7.2.2 switch 語句.............. 85

7.3 套用舉例......... 88

7.4 本章小結......... 91

7.5 習題.................. 91

第8 章循環結構程式設計(教學視頻:54 分鐘) ........92

8.1 while 語句........ 92

8.2 do…while 語句.................... 94

8.3 for 語句............ 97

8.3.1 for 循環結構............ 97

8.3.2 for 循環語句的嵌套........ 100

8.4 總結套用....... 102

8.4.1 幾種循環的比較.............. 102

8.4.2 循環語句的嵌套.............. 103

8.4.3 套用舉例............... 105

8.5 本章小結....... 108

8.6 習題............... 108

第9 章結構語句的轉移(教學視頻:13 分鐘) ..........109

9.1 break 語句.................. 109

9.2 跳出循環結構.................... 111

9.2.1 問題1.................... 111

9.2.2 問題2.................... 112

9.3 continue 語句..................... 113

9.4 goto語句....... 114

9.5 本章小結....... 115

9.6 習題............... 115

第3 篇 C 語言進階

第10 章數組(教學視頻:78 分鐘) .........116

10.1 數組的概述...................... 116

10.2 一維數組.................. 117

10.2.1 一維數組的定義............ 117

10.2.2 一維數組的初始化........ 118

10.2.3 一維數組的引用............ 119

10.2.4 一維數組的程式舉例................ 120

10.3 二維數組.................. 126

10.3.1 二維數組的定義............ 126

10.3.2 二維數組的初始化........ 127

10.3.3 二維數組的引用............ 129

10.3.4 數組的程式舉例............ 131

10.4 本章小結.................. 133

10.5 習題............. 133

第11 章字元數組(教學視頻:45 分鐘) ......... 134

11.1 字元數組的定義....................134

11.2 字元數組的初始化................134

11.3 字元數組的引用....................135

11.4 字元數組與字元串的關係..............135

11.5 字元數組的輸入與輸出........136

11.6 字元串處理函式....................137

11.6.1 輸入字元串函式gets .........138

11.6.2 輸出字元串函式puts .........138

11.6.3 字元串測長度函式strlen ...............138

11.6.4 字元串比較函式strcmp.................138

11.6.5 字元串複製函式strcpy和strncpy ........139

11.6.6 字元串連線函式strcat .......139

11.7 套用舉例............140

11.8 本章小結............145

11.9 習題.........145

第12 章函式(教學視頻:43 分鐘)......... 146

12.1 函式的初步認識.............. 146

12.2 函式定義.................. 148

12.2.1 無參函式定義.................. 148

12.2.2 有參函式定義.................. 149

12.2.3 空函式定義......... 149

12.3 函式參數及返回值.......... 150

12.3.1 函式的參數......... 150

12.3.2 函式的返回值.................. 152

12.4 函式的參數傳遞.............. 153

12.4.1 函式參數的數值傳遞................ 153

12.4.2 函式參數的地址傳遞................ 154

12.5 套用舉例.................. 155

12.6 本章小結.................. 157

12.7 習題.............157

第13 章函式的調用(教學視頻:75 分鐘)..................158

13.1 函式調用的一般形式............158

13.2 函式調用的形式....................159

13.3 被調用函式的聲明與函式原型..................160

13.4 函式的嵌套調用和遞歸調用..........163

13.4.1 函式的嵌套調用.......163

13.4.2 函式的遞歸調用.......164

13.5 變數作用域........165

13.5.1 變數作用域和生存期.........165

13.5.2 局部變數和全局變數.........165

13.5.3 變數存儲類別...........168

13.6 編譯預處理........172

13.6.1 宏定義.......................173

13.6.2 檔案包含處理...........176

13.6.3 條件編譯...................177

13.7 本章小結............178

13.8 習題.........178

第14 章指針操作(教學視頻:67 分鐘)..........179

14.1 指針與地址...................... 179

14.2 指針和指針變數.............. 179

14.2.1 指針變數的定義............ 180

14.2.2 指針變數的引用............ 181

14.2.3 指針的運算......... 183

14.3 指針和數組...................... 186

14.3.1 數組的指針和指向數組的指針變數............ 187

14.3.2 指針數組和指向指針的指針............. 190

14.3.3 指向字元串的指針........ 193

14.3.4 數組名作為函式參數................ 194

14.4 指針和函式...................... 198

14.4.1 函式的指針和指向函式的指針變數............ 198

14.4.2 用指向函式的指針作為函式參數............... 199

14.4.3 指針數組作為函式參數............. 205

14.4.4 返回指針值的函式........ 206

14.4.5 字元串指針作為函式參數......... 207

14.5 本章小結.................. 208

14.6 習題............. 208

第15 章結構體(教學視頻:77 分鐘) ............. 209

15.1 結構體類型定義.............. 209

15.1.1 結構體類型的說明........ 209

15.1.2 結構體類型的定義........ 209

15.2 結構體變數的定義與引用......... 211

15.2.1 結構體變數的定義與初始化............. 211

15.2.2 結構體變數的引用........ 213

15.3 結構數組.................. 216

15.3.1 結構數組的定義............ 216

15.3.2 結構數組的引用............ 217

15.4 結構體指針...................... 219

15.4.1 結構體指針變數的定義............ 219

15.4.2 結構體指針變數的引用............ 220

15.5 鍊表............. 223

15.5.1 鍊表概述............. 223

15.5.2 單鍊表建立......... 225

15.5.3 單鍊表簡單操作............ 229

15.6 本章小結.................. 238

15.7 習題............. 238

第16 章共用體(教學視頻:43 分鐘) ............. 239

16.1 共用體類型定義.............. 239

16.1.1 定義共用體......... 239

16.1.2 共用體的存儲.................. 240

16.2 共用體類型變數、數組和指針變數的定義............. 241

16.2.1 先定義共用體,再定義共用體變數、數組及指針變數........... 241

16.2.2 定義共用體的同時定義共用體變數、數組及指針變數........... 241

16.2.3 定義共用體變數、數組及指針變數時省略共用體名............... 242

16.3 共用體類型變數、數組和指針變數的引用............. 242

16.4 共用體套用舉例.............. 244

16.5 枚舉類型.................. 246

16.5.1 枚舉類型的定義............ 246

16.5.2 枚舉類型變數的賦值和引用............. 247

16.6 用typedef定義數據類型........... 249

16.7 本章小結.................. 253

16.8 習題............. 253

第17 章檔案(教學視頻:58 分鐘) .........254

17.1 檔案概述.................. 254

17.1.1 檔案名稱................. 254

17.1.2 檔案的類型......... 255

17.2 檔案類型指針.................. 255

17.3 檔案的打開與關閉........... 257

17.3.1 檔案打開函式fopen()................ 257

17.3.2 檔案關閉函式fclose() ............... 259

17.4 檔案的讀寫操作.............. 259

17.4.1 字元讀寫函式.................. 259

17.4.2 字元串讀寫函式............ 262

17.4.3 數據塊讀寫函式............ 265

17.4.4 格式數據讀寫函式........ 268

17.5 檔案的定位...................... 269

17.5.1 檔案頭定位函式rewind().......... 269

17.5.2 檔案隨機定位函式fseek()......... 270

17.5.3 測試當前位置函式ftell()........... 271

17.6 檔案的檢測...................... 272

17.6.1 檔案末尾檢測函式feof()........... 272

17.6.2 檔案讀寫出錯檢測函式ferror() ........ 273

17.6.3 清除檔案末尾和出錯標誌函式clearerr() ................ 274

17.7 本章小結.................. 274

17.8 習題.............274

第4 篇案例實戰

第18 章學生成績管理系統設計(教學視頻:18 分鐘).........275

18.1 學生成績管理系統功能............. 275

18.2 功能模組的描述.............. 275

18.2.1 數據結構............. 275

18.2.2 main()主函式....... 276

18.2.3 score *creatlink()創建動態鍊表......... 276

18.2.4 void print(score *head)顯示學生信息.......... 277

18.2.5 score *add(score *head,score *stu)向鍊表中添加學生數據........ 277

18.2.6 score *search(score *head)查詢學生成績................. 277

18.2.7 score *dele(score *head)刪除數據.................. 278

18.2.8 score *sortdata(score *head)對數據進行排序........... 278

18.2.9 save(score *p1)保存數據........... 278

18.2.10 score *load(score *head)從檔案中讀取數據.......... 278

18.2.11 score *statistics(score *head)成績統計....... 279

18.2.12 int menu(int k)選單.................. 279

18.2.13 用到的頭檔案和全局變數............... 279

18.3 程式代碼.................. 279

18.3.1 主函式main()代碼........ 279

18.3.2 創建鍊表函式creatlink()........... 280

18.3.3 顯示學生信息函式print() ......... 283

18.3.4 向鍊表中添加學生數據函式add().............. 283

18.3.5 查詢學生成績函式search ......... 285

18.3.6 刪除數據函式dele ........ 286

18.3.7 對數據進行排序函式sortdata()......... 287

18.3.8 保存數據函式save() ................. 290

18.3.9 從檔案中讀取數據函式loadfile() ............... 290

18.3.10 成績統計函式statistics() ......... 291

18.4 程式運行.................. 293

18.4.1 編輯學生成績.................. 293

18.4.2 顯示學生成績.................. 293

18.4.3 保存學生成績信息........ 294

18.4.4 查詢學生的成績............ 294

18.4.5 添加學生的成績............ 294

18.4.6 刪除學生的成績............ 294

18.4.7 學生成績排序.................. 295

18.4.8 從檔案中讀取學生的成績......... 295

18.4.9 統計學生的成績............ 295

18.5 本章小結.................. 295

附錄A ASCII 字元集........ 296

附錄B 運算符的優先權與結合性......... 298

附錄C C語言常用庫函式.................... 301

附錄D 安裝Visual C++ 6.0 集成開發環境....... 304

前言

近年來,C語言是套用最為廣泛的一種高級程式設計語言,它不僅是計算機專業學生的必修課,也是許多非計算機專業學生所青睞的技術學科。C語言程式設計是全國和各省計算機等級考試的重要考試內容。C語言功能豐富,表達能力強,使用靈活方便,程式效率高,是結構化程式設計語言。C語言具有很強的實用性,既可用來編寫套用軟體,也適合於編寫系統軟體。

本書的特點

C語言是學習其他語言的基礎,讀者只要掌握C語言,學習其他語言就會很快入門。本書為了使讀者能夠從C語言的初學者成為編程高手,專門對C語言知識進行研究分析。本書的主要特點如下:

結構清晰明了。本書共18章,每章都分為若干節,每節一個小知識點,結構層次清晰可見。

內容全面詳細。本書涵蓋了C語言中的所有知識,並將C語言各個知識點作為單獨章節進行講解,並舉出大量實例。

講解由淺入深。向讀者介紹C語言的基本理論知識、數據結構和基本的編程規則,讓讀者對C語言的基本知識及結構化程式設計思想有一個初步的認識;接著對C語言一些複雜的數據結構類型如數組、函式、指針操作、結構體與共用體、檔案等進行詳細的講解。

實例豐富多樣。本書所講的每一個知識點都運用充分的實例進行講解說明,便於讀者掌握。

知識點介紹準確、清晰是其顯著特點,一般放在每一節開始位置,讓零基礎的讀者了解相關概念,順利入門。

實例書中出現的完整實例,以章節順序編號,便於檢索和循序漸進地學習、實踐,各實例均放在每節知識點介紹之後。

實例代碼與實例編號對應,層次清楚、語句簡潔、注釋豐富,體現了代碼優美的原則,有利於讀者養成良好的代碼編寫習慣。

運行結果對實例給出運行結果和對應圖示,幫助讀者更直觀地理解實例代碼。

習題每章最後提供專門的測試習題,供讀者檢驗所學知識是否牢固掌握。

貼心的提示為了便於讀者閱讀,全書還穿插著一些技巧、提示等小貼士。體例約定如下:

提示:通常是一些貼心的提醒,讓讀者加深印象或提供建議,或者解決問題的方法。

注意:提出學習過程中需要特別注意的一些知識點和內容,或者相關信息。

警告:對操作不當或理解偏差將會造成的災難性後果做警示,以加深讀者印象。

經作者多年的培訓和授課證明,以上講解方式是最適合初學者學習的方式,讀者按照這種方式,會非常輕鬆、順利地掌握本書知識。

2.實用超值的DVD光碟

為了幫助讀者比較直觀地學習,本書附贈DVD光碟,內容包括多媒體視頻、電子教案(PPT)和實例原始碼等。

多媒體視頻

配有長達15小時手把手教學視頻,講解關鍵知識點界面操作和書中的一些綜合練習題。作者親自配音、演示,手把手教會讀者使用。

電子教案(PPT)

本書可以作為高校相關課程的教材或課外輔導書,所以筆者特別為本書製作了電子教案(PPT),以方便老師教學使用。

3.提供完善的技術支持

本書提供了論壇,讀者可以在上面提問交流。另外,論壇上還有一些小的教程、視頻動畫和各種技術文章,可幫助讀者提高開發水平。

適合閱讀本書的讀者

C語言的初、中級讀者。

了解C語言,但所學不全面的人員。

高等理科院校學習C語言課程的學生。

使用C語言進行畢業設計的學生。

熟悉其他語言,以此作為參考書的開發人員。

本書作者

本書主要由戴晟暉和馮志強編寫。其他參與本書編寫的人員有曾光、張雙、朱照華、黃永湛、張賀軍、李勇、關濤、王岩、李曉白、魏星、劉蕾、品峰軍、張增強。在此一併表示感謝!

熱門詞條

聯絡我們