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