玩轉C語言程式設計

玩轉C語言程式設計

《玩轉C 語言程式設計》 是編程愛好者學習C 語言的全新入門教程。本書通過通俗易懂的語言、豐富多彩的實例、趣味十足的實戰項目、簡單直觀的流程圖以及答題闖關測試題等形式,把C 語言這門入門級程式語言活靈活現地展示在廣大讀者面前,創設了趣學編程、學習與生活相統一的學習氛圍。本書分為11 章,分別為C 語言從這裡開始、C 語言語法基礎、程式基本構件之運算符、選擇流程控制、循環控制語句、數組的簡歷、字元串處理技術、自主創建函式模組、指針—指向記憶體地址的變數、結構體與共用體,檔案I/O 流等內容。

C語言簡介

C 語言是一門基礎的程式語言,兼具高級語言和彙編語言的特性,既可以編寫系統應用程式,又可以作為應用程式設計語言,並且不依賴計算機硬體。C 語言使用方便、靈活,語言簡潔、緊湊,具有豐富的運算符及數據類型,程式設計自由度大,所以這門語言具有較強的生命力,雖然歷經了近50年的發展歷程,但在眾多程式語言中仍然占據著十分重要的位置。

C 語言層次清晰,便於按模組方式組織程式,易於調試和維護,所以它的套用範圍特別廣泛,可以套用於軟體開發、單片機設計及嵌入式系統開發等諸多領域。基於此,編程學習者將C 語言作為學習程式語言的入門語言,既可以通過它開發軟體,也可在其基礎上學習更高級的語言。

主要內容

本書突破了以往圖書按部就班地講解知識的限制,將編程學習同生活緊密地聯繫在一起,讓讀者真切地感知人類生活中的許多事情都可以用編程來描述、解決和實現,逐漸產生對C 語言等程式語言的興趣。

本書通過百度雲盤、光碟、網站等載體向讀者提供了優質的學習資源:掃描書中提供二維碼,可以觀看精彩的知識點視頻;在光碟及網站中給出了本書的實例源碼,方便讀者學習;登錄明日學院網站可以獲取更多的資源和技術支持。

目錄

第1章 C 語言從這裡開始....................1

1.1 認識C語言的強大.........................................2

1.1.1 C語言是什麼......................................2

1.1.2 C語言與C++、VC++做比較...............3

1.1.3 學會了C語言能做什麼........................4

1.2 常用C語言開發環境.....................................6

1.2.1 Turbo C ..............................................6

1.2.2 Microsoft Visual C++6.0 .....................6

1.2.3 Microsoft Visual Studio 2017 .............7

1.2.4 GCC編譯器(Linux平台).................7

1.2.5 Dev-C++ ............................................7

1.3 一個完整的C語言開發過程..........................8

1.3.1 創建項目.............................................8

1.3.2 輸入代碼........................................... 11

1.3.3 編譯程式........................................... 11

1.3.4 運行程式...........................................12

1.3.5 調試程式...........................................13

1.4 分析C程式的構成.......................................14

1.4.1 頭檔案..............................................14

1.4.2 主函式..............................................15

1.4.3 輸出函式...........................................15

實例01 輸出“小豬”表情....................16

實例02 跟我一起來饒舌........................17

實例03 雞兔同籠問題............................18

1.4.4 輸入函式...........................................19

實例04 字母大小寫的秘密....................20

實例05 模擬用戶登錄............................20

實例06 用C程式輸出《拍手歌》...........22

1.5 小試牛刀....................................................22

實戰一列印台階....................................22

實戰二輸出田字格.................................23

實戰三繪製《植物大戰殭屍》中的

石頭怪.........................................23

實戰四輸出“情人節快樂”..................23

1.6 答題闖關大作戰.........................................24

第2章第2章 C 語言語法基礎.....................29

2.1 標識符........................................................30

2.2 關鍵字........................................................31

2.3 程式注釋....................................................32

2.4 常量和變數.................................................33

2.5 聚焦數據類型.............................................34

2.5.1 基本數據類型...................................35

實例01 美國溫度轉換為中國溫度..........37

2.5.2 構造類型...........................................39

2.5.3 指針類型...........................................40

2.5.4 void類型...........................................40

2.6 自動轉換和強制轉換..................................40

實例02 計算德邦物流車承載數.............41

2.7 小試牛刀....................................................42

實戰一關愛健康,計算BMI值................42

IV

實戰二對暗號........................................42

實戰三模擬超市抹零結賬......................43

實戰四原來“頂”還可以這樣寫...........43

2.8 答題闖關大作戰.........................................43

第3章第3章 程式基本構件之運算符..........48

3.1 算術運算符.................................................49

實例01 支付寶年賬單來了,請簽收......50

3.2 自增、自減運算符......................................51

