互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)、數(shù)據(jù)、應(yīng)用軟件構(gòu)成了它的主旋律。應(yīng)用軟件編寫(xiě)、網(wǎng)頁(yè)設(shè)計(jì)、數(shù)據(jù)庫(kù)開(kāi)發(fā)等,都離不開(kāi)IT人員的開(kāi)發(fā)與維護(hù),編程的重要性 不 言 而 喻,因 此 程 序 員、軟 件 工 程 師 更 是 成 為 互 聯(lián) 網(wǎng) 時(shí) 代 的寵兒。
現(xiàn)在,越來(lái)越多的人想要從事IT 行業(yè),潮流不可阻擋。我們?cè)鯓硬拍軓氖逻@個(gè)行業(yè)?都需要我們做哪些準(zhǔn)備? 答案就在這本書(shū)中。
無(wú)論是編程初學(xué)者還是有編程基礎(chǔ)的人員,相信在程序開(kāi)發(fā)問(wèn)題上都存在著這樣或那樣的困惑:
編程語(yǔ)言有多種類(lèi)型,為何初學(xué)者都傾向選擇 C語(yǔ)言?
C語(yǔ)言和其他語(yǔ)言本質(zhì)上是否有區(qū)別,它的特色是什么?
C語(yǔ)言在這個(gè)多種開(kāi)發(fā)語(yǔ)言并存的時(shí)代是否已經(jīng)過(guò)時(shí)?
C語(yǔ)言憑借什么從眾多高級(jí)語(yǔ)言中殺出重圍,獨(dú)占鰲頭?
學(xué)會(huì) C語(yǔ)言是否就能輕松掌握其他高級(jí)語(yǔ)言?
本書(shū)撥開(kāi)迷霧,直指本質(zhì),用簡(jiǎn)單明確的語(yǔ)句告訴你什么是 C 語(yǔ)言、C語(yǔ)言的特點(diǎn)以及應(yīng)用范圍,幫助你在編程道路上越走越遠(yuǎn),實(shí)現(xiàn)編程夢(mèng)想。
本書(shū)由三大部分組成,由易到難、由淺入深地系統(tǒng)介紹了 C語(yǔ)言這個(gè)編程王國(guó)。
基礎(chǔ)篇,了解 C語(yǔ)言的魅力,追溯 C語(yǔ)言的發(fā)展歷史,了解常用編譯軟件、常量和變量、關(guān)鍵字、數(shù)據(jù)類(lèi)型、基本語(yǔ)句、宏定義、枚舉變量和函數(shù)等基礎(chǔ)知識(shí),包括 C語(yǔ)言書(shū)寫(xiě)規(guī)范和命名規(guī)則等內(nèi)容;認(rèn)識(shí)一個(gè)完整C語(yǔ)言程序所具有的成分,從結(jié)構(gòu)上理解 C語(yǔ)言的組成部分。
拓展篇,帶你走進(jìn) C語(yǔ)言的核心知識(shí),如指針、數(shù)組的使用,預(yù)處理的巧妙應(yīng)用,結(jié)構(gòu)體、鏈表的應(yīng)用以及有關(guān)文件、套接字、數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí),通過(guò)一些案例針對(duì)性地進(jìn)行講解,和你一起探討 C 語(yǔ)言的升級(jí)內(nèi)容,加強(qiáng) C語(yǔ)言核心知識(shí)的應(yīng)用。
實(shí)戰(zhàn)篇,探尋 C語(yǔ)言究竟如何為我們的生活提供便利,如何利用 C語(yǔ)言編寫(xiě)項(xiàng)目;計(jì)算器如何制作,它的各種功能如何通過(guò) C 語(yǔ)言程序來(lái)實(shí)現(xiàn);票務(wù)系統(tǒng)如何搭建和完善,訂票、查詢(xún)等功能又是如何借助 C語(yǔ)言來(lái)運(yùn)行的。不同項(xiàng)目中,函數(shù)、結(jié)構(gòu)體、指針是如何發(fā)揮作用的……在項(xiàng)目的實(shí)戰(zhàn)中體會(huì)、探索與感受 C語(yǔ)言的魅力,培養(yǎng)和提高獨(dú)立編程能力。
另外,本書(shū)創(chuàng)造性地設(shè)計(jì)了5個(gè)版塊,幫你快速走入 C 語(yǔ)言進(jìn)階通道。技巧集錦助你快速掌握核心知識(shí)點(diǎn),有效記憶章節(jié)重點(diǎn);新手誤區(qū)幫你避開(kāi) 雷區(qū),減少錯(cuò)誤發(fā)生概率;技能升級(jí)幫你了解相關(guān)知識(shí),拓展思維,進(jìn)一步提高編程技能; 實(shí)力檢測(cè)助你測(cè)試掌握水平,有效增強(qiáng)編程實(shí)力;劍指offer初級(jí)挑戰(zhàn)助你打通職場(chǎng)賽道,快速拿到offer。這些版塊內(nèi)容的設(shè)計(jì),層層遞進(jìn),加深知識(shí)點(diǎn)記憶,并在提高編程技能的同時(shí)引發(fā)思考。
全書(shū)結(jié)構(gòu)清晰,內(nèi)容豐富,語(yǔ)言通俗易懂,啟發(fā)性強(qiáng)。全書(shū)以入門(mén)到實(shí)操的邏輯線(xiàn)索,按照 C 語(yǔ)言基礎(chǔ)知識(shí)、進(jìn)階知識(shí)和項(xiàng)目實(shí)際應(yīng)用的順序,對(duì) C語(yǔ)言程序中出現(xiàn)的知識(shí)點(diǎn)進(jìn)行詳細(xì)講解,邏輯嚴(yán)謹(jǐn),層次分明。通過(guò)閱讀本書(shū),相信你一定可以掌握 C語(yǔ)言基礎(chǔ)知識(shí),提升編程技能,并有所收獲。
本書(shū)在編撰過(guò)程中,參考了不少學(xué)者、有識(shí)之士的觀(guān)點(diǎn)與相關(guān)資料,在此深表感謝! 同時(shí),歡迎讀者和我們一起探討 C 語(yǔ)言,提出意見(jiàn)和建議,以交流和不斷 完 善 本 書(shū),讓 我 們 一 起 在 探 索 C 語(yǔ) 言 的 道 路 上 砥 礪前行!
基礎(chǔ)篇 了解C語(yǔ)言的魅力
第1章 走進(jìn)職場(chǎng)實(shí)戰(zhàn):了解 C語(yǔ)言
1.1 編程語(yǔ)言
1.1.1 機(jī)器語(yǔ)言
1.1.2 匯編語(yǔ)言
1.1.3 高級(jí)語(yǔ)言
1.2 C語(yǔ)言的基本情況
1.2.1 C語(yǔ)言大事記
1.2.2 不要再搞混 C家族語(yǔ)言,它們各不相同
1.2.3 C語(yǔ)言在實(shí)際運(yùn)用中的優(yōu)勢(shì)
1.2.4 C語(yǔ)言的書(shū)寫(xiě) 特立獨(dú)行
1.3 搭建 C語(yǔ)言的開(kāi)發(fā)環(huán)境
1.3.1 安裝 VisualStudioCode
1.3.2 安裝 VSCode小插件
1.3.3 修改環(huán)境變量,讓 C語(yǔ)言 暢行無(wú)阻
1.4 編寫(xiě)個(gè) C語(yǔ)言程序HelloWorld.c
第2章 走近 數(shù)據(jù)元素,了解數(shù)據(jù)類(lèi)型與運(yùn)算符
2.1 關(guān)鍵字
2.1.1 案例導(dǎo)入會(huì)員卡次數(shù)計(jì)算
2.1.2 關(guān)鍵字在案例中的運(yùn)用
2.2 數(shù)據(jù)類(lèi)型
2.2.1 基本類(lèi)型
2.2.2 結(jié)構(gòu)類(lèi)型
2.2.3 指針類(lèi)型
2.2.4 空類(lèi)型
2.3 常量與變量
2.3.1 案例導(dǎo)入素?cái)?shù)計(jì)算
2.3.2 變量在素?cái)?shù)計(jì)算時(shí)的用法
2.4 數(shù)據(jù)的輸入與輸出
2.4.1 案例導(dǎo)入大小寫(xiě)轉(zhuǎn)換
2.4.2 輸入/輸出函數(shù)的應(yīng)用
2.5 運(yùn)算符
2.5.1 運(yùn)算符的種類(lèi)
2.5.2 運(yùn)算符的優(yōu)先級(jí)
2.6 為重構(gòu)和調(diào)用做準(zhǔn)備代碼注釋
2.7 沒(méi)有規(guī)矩,不成方圓編碼也要注意規(guī)范
2.7.1 編碼的常見(jiàn)錯(cuò)誤
2.7.2 編碼規(guī)范的注意事項(xiàng)
第3章 走向基本語(yǔ)句,為變量增加關(guān)聯(lián)
3.1 循環(huán)語(yǔ)句
3.1.1 案例導(dǎo)入數(shù)學(xué)計(jì)算
3.1.2 數(shù)學(xué)計(jì)算中如何使用 while循環(huán)
3.1.3 while循環(huán)語(yǔ)句
3.1.4 do-while循環(huán)語(yǔ)句
3.1.5 while語(yǔ)句和do-while語(yǔ)句的區(qū)別
3.1.6 for語(yǔ)句
3.2 判斷語(yǔ)句
3.2.1 案例導(dǎo)入排序問(wèn)題
3.2.2 排序問(wèn)題中if判斷的應(yīng)用
3.2.3 if語(yǔ)句
3.2.4 ifelse語(yǔ)句
3.2.5 if???elseif???else語(yǔ)句
3.2.6 switch???case語(yǔ)句
3.2.7 if???elseif???else語(yǔ)句和switch???case語(yǔ)句的區(qū)別
3.3 將關(guān)系轉(zhuǎn)移的方式、
3.3.1 goto語(yǔ)句與if伴生,遇真就失效
3.3.2 continue語(yǔ)句
3.3.3 break語(yǔ)句
第4章 巧用宏和枚舉實(shí)現(xiàn)自由賦值
4.1 宏
4.1.1 案例導(dǎo)入宏定義
4.1.2 宏對(duì)象在函數(shù)中的應(yīng)用
4.1.3 宏對(duì)象在函數(shù)中的意義
4.1.4 使用宏創(chuàng)建一個(gè)缺項(xiàng)
4.1.5 宏保護(hù)變量
4.1.6 定義宏時(shí)的 坑
4.2 枚舉變量
4.2.1 案例導(dǎo)入撥鐘問(wèn)題
4.2.2 枚舉在撥鐘問(wèn)題中的應(yīng)用
4.3 枚舉變量的基本操作
4.3.1 聲明一個(gè)枚舉變量
4.3.2 給一個(gè)枚舉變量進(jìn)行賦值
4.3.3 調(diào)用枚舉變量中的數(shù)值
第5章 巧用函數(shù)整合零散語(yǔ)句,使語(yǔ)句更加模塊化
5.1 函數(shù)
5.1.1 案例導(dǎo)入利用遞歸求階乘
5.1.2 遞歸函數(shù)在求階乘的案例中的應(yīng)用
5.1.3 如何增加函數(shù)被調(diào)用的概率
5.2 函數(shù)與零散語(yǔ)句相輔相成
5.2.1 函數(shù)的構(gòu)成
5.2.2 函數(shù)的定義
5.2.3 函數(shù)的功能
5.2.4 函數(shù)的分類(lèi)
5.2.5 函數(shù)的調(diào)用
5.3 函數(shù)的形參與實(shí)參
5.3.1 函數(shù)里不能缺的元素形參
5.3.2 函數(shù)執(zhí)行結(jié)果的 掌舵人實(shí)參
5.3.3 有哪些方法傳入實(shí)參
拓展篇 掌握C語(yǔ)言的核心知識(shí)
第6章 巧用預(yù)處理,讓并行變成可能
6.1 用好預(yù)處理,并發(fā)能力將大大提高
6.1.1 提高程序并發(fā)能力文件包含
6.1.2 文件包含命令的應(yīng)用
6.2 低調(diào)而隱性的預(yù)處理
6.2.1 案例導(dǎo)入改寫(xiě)字符
6.2.2 條件編譯
6.2.3 宏定義
6.2.4 預(yù)處理的優(yōu)點(diǎn)
6.2.5 預(yù)處理命令使用注意事項(xiàng)
第7章 巧用函數(shù)庫(kù),實(shí)現(xiàn)代碼 變薄
7.1 函數(shù)庫(kù)增強(qiáng)復(fù)用性,減少重復(fù)代碼
7.1.1 案例導(dǎo)入引用函數(shù)庫(kù)
7.1.2 函數(shù)庫(kù)的應(yīng)用
7.2 寫(xiě)好頭文件,弊病遠(yuǎn)離你
7.2.1 程序橋梁頭文件
7.2.2 頭文件的應(yīng)用
7.2.3 頭文件的編寫(xiě)
7.2.4 頭文件的注意事項(xiàng)
7.3 重構(gòu)代碼,讓功能更直觀(guān)
第8章 巧用數(shù)組技巧,讓程序變得飽滿(mǎn)
8.1 數(shù)組令人驚嘆的承載能力
8.1.1 案例導(dǎo)入求和計(jì)算
8.1.2 數(shù)組的應(yīng)用
8.2 一維數(shù)組行天下,精簡(jiǎn)的數(shù)組類(lèi)型
8.2.1 一維數(shù)組精簡(jiǎn)
8.2.2 一維數(shù)組的初始化
8.2.3 一維數(shù)組的天然優(yōu)勢(shì)
8.3 二維數(shù)組增承載,適合復(fù)雜數(shù)據(jù)使用
8.3.1 案例導(dǎo)入矩陣相加
8.3.2 二維數(shù)組承載多個(gè)數(shù)據(jù)
8.3.3 二維數(shù)組的初始化
8.3.4 二維數(shù)組矩陣運(yùn)算中的高手
8.4 字符串的 進(jìn)化型,字符串之庫(kù)字符數(shù)組
8.4.1 案例導(dǎo)入字符的判斷
8.4.2 字符數(shù)組字符串的救星
8.4.3 別再弄混字符數(shù)組和字符串
8.5 一秒學(xué)會(huì)使用字符數(shù)組
8.6 索引越界常見(jiàn),索引細(xì)則很關(guān)鍵
第9章 C語(yǔ)言的特色指針操作技巧
9.1 數(shù)據(jù)有 上又有 下,交流全靠它
9.1.1 案例導(dǎo)入指針
9.1.2 指針變量另類(lèi)的 數(shù)據(jù)傳遞
9.2 指針的移動(dòng)規(guī)則
9.2.1 指針的 前后移動(dòng)
9.2.2 指針的關(guān)系運(yùn)算規(guī)則
9.2.3 指針的賦值規(guī)則
9.3 指針能解決的實(shí)際問(wèn)題
9.3.1 指針有參函數(shù)的 王炸
9.3.2 指針一維數(shù)組的 王者
9.3.3 指針字符串隱藏的 奇兵
9.3.4 指針指向函數(shù)不常見(jiàn)
第10章 讓數(shù)據(jù)產(chǎn)生關(guān)聯(lián)性鏈表操作技巧
10.1 讓數(shù)據(jù)產(chǎn)生關(guān)聯(lián),鏈表有序生成
10.2 鏈表的S型形態(tài)
10.2.1 內(nèi)存管理函數(shù)為鏈表 量身定制
10.2.2 定義功能函數(shù)讓鏈表使用簡(jiǎn)單化
10.2.3 鏈表和數(shù)組的比較
第11章 讓變量存儲(chǔ)更自由結(jié)構(gòu)體與聯(lián)合體
11.1 跨類(lèi)型存儲(chǔ)新寵結(jié)構(gòu)體
11.1.1 結(jié)構(gòu)體整合不同數(shù)據(jù)類(lèi)型
11.1.2 使用超方便的結(jié)構(gòu)體變量
11.2 如何操作一個(gè)結(jié)構(gòu)體
11.3 內(nèi)存不夠就找聯(lián)合體解決
11.4 談?wù)劼?lián)合體的 克星
第12章 巧用代碼解決文件讀寫(xiě)需求
12.1 如何定義 C語(yǔ)言中的文件
12.2 文件讀取狀態(tài)怎么獲取
12.3 文件的讀寫(xiě)操作fopen()
12.4 將文件關(guān)閉的操作fclose()
12.5 文件讀寫(xiě)函數(shù)fgetc()和fputc()
12.6 成塊讀寫(xiě)文件fread()和fwrite()
12.7 其他能操作文件的函數(shù)
第13章 項(xiàng)目前瞻1網(wǎng)絡(luò)基礎(chǔ)知識(shí)
13.1 網(wǎng)絡(luò)通信包含哪些內(nèi)容
13.2 將網(wǎng)絡(luò)按連接范圍進(jìn)行分類(lèi)
13.3 常用服務(wù)占用的端口號(hào)
13.4 常用套接字
13.5 TCP和 UDP協(xié)議
13.6 C語(yǔ)言代碼是如何接入互聯(lián)網(wǎng)的
第14章 項(xiàng)目前瞻2數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
14.1 大數(shù)據(jù)時(shí)代的數(shù)據(jù)庫(kù)
14.1.1 數(shù)據(jù)庫(kù)的變遷
14.1.2 數(shù)據(jù)庫(kù)的兩大類(lèi)別
14.1.3 大數(shù)據(jù)時(shí)代數(shù)據(jù)庫(kù)的應(yīng)用
14.2 mysql數(shù)據(jù)庫(kù)
14.3 redis數(shù)據(jù)庫(kù)
14.4 C語(yǔ)言和數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)互聯(lián)互通
實(shí)戰(zhàn)篇 挑戰(zhàn)C語(yǔ)言項(xiàng)目
第15章 C語(yǔ)言函數(shù)專(zhuān)場(chǎng)
15.1 項(xiàng)目1函數(shù)小劇場(chǎng)
15.2 項(xiàng)目2指針的妙用
第16章 C語(yǔ)言賦予軟件功能與生命力
16.1 項(xiàng)目1工資管理系統(tǒng)
16.2 項(xiàng)目2電影票訂票管理系統(tǒng)
參考文獻(xiàn)