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