編輯推薦
《C語言從入門到精通》,超級熱銷的C語言經典著作,100000讀者的共同選擇,長期雄踞各大書店、網店排行榜前列。本次改版在傳承經典的基礎上,對內容進行全麵擴充,大量補充典型案例,貼近實戰,幫助讀者迅速積纍開發經驗。
強大的編委會陣容,業界專傢傾力推薦
中國軟件行業協會教育與培訓委員會秘書長邱欽倫
微軟開發工具及平颱事業部産品經理鬍德民
Sun亞洲全球化中心技術總監劉傑
龍馬創新教育研究室總裁孔長徵
河南省863軟件孵化器有限公司總經理翟為唐
廣東拓思軟件科學園有限公司副總經理黃萬民
西安863軟件孵化器有限公司總經理樓文曉
鄭州大學信息工程學院副院長周清雷
華大銳誌軟件人纔孵化基地技術總監微軟有價值專傢(MVP)王豫翔
NEC信息係統(中國)有限公司開發部長石少崢
東忠集團副總裁李朝陽
《程序員》雜誌、CSDN著名技術專傢尹成
51CTO。com技術總監陳德勇
微軟有價值專傢(MVP)楊雲
DVD光盤超值贈送
32小時全程同步教學錄像,一綫教學和開發人員貼心講解,配閤圖書高效學習
18小時價值6000元的獨門Oracle項目實戰教學錄像,幫您輕鬆學會Oracle數據庫
225個典型範例、11個經典算法求解程序、6個完整項目,在實戰中掌握C語言編程
134個實戰測試及解析,舉一反三,掌握更透徹
9個超值資源大放送
超值資源1:97頁C語言標準庫函數查詢手冊
超值資源2:16頁C語言常用查詢手冊(頭文件、關鍵字和常用字符ASCII碼查詢)
超值資源3:10套超值完整源代碼
超值資源4:全國計算機等級考試二級C語言考試大綱及應試技巧
超值資源5:53道C語言常見麵試題及解析電子書
超值資源6:31個C語言常見錯誤及解決方案電子書
超值資源7:51個C語言高效編程技巧
超值資源8:C語言程序員職業規劃
超值資源9:C語言程序員麵試技巧
《C語言從入門到精通(第2版)》特色
零基礎、入門級的講解——無論讀者是否從事計算機相關行業,是否接觸過C語言,是否使用C語言開發過項目,都能從本書中找到起點。
超多、實用、專業的範例和項目——本書結閤實際工作中的範例,逐一講解C語言的各種知識和技術。最後,還以實際開發項目來總結本書所學內容,幫助讀者在實戰中掌握知識,輕鬆擁有項目經驗。
隨時檢測自己的學習成果——每章首頁羅列瞭“本章要點”,以便讀者明確學習方嚮。每章最後的“實戰練習”則根據所在章的知識點精心設計而成,讀者可以隨時自我檢測,鞏固所學知識。
細緻入微、貼心提示——本書在講解過程中使用瞭“提示”、“注意”、“技巧”等小欄目,幫助讀者在學習過程中更清楚地理解基本概念、掌握相關操作,並輕鬆獲取實戰技巧。
內容簡介
《C語言從入門到精通(第2版)》以零基礎講解為宗旨,用實例引導讀者學習,深入淺齣地介紹瞭C語言的相關知識和實戰技能。 《C語言從入門到精通(第2版)》第1篇【基礎知識】主要講解C語言的基礎知識、C程序的組成、C語言的基本構成元素、變量、數製、數據類型、運算符和錶達式、順序結構與選擇結構、循環語句與轉嚮語句、輸入和輸齣、數組、字符數組以及算法與流程圖等;第2篇【核心技術】主要講解函數、函數中的變量、文件、編譯與預處理指令、庫函數、位運算、結構體和聯閤體、數據結構等;第3篇【高級應用】主要講解指針、指針與數組、指針與函數、指針與字符串、指針與結構體、指針的高級應用與技巧等;第4篇【項目實戰】主要講解項目規劃、Linux下的C語言開發、通訊錄、圖書管理係統、信息管理係統以及K-均值聚類算法等;第5篇【趣味題解】主要講解哥德巴赫猜想、猴子選大王遊戲、迷宮求解、背包問題求解、火車車廂重排、哈夫曼編碼的實現、八皇後問題的實現、商人過河遊戲、K階斐波那契序列的實現以及短路徑的實現等。 《C語言從入門到精通(第2版)》所附DVD光盤中包含瞭與圖書內容全程同步的教學錄像。此外,還贈送瞭大量相關學習資料,以便讀者擴展學習。 《C語言從入門到精通(第2版)》適閤任何想學習C語言的讀者,論您是否從事計算機相關行業,是否接觸過C語言,均可通過學習快速掌握C語言的開發方法和技巧。
內頁插圖
目錄
第0章 學習攻略
0.1 C語言的來源
0.2 C語言的特點
0.3 C語言處不在
0.4 C語言的學習經驗
0.5 C語言的學習路綫
第1篇 基礎知識
第1章 步入C的世界——Hello C
1.1 C語言的開發環境
1.1.1 C常用開發環境
1.1.2 VC++開發環境的安裝
1.1.3 TurboC2.0開發環境的安裝
1.2 認識常用開發環境
1.2.1 認識VC++開發環境
1.2.2 認識Turbo開發環境
1.3 開始C編程——我的第1個C程序
1.3.1 程序編寫及運行流程
1.3.2 在VisualC++6.0中開發C程序
1.3.3 在TurboC中開發C程序
1.4 高手點撥
1.5 實戰練習
第2章 C程序的組成
2.1 簡單例子
2.2 聲明區
2.2.1 頭文件
2.2.2 函數聲明
2.2.3 變量聲明
2.3 主函數
2.4 函數定義區
2.5 注釋
2.6 代碼的規矩
2.7 高手點撥
2.8 實戰練習
第3章 C語言的基本構成元素——字符集、標識符和關鍵字
3.1 標識符和關鍵字
3.1.1 標識符
3.1.2 關鍵字
3.2 常量
3.2.1 什麼是常量
3.2.2 常量的聲明
3.3 常量的類彆
3.3.1 數值常量
3.3.2 字符常量
3.3.3 字符串常量
3.3.4 符號常量
3.4 綜閤應用——常量指針與指針常量
3.5 高手點撥
3.6 實戰練習
第4章 變量
4.1 變量
4.1.1 什麼是變量
4.1.2 變量的定義與聲明
4.2 變量的類彆
4.2.1 局部變量
4.2.2 形式參數
4.2.3 全局變量
4.3 變量的存儲類型
4.3.1 自動變量
4.3.2 靜態變量
4.3.3 外部變量
4.3.4 寄存器變量
4.4 變量的賦值和初始化
4.5 綜閤應用——根據變量的不同決定運行的結果
4.6 高手點撥
4.7 實戰練習
第5章 計算機如何識數——數製
5.1 二進製
5.2 八進製
5.3十進製
5.4 十六進製
5.5 數製間的轉換
5.6 綜閤應用——數製轉換
5.7 高手點撥
5.8 實戰練習
第6章 數據的種類——數據類型
6.1 數據類型的分類
6.1.1 基本數據類型
6.1.2 構造數據類型
6.1.3 指針數據類型
6.1.4 空類型
6.2 整型
6.3 字符型
6.4 浮點型
6.5 類型轉換
6.5.1 隱式轉換
6.5.2 顯式轉換
6.6 綜閤應用——類型轉換
6.7 高手點撥
6.8 實戰練習
第7章 C世界中的加減乘除——運算符和錶達式
7.1 C中的運算符和錶達式
7.1.1 運算符
7.1.2 錶達式
7.2 算術運算符和錶達式
7.2.1 算術運算符
7.2.2 算術錶達式
7.2.3 應用舉例
7.3 關係運算符和錶達式
7.3.1 關係運算符
7.3.2 關係錶達式
7.3.3 應用舉例
7.4 邏輯運算符和錶達式
7.4.1 邏輯運算符
7.4.2 邏輯錶達式
7.4.3 應用舉例
7.5 條件運算符和錶達式
7.6 賦值運算符和錶達式
7.6.1 賦值運算符
7.6.2 賦值錶達式
7.6.3 應用舉例
7.7 自增、自減運算符
7.8 逗號運算符和錶達式
7.9 位運算符
7.9.1 按位與運算符
7.9.2 按位或運算符
7.9.3 按位異或運算符
7.9.4 按位取反運算符
7.9.5 左移運算符
7.9.6 右移運算符
7.9.7 位運算賦值運算符
7.9.8 位運算應用
7.10 優先級與結閤性
7.10.1 算術運算符的優先級和結閤性
7.10.2 關係運算符的優先級和結閤性
7.10.3 邏輯運算符的優先級和結閤性
7.10.4 賦值運算符的優先級與結閤性
7.11 綜閤應用——根據輸入值計算結果
7.12 高手點撥
7.13 實戰練習
第8章 順序結構與選擇結構
8.1 程序流程概述
8.2 語句
8.2.1 基本賦值語句
8.2.2 錶達式語句
8.2.3 基本輸入/輸齣語句
8.2.4 控製語句
8.2.5空語句和復閤語句
8.3 順序結構與語句
8.4 選擇結構
8.4.1 選擇結構
8.4.2 單分支選擇結構——if語句
8.4.3 雙分支選擇結構——if-else語句
8.4.4 多分支選擇結構——if-else的嵌套形式
8.4.5 多分支選擇結構——switch語句
8.5 綜閤應用——根據不同的利潤計算資金
8.6 高手點撥
8.7 實戰練習
第9章 C程序的流程——循環結構與轉嚮語句
9.1 循環結構與語句
9.1.1 循環結構
9.1.2 當型循環語句——for語句
9.1.3 當型循環語句——while語句
9.1.4 直到型循環語句——do-while語句
9.1.5 循環的嵌套
9.2 轉嚮語句
9.2.1 goto語句
9.2.2 break語句
9.2.3 continue語句
9.3 綜閤應用——簡單計算器
9.4 高手點撥
9.5 實戰練習
第10章 用戶與計算機的交互——輸入和輸齣
10.1 標準輸入/輸齣
10.2 格式化輸入/輸齣
10.2.1 格式化輸齣函數——printf()
10.2.2 格式控製字符
10.2.3 格式化輸入函數——scanf()
10.3 字符輸入/輸齣
10.3.1 字符輸齣函數——putchar()
10.3.2 字符輸入函數——getchar()
10.4 字符串輸入/輸齣
10.4.1 字符串輸齣函數——puts()
10.4.2 字符串輸入函數——gets()
10.5 高手點撥
10.6 實戰練習
第11章 數組
11.1 數組概述
11.2 一維數組
11.2.1 一維數組的定義
11.2.2 一維數組的初始化
11.2.3 一維數組元素的操作
11.2.4 數組作為參數傳遞
11.2.5 一維數組的應用舉例
11.3 二維數組
11.3.1 二維數組的定義
11.3.2 二維數組的初始化
11.3.3 二維數組元素的操作
11.3.4 二維數組的應用舉例
11.4 多維數組
11.5 綜閤應用 —— 楊輝三角
11.6 高手點撥
11.7 實戰練習
第12章字符數組
12.1 字符數組概述
12.2 字符數組
12.2.1 字符數組的初始化
12.2.2 字符數組的引用
12.2.3 字符數組的輸入與輸齣
12.3 字符串
12.3.1 字符串和字符數組
12.3.2 字符串的輸入/輸齣
12.3.3 字符串應用舉例
12.4 綜閤應用——自動分類字符
12.5 高手點撥
12.6 實戰練習
第13章 程序的靈魂——算法與流程圖
13.1 算法基礎
13.1.1 算法的概念
13.1.2 算法的特性
13.1.3 簡單算法舉例——解方程
13.2 流程圖的基礎
13.2.1 流程圖中的元素及含義
13.2.2 流程圖的繪製
13.3 如何錶示一個算法
13.3.1 用自然語言錶示算法
13.3.2 用流程圖錶示算法
13.3.3 用傳統流程圖錶示3種基本結構
13.3.4 用N-S圖錶示算法
13.3.5 用僞代碼錶示算法
13.3.6 用計算機語言錶示算法
13.4 結構化程序設計方法
13.5 綜閤應用——求解一元二次方程
13.6 高手點撥
13.7 實戰練習
第2篇 核心技術
第14章 函數
14.1 函數概述
14.1.1 什麼是函數
14.1.2 函數的分類
14.2 函數的定義
14.3 函數的返迴值及類型
14.3.1 函數的返迴值
14.3.2 函數的類型
14.4 函數的參數及傳遞方式
14.4.1 函數的參數
14.4.2 函數參數的傳遞方式
14.5 函數的調用
14.5.1 函數調用方式
14.5.2 函數的聲明
14.5.3 函數的嵌套調用
14.5.4 函數的遞歸調用
14.6 內部函數和外部函數
14.6.1 內部函數
14.6.2 外部函數
14.7 main()函數
14.8 綜閤應用——用截弦法求方程的根
14.9 高手點撥
14.10 實戰練習
第15章 函數中的變量
15.1 局部變量與全局變量
15.1.1 局部變量
15.1.2 全局變量
15.2 變量的存儲類彆
15.2.1 自動類型(auto)
15.2.2寄存器類型
前言/序言
《C語言從入門到精通(第2版)》圖書簡介 一、 前言:打開程序世界的大門,掌握編程語言的基石 在科技飛速發展的今天,編程語言已成為驅動創新、實現智能化的核心動力。而C語言,作為一門曆史悠久、應用廣泛且功能強大的編程語言,更是被譽為“程序設計語言的通用語言”,是深入理解計算機底層原理、學習更高級編程語言(如C++、Java、Python等)的絕佳起點。 本書《C語言從入門到精通(第2版)》正是為渴望踏入程序設計殿堂的初學者,以及希望鞏固和深化C語言知識的進階者精心打造。我們深知,學習一門編程語言,如同學習一門新的語言,需要耐心、理解和大量的實踐。因此,本書在編寫過程中,力求語言通俗易懂,概念講解深入淺齣,代碼示例貼近實際,旨在幫助讀者建立紮實的C語言基礎,掌握程序設計的核心思想,最終能夠獨立地分析問題、設計解決方案並用C語言實現。 二、本書特色與亮點:循序漸進,由淺入深,實踐驅動 1. 結構科學,邏輯嚴謹: 本書采用由淺入深的結構設計,從最基礎的C語言環境搭建、數據類型、基本語法入手,逐步深入到流程控製、函數、數組、指針、結構體、文件操作等核心概念。每一個章節的內容都建立在前一章節的基礎上,確保讀者能夠理解概念之間的內在聯係,構建完整的知識體係。 2. 概念講解透徹,比喻生動形象: 對於初學者而言,很多編程概念可能比較抽象。本書在講解每一個知識點時,都力求用最清晰、最直觀的方式進行闡述。我們會運用生活中的類比、生動形象的比喻,以及詳細的流程圖,幫助讀者將抽象的概念具象化,更容易理解和記憶。例如,在講解指針時,我們會將其類比為“門牌號”,形象地說明瞭指針存儲的是內存地址,通過這個地址可以找到具體的數據。 3. 海量精選代碼示例,即學即練: 理論知識的學習離不開實踐的檢驗。本書提供瞭大量經過精心挑選和優化的代碼示例,這些示例覆蓋瞭各個知識點的應用場景,並附有詳細的注釋,解釋代碼的邏輯和實現思路。讀者可以跟隨示例進行敲擊、運行和調試,通過親手實踐來鞏固所學知識,培養解決問題的能力。 4. 強化習題設計,鞏固提升: 每個章節的末尾都配有精心設計的習題,題型多樣,難度循序漸進,包含選擇題、填空題、編程題等。這些習題旨在幫助讀者檢測對本章知識的掌握程度,加深對概念的理解,並鍛煉實際編程能力。對於編程題,我們鼓勵讀者獨立思考,嘗試不同的解決方案,並在遇到睏難時參考附帶的答案和解析。 5. 突齣核心難點,提供專項突破: C語言中的指針、內存管理、遞歸等是初學者常常感到睏惑的部分。本書特彆對這些難點進行瞭重點講解,通過多角度、多層次的闡述,並提供專門的練習,幫助讀者剋服學習障礙,真正掌握這些關鍵技能。 6. 融入實際應用場景,提升學習興趣: 本書不僅僅局限於枯燥的語法講解,還會適時地引入一些簡單的實際應用場景,例如文件讀寫、簡單的數據統計、文本處理等,讓讀者看到C語言的強大應用能力,從而激發學習的興趣和動力。 7. “精通”進階篇章,為深入學習鋪路: 在打下堅實的基礎之後,本書還將帶領讀者探索更高級的主題,例如預處理器、宏定義、位運算、鏈錶、動態內存分配、文件I/O的深入應用等。這些章節的設計,旨在幫助讀者從“入門”邁嚮“精通”,為未來學習更復雜的算法、數據結構以及操作係統等內容奠定堅實的基礎。 8. 附錄實用工具,助力學習: 本書的附錄部分提供瞭C語言常用庫函數速查錶、ASCII碼錶等實用工具,方便讀者在學習和編程過程中隨時查閱,提高效率。 三、 目標讀者群體: 零基礎學習者: 對編程完全沒有概念,希望係統學習一門強大的編程語言,為未來的技術發展打下基礎。 計算機專業學生: 作為學校課程的補充教材,幫助理解C語言的核心概念,提升編程實踐能力。 其他專業對編程感興趣的讀者: 希望通過C語言瞭解計算機工作原理,或將編程作為一種解決問題的工具。 希望鞏固C語言知識的開發者: 學習過C語言但基礎不牢固,希望通過係統性的學習來提升自己的編程水平。 準備參加IT技術麵試的考生: C語言是許多IT崗位的必備技能,本書能幫助您係統復習和準備麵試。 四、 內容概要: 本書共分為 XX 章(此處可以根據實際章節數進行填充,例如:二十餘章),主要內容涵蓋: 第一部分:C語言基礎入門 計算機與程序設計簡介: 介紹計算機的基本組成、程序設計的基本概念,以及C語言的地位和發展。 第一個C語言程序: 搭建開發環境,編寫並運行經典的“Hello, World!”程序,理解程序的編譯和執行過程。 變量、數據類型與運算符: 學習C語言的基本數據類型(整型、浮點型、字符型等),變量的聲明和使用,以及各種算術、關係、邏輯、賦值等運算符。 基本輸入輸齣: 掌握`printf()`和`scanf()`函數的使用,實現程序與用戶的交互。 第二部分:程序控製結構 順序結構: 理解程序的順序執行特性。 選擇結構: 學習`if`、`else`、`switch`語句,實現程序的條件分支。 循環結構: 掌握`while`、`do-while`、`for`循環,實現程序的重復執行,以及`break`和`continue`語句的應用。 第三部分:函數與模塊化編程 函數的定義與調用: 理解函數的概念,學習如何定義和調用函數,實現代碼的復用。 函數參數與返迴值: 學習函數參數的傳遞方式(傳值、傳址),以及函數的返迴值。 作用域與生命周期: 理解變量的作用域和生命周期,以及全局變量和局部變量的區彆。 遞歸函數: 深入理解遞歸的原理與應用。 第四部分:數組與字符串 一維數組: 學習數組的定義、初始化和訪問,以及數組的應用。 多維數組: 掌握二維及更高維數組的使用。 字符串: 學習C語言中字符串的錶示方式(字符數組),以及常用的字符串處理函數(如`strcpy`、`strlen`、`strcmp`等)。 第五部分:指針與內存管理 指針的概念與聲明: 深入理解指針的本質,以及指針變量的聲明和使用。 指針與數組: 學習指針與數組之間的緊密聯係,通過指針訪問數組元素。 指針與函數: 掌握指針作為函數參數的應用,實現數據的傳遞和修改。 指嚮指針的指針: 理解多級指針的概念。 動態內存分配: 學習`malloc`、`calloc`、`realloc`、`free`等函數,實現程序運行時動態地分配和釋放內存。 第六部分:結構體、共用體與枚舉 結構體: 學習自定義數據類型,組織復雜數據結構。 共用體: 理解共用體內存共享的特性。 枚舉: 學習使用枚舉類型定義一組有命名的常量。 第七部分:文件輸入輸齣 文件操作基礎: 學習文件指針,掌握文件的打開、關閉、讀寫等基本操作。 文本文件與二進製文件: 理解不同類型文件的區彆與處理。 格式化輸入輸齣: 學習`fprintf`、`fscanf`等函數。 第八部分:預處理器與宏定義 預處理指令: 學習 `include`、`define`、`ifdef`等預處理指令。 宏定義: 理解宏定義的作用,以及函數式宏的使用。 第九部分:位運算與高級話題 位運算符: 掌握按位與、按位或、按位異或、按位取反、左移、右移等位運算符。 鏈錶初步: (可選,視章節安排)介紹鏈錶的概念和基本操作。 錯誤處理與調試技巧: (可選,視章節安排)講解常見的編程錯誤以及調試方法。 五、 結語:開啓你的編程之旅 掌握C語言,就如同擁有瞭一把開啓程序世界大門的鑰匙。本書《C語言從入門到精通(第2版)》緻力於為您提供最全麵、最實用、最易於理解的學習體驗。我們相信,通過您的勤奮努力和本書的引導,您一定能夠在這門強大的編程語言上取得顯著的進步,為您的技術生涯打下堅實的基礎,開啓一段精彩的編程之旅。 立即翻開本書,開始您的C語言學習之路吧!