Hello C 語言

Hello C 語言

《Hello C 語言》是2017年7月電子工業出版社出版的圖書,作者是鄭贇、鄭洪清。

內容簡介

本書分3部分。第一部分是快速入門:通過設計一批淺顯易懂、有趣新穎的例子,將計算機編程需要的概念與知識點串起來,讓大家明白編程是什麼,編程需要用到哪些概念;第二部分是知識進階:在第一部分的基礎上,對知識進行深入講解與總結,讓讀者徹底明白編程中出現各種問題的原因;第三部分是項目進階:通過前兩部分的學習,進一步引入新的更難的項目,讓讀者進一步領會、套用編程知識。

目錄

第一部分 輕 松 入 門

第1章 C語言編程環境搭建

1.1 編程工具選擇

1.2 Dev-C++工具的下載與安裝

1.3 創建一個C檔案

1.4 編譯一個C檔案

1.5 改變字型大小的設定

第2章 初識C語言

2.1 掀起C語言的蓋頭來

2.2 寫給女朋友的一封情詩

2.3 送你一束玫瑰花

2.4 絢麗的動畫——女朋友數玫瑰

2.5 小結

2.6 練習

第3章 減少重複操作——循環語句

3.1 循環的描述——循環三要素

3.2 幫你計數的人——循環變數

3.2.1 變數的定義

3.2.2變數的輸出

3.3循環是否達到終值

3.3.1比較運算符

3.3.2邏輯運算符

3.4時刻變化著的循環——循環增量

3.5三種循環語句

3.5.1for循環語句

3.5.2while循環語句

3.5.3do-while循環語句

3.6女朋友數玫瑰——循環版

3.7幾何圖形有學問

3.7.1實心長方形

3.7.2空心長方形

3.7.3直角三角形

3.7.4菱形

3.8數列求和也容易

3.9送你999朵玫瑰花

3.10三種循環語句的區別

3.11死循環的各種寫法

3.12循環中的特殊情況——continue、break與goto

3.13小結

3.14練習

第4章分情況處理——分支語句

4.1愛情心理測試介紹

4.2輸入函式

4.3分支語句

4.4愛情心理測試

4.4.1單次測試版

4.4.2循環測試版

4.4.3循環版本的問題

4.5測測女朋友值多少錢

4.6猜數遊戲

4.7猜數遊戲的問題——隨機數種子

4.8石頭剪刀布——猜拳遊戲

4.8.1單局猜拳遊戲

4.8.2多局猜拳遊戲

4.9多路開關好處多——switch語句

4.10switch語句的運行過程

4.11if-else語句的運行過程

4.12年齡的秘密

4.13小結

4.14練習

第5章製造自己的工具——函式

5.1內容變化的重複

5.2工欲善其事,必先利其器——函式的概念

5.3造一把利器——函式的定義

5.4女朋友數玫瑰——函式版

5.5取回新產品——函式的返回值

5.6函式注意事項

5.7有用的定位函式

5.8小球橫向滾動

5.9小球彈跳遊戲

5.9.1遊戲界面繪製

5.9.2小球移動反向邏輯

5.10全局變數與局部變數

5.11修改小球彈跳的速度

5.12兩個小球彈跳遊戲

5.12.1重複代碼實現方式

5.12.2函式版本實現方式

5.13函式參數的傳遞機制

5.13.1函式參數的值傳遞機制

5.13.2程式調試(debug)

5.13.3指針的概念

5.13.4指針做函式參數

5.13.5指針總結

5.14小結

5.15練習

第6章封裝相關數據——結構體

6.1結構體的概念

6.2小球彈跳的結構體版本

6.3擲骰子遊戲

6.3.1遊戲介紹與分析

6.3.2畫骰子框線

6.3.3畫骰子點數

6.3.4畫出骰子並提示玩家輸入選擇

6.3.5骰子跳動與輸贏判斷

6.4100個小球彈跳

6.4.1數組的概念

6.4.2100個小球彈跳

6.5小結

6.6練習

第7章組合類型比較——數組與結構體

7.1數組與結構體的區別

7.2數組的常用操作

7.2.1遍歷數組

7.2.2數組元素累加

7.2.3數組添加元素

7.2.4數組刪除元素

7.2.5尋找數組的值

7.2.6冒泡排序

7.2.7冒泡排序改進

7.2.8選擇排序

7.3猴子選大王

7.4全民打飛機

7.4.1遊戲界面開發

7.4.2畫飛機

7.4.3飛機移動

7.4.4鍵盤操控飛機

7.4.5設計子彈

7.4.6子彈產生與消失

7.4.7怪物的產生與消失

7.4.8碰撞檢測

7.5小結

7.6練習

第8章數組的數組——二維數組

8.1二維數組的概念

8.2二維數組的初始化

8.3一份成績單

8.4螺旋矩陣

8.5練眼力

8.6井字棋

8.6.1遊戲介紹與界面搭建

8.6.2棋子信息存儲

8.6.3下棋邏輯設計

8.6.4判斷遊戲結束邏輯

8.6.5判斷輸贏邏輯

8.6.6手動下棋操作

8.6.7智慧型自動下棋邏輯

8.7男女的婚姻匹配問題

8.7.1問題描述

8.7.2數據存儲於初始化

8.7.3算法描述

8.7.4main函式實現

8.8小結

8.9練習

第9章無處不在的字元串

9.1字元串的概念

9.2字元串的常用操作

9.3字元串反轉

9.4字元串壓縮算法

9.4.1壓縮邏輯設計

9.4.2整數轉字元串

9.5刪除重複字元

9.5.1普通刪除法

9.5.2快速刪除法