實例02 統計《演員的誕生》丫頭的

得票數.......................................52

3.3 關係運算符.................................................53

實例03 面積之爭:比較扇形面積和

圓錐的側面積的大小.................53

3.4 邏輯運算符.................................................54

實例04 大學畢業季:智聯招聘投簡歷...55

3.5 位運算符.................................................56

實例05 為密碼二次加密........................58

3.6 用“=”賦值..............................................58

3.7 逗號運算符.................................................60

3.8 運算符優先權.............................................61

實例06 誰帶括弧誰老大:計算

算式的值...................................62

3.9 小試牛刀....................................................63

實戰一模擬支付寶螞蟻莊園的飼料

產生過程.....................................63

實戰二模擬某綜藝節目點擊率實時

更新情況.....................................63

實戰三根據行走總步數計算消耗的

熱量值........................................63

實戰四參加手機店的打折活動...............64

3.10 答題闖關大作戰.......................................64

第4章第4章 選擇流程控制.........................69

4.1 if語句..........................................................70

4.1.1 if條件語句.........................................70

實例01 CocaCola & coffee,要喝點啥...71

4.1.2 if …else語句.....................................72

實例02 綠燈亮了,可以過路口啦..........73

4.1.3 if語句和else if語句搭配使用.............73

實例03 微信小程式,我該玩哪個..........75

4.2 if語句嵌套..................................................76

實例04 放假去哪兒嗨............................77

4.3 有條件的三目運算符..................................79

實例05 輸出美團外賣訂單金額.............79

4.4 多種選擇switch語句...................................80

實例06 模擬自動售貨機........................82

實例07 等你的季節...............................84

4.5 小試牛刀....................................................86

實戰一打車付費問題.............................86

實戰二輸出玫瑰花語.............................86

實戰三判斷是否為酒後駕車..................86

實戰四評定成績等級.............................87

4.6 答題闖關大作戰.........................................87

第5章第5章 循環控制語句.........................91

5.1 當型循環:while語句.................................92

實例01 農夫賣西瓜...............................93

5.2 直到型循環:do…while語句......................94

實例02 驗證高斯兒時猜想....................95

5.3 升級版循環:for語句..................................96

實例03 模擬手機分期付款....................97

5.4 循環里套循環...........................................100

實例04 點亮西安大雁塔,統計第一層

和第八層燈的數量............................101

V

5.5 轉移語句..................................................102

5.5.1 break終止循環...............................102

實例05 健身房的邂逅..........................103

5.5.2 continue繼續執行...........................104

實例06 求愛的艱難路程......................105

5.6 小試牛刀..................................................106

實戰一模擬支付寶螞蟻森林的能量

產生過程...................................106

實戰二星座大揭秘...............................107

實戰三模擬“跳一跳”小遊戲的

加分塊......................................107

實戰四模擬10086查詢功能.................107

5.7 答題闖關大作戰.......................................108

第6章第6章 數組的簡歷.......................... 112

6.1 一維數組.................................................. 113

6.1.1 定義一維數組................................. 113

6.1.2 為一維數組賦值.............................. 114

實例01 曬比賽成績............................. 115

6.2 二維數組.................................................. 117

6.2.1 定義二維數組................................. 117

6.2.2 為二維數組賦值.............................. 118

實例02 用數字擺陣—魔方陣............ 119

6.3 字元數組..................................................120

6.3.1 定義字元數組.................................121

6.3.2 為字元數組賦值..............................121

6.3.3 字元數組的結束標誌.......................122

6.3.4 字元數組的輸入和輸出...................122

實例03 不同格式輸出某電影的

男主角和女主角.....................123

6.4 多維數組..................................................123

6.5 小試牛刀..................................................124

實戰一輸出“王者榮耀”的遊戲角色...124

實戰二十二星座速配...........................125

實戰三輸出電視劇的收視率................125

實戰四暫停時間..................................125

6.6 答題闖關大作戰.......................................125

第7章第7章 字元串處理技術...................126

7.1 字元串複製—strcpy()函式.....................127

實例01 更新公告.................................127

7.2 字元串連線——strcat()函式.....................128

實例02 製作某一天的課程表...............129

7.3 獲取字元串長度—strlen()函式..............130

實例03 註冊明日學院VIP賬號.............130

7.4 字元串比較—strcmp()函式....................131

實例04 登錄明日學院VIP賬號.............132

7.5 字元串大小寫轉換....................................133

實例05 請輸入註冊驗證碼..................133

7.6 小試牛刀..................................................134

實戰一列印象棋口訣...........................134

實戰二誰被@啦...................................134

實戰三判斷車牌號的歸屬地................135

實戰四顯示實時天氣預報....................135

7.7 答題闖關大作戰.......................................135

第8第8章 自主創建模組函式...............136

8.1 函式簡介..................................................137

8.1.1 函式的定義.....................................137

8.1.2 函式的事先聲明..............................138

實例01 寫情書....................................138

8.1.3 帶返回值的函式..............................139

實例02 輸出1~5的階乘.......................139

8.2 函式的參數分類.......................................140

8.2.1 形參與實參.....................................141

實例03 確定女主角.............................141

8.2.2 函式參數是數組..............................142

實例04 刪除字元串空格......................144

8.3 函式的調用...............................................145

8.3.1 函式調用方式.................................146

8.3.2 函式嵌套調用.................................147

實例05 為C語言歸類...........................148

8.3.3 函式遞歸調用.................................149

實例06 遞歸求年齡.............................150

8.4 變數的作用域...........................................151

8.4.1 局部變數.........................................151

實例07 展示美團商家套餐..................152

8.4.2 全局變數.........................................153

實例08 模擬12306搶票系統................154

8.5 小試牛刀..................................................155

實戰一為“和尚”寫詩........................155

實戰二一棵松樹的夢...........................156

實戰三執行總裁(CEO)目標............156

實戰四將美元兌換為人民幣................156

8.6 答題闖關大作戰.......................................156

第9第9章 指針—指向記憶體地址的變數157

9.1 什麼是指針...............................................158

9.1.1 創造指針*p .....................................158

實例01 利用指針輸出數組元素...........160

9.1.2 指針中的自增、自減.......................161

實例02 展示彩燈點亮情況..................162

9.2 數組與指針的關係....................................163

實例03 尋找“,”的位置....................164

實例04 魔幻3*3格線...........................165

實例05 輸出2022年北京冬季奧運會

口號........................................167

實例06 輸出唐詩《春曉》詩句...........167

9.3 指針的指針**p .........................................168

實例07 使用**p為姓名排序.................169

9.4 指針作為函式參數....................................171

實例08 匯總銀行一周入賬總錢數........171

9.5 小試牛刀..................................................173

實戰一班級最佳座位...........................173

實戰二語文古詩詞填空........................174

實戰三電影票售票情況.......................174

實戰四小豬渡河..................................174

9.6 答題闖關大作戰.......................................174

第10第10章 結構體與共用體...................175

10.1 結構體....................................................176

10.1.1 結構體概念...................................176

實例01 利用結構體輸出手機基本

信息.......................................179

10.1.2 結構體遇見了數組........................180

實例02 列舉無人商店中的商品

基本信息.................................181

10.1.3 結構體撞上指針............................182

實例03 身份證信息暴露啦..................184

10.1.4 結構體也嵌套...............................185

實例04 輸出電腦組成設備..................185

10.2 鍊表.......................................................186

10.2.1 創建鍊表......................................187

10.2.2 鍊表插入......................................188

10.2.3 鍊表刪除......................................189

10.2.4 完整地輸出鍊表............................189

10.3 共用體....................................................192

實例05 改答案大招.............................194

10.4 小試牛刀................................................194

實戰一長春三日游...............................194

實戰二2018年火爆遊戲排行前3名......194

VII

實戰三列印某月銷售明細....................195

實戰四罐頭種類..................................195

10.5 答題闖關大作戰.....................................195

第11第11章 檔案I/O 流...........................196

11.1 檔案流....................................................197

11.1.1 指向檔案的指針............................197

11.1.2 打開檔案fopen()函式....................198

11.1.3 關閉檔案fclose()函式....................199

11.2 檔案的寫(輸出)操作...........................200

11.2.1 寫字元—fputc()、fputs()函式.....200

11.2.2 按格式輸出函式—fprintf()函式...201

實例01 向檔案寫入數據......................201

11.3 檔案的讀(輸入)操作...........................202

11.3.1 讀字元—fgetc()、fgets()函式.....202

11.3.2 按格式輸入函式—fscanf()

函式..............................................203

實例02 讀取指定檔案..........................203

11.4 檔案的定位.............................................204

11.4.1 設定檔案位置指針—fseek()

函式..............................................204

實例03 取貨號8900的快遞到啦..........205

11.4.2 重置檔案位置—rewind()函式.....206

實例04 老闆,來一屜包子..................207

11.4.3 獲取當前位置—ftell()函式..........208

實例05 將手機號碼存入檔案中...........208

11.5 小試牛刀................................................209

實戰一創建一個螞蟻莊園動態的檔案...209

實戰二讀取螞蟻莊園動態檔案.............210

實戰三合併檔案..................................210

實戰四模擬淘寶客服自動回復.............210

11.6 答題闖關大作戰......................................210

附錄1 答題闖關大作戰答案與解析................. 211

附錄2 常用字元與ASCII代碼對照表...............214

相關詞條

熱門詞條

聯絡我們