9.6測測你的名字在古代是什麼職位

9.7自定義字元串的常用操作

9.8小結

9.9練習

第二部分知 識 進 階

第10章數據類型與變數

10.1變數的定義與初始化

10.2變數的大小

10.3更多數據類型

10.4各種類型的範圍

10.5變數在記憶體中的樣子

10.6類型的相互轉換

10.7數組變數及其大小

10.8結構體變數及其大小

10.8.1字元變數與int型變數在記憶體中的對齊方式

10.8.2字元變數與double型變數在記憶體中的對齊方式

10.8.3結構體內部變數的對齊方式

10.8.4結構體的大小必須是大對齊模數的整數倍

10.8.5嵌套結構體的大小

10.8.6結構體大小計算法則

10.9指針變數及其大小

10.10枚舉變數及其大小

10.11共用體變數及其大小

10.12小結

10.13練習

第11章運算符

11.1各種運算符

11.2優先權與結合性

11.3i++與++i

11.4邏輯運算符的短路特性

11.5位運算符

11.5.1位運算符介紹

11.5.2位運算符的套用

11.5.3位運算與枚舉類型

11.5.4位段及其好處

11.5.5位操作與位段綜合套用

11.5.6位段與共用體的綜合套用

11.6小結

11.7練習

第12章指針

12.1指針是什麼

12.2各種類型指針

12.2.1基本類型變數的指針

12.2.2結構體變數的指針

12.2.3共用體變數的指針

12.2.4數組的指針

12.2.5函式的指針

12.2.6指針的指針

12.2.7void指針

12.3指針的運算

12.3.1指針只能與整數做加減運算

12.3.2相同類型的指針可以做減法與比較運算

12.4指針與數組

12.4.1數組名是一個指針

12.4.2數組名與數組地址的區別

12.4.3數組做函式參數就轉化為指針

12.5指針與字元串

12.6指針與函式

12.6.1函式指針

12.6.2函式指針數組

12.6.3指針作為函式參數

12.6.4返回指針值的函式

12.7指針與const修飾詞

12.7.1const修飾普通變數

12.7.2const修飾指針變數

12.7.3const修飾函式的形參

12.7.4const與面試題

12.8指針與鍊表

12.8.1鍊表的概念

12.8.2鍊表的構造

12.8.3鍊表遍歷

12.8.4插入節點

12.8.5刪除節點

12.8.6鍊表反轉

12.8.7遍歷一次鍊表找到鍊表的中間元素

12.9小結

12.10練習

第13章C程式是怎么使用記憶體的

13.1程式的運行過程

13.2全局變數

13.3靜態變數

13.4字元常量

13.5動態記憶體管理

13.5.1malloc進行動態記憶體分配

13.5.2把英文句子按單詞反轉

13.5.3calloc進行動態記憶體分配

13.5.4realloc進行動態記憶體分配

13.5.5可變長數組

13.5.6malloc與free的基本原理

13.6C程式運行的4個記憶體區域

13.7遞歸函式與棧

13.7.1遞歸函式的定義

13.7.2遞歸函式的運行過程

13.7.3遞歸函式的套用——全排列

13.7.4遞歸函式的套用——快速排序法

13.8小結

13.9練習

第14章編譯預處理

14.1C程式的編譯過程

14.2頭檔案中裝的是什麼

14.3項目分多個檔案

14.4include命令

14.5頭檔案的正規寫法

14.6define命令

14.6.1字元串宏替換

14.6.2空宏體的宏

14.6.3宏常量與const常量的區別

14.6.4帶參數的宏

14.6.5#define命令的注意事項

14.7條件編譯

14.8typedef命令

14.9typedef的定義過程

14.10define與typedef的區別

14.11小結

14.12練習

第15章檔案處理

15.1檔案與流

15.2訪問文本檔案

15.2.1打開與關閉文本檔案

15.2.2寫入文本檔案

15.2.3讀取文本檔案

15.2.4為檔案追加內容

15.2.5其他讀取文本檔案的方法

15.2.6其他寫入文本檔案的方法

15.2.7文本檔案讀寫的問題

15.3文本檔案與二進制檔案的區別

15.4塊方式讀寫檔案

15.5檔案定位與隨機讀寫

15.6隨機讀寫套用

15.7總結

15.8練習

第三部分項 目 進 階

第16章貪吃蛇

16.1遊戲介紹

16.2遊戲元素設計

16.3畫遊戲界面

16.4產生食物

16.5產生蛇

16.6畫蛇

16.7遊戲邏輯設計

16.8檢查方向

16.9蛇遊動邏輯

16.10蛇吃食物

16.11遊戲結束判斷

16.12刪除兩節蛇的身體

16.13反轉蛇的身體

16.14反轉蛇的移動方向

第17章俄羅斯方塊

17.1遊戲介紹

17.2方塊設計

17.3列印遊戲界面

17.4遊戲界面的數據

17.5主函式與頭檔案

17.6方塊的產生

17.7方塊的移動

17.8判斷方塊下方是否有空

17.9判斷方塊是否到頂部

17.10鍵盤操控邏輯

17.11左移方塊

17.12右移方塊

17.13翻轉方塊

17.14消除方塊

17.15計算得分

17.16翻轉方塊的問題

第18章圍住神經貓

18.1遊戲介紹

18.2遊戲元素設計

18.3初始界面繪製

18.4移動游標進行封堵操作

18.5尋找每個點周圍的點

18.6貓隨機移動

18.7貓智慧型移動

18.8廣度搜尋算法

18.9回溯找貓的位置

附錄

相關詞條

相關搜尋

熱門詞條

聯絡我們