C語言進(jìn)階

出版時(shí)間:2012-7  出版社:機(jī)械工業(yè)出版社  作者:牟海軍  頁數(shù):347  
Tag標(biāo)簽:無  

前言

  為什么要寫這本書  或許絕大多數(shù)人都有這樣的經(jīng)歷,最初學(xué)習(xí)C語言的目的是為了應(yīng)付考試,所以對于C語言只能算是一知半解。真正運(yùn)用C語言進(jìn)行編程時(shí)會(huì)出現(xiàn)很多問題,讓人措手不及,這時(shí)才發(fā)現(xiàn)自己只能理解C語言的皮毛,雖能看懂簡單的代碼,卻寫不出程序來,對于那些稍微復(fù)雜的代碼就更是望塵莫及了?! 榱藬[脫對C語言知其然不知其所以然的狀態(tài),本書將帶領(lǐng)讀者重啟C語言學(xué)習(xí)之旅,這次不再是為了考試,而是出于真正的使用需要,所以有針對性地給出了C語言學(xué)習(xí)中的重點(diǎn)、難點(diǎn)與疑點(diǎn)解析,希望能夠幫助更多的C語言愛好者走出困境,真正理解C語言,真正做到學(xué)以致用。  為了讓讀者能夠真正地理解C語言學(xué)習(xí)中的重點(diǎn)、難點(diǎn)與疑點(diǎn),以及體現(xiàn)本書學(xué)以致用的特色,全書沒有采用枯燥的文字描述來講解C語言相關(guān)的知識(shí)點(diǎn),而是采用知識(shí)點(diǎn)與代碼結(jié)合的方式,同時(shí)對于代碼展開相應(yīng)的分析,這就避免了部分讀者在學(xué)習(xí)了相關(guān)知識(shí)點(diǎn)之后仍然不知道如何使用該知識(shí)點(diǎn)的弊端,使讀者可以通過代碼來加深對相關(guān)知識(shí)點(diǎn)的理解?! ∪珪诮Y(jié)構(gòu)安排上都是圍繞C語言學(xué)習(xí)中的重點(diǎn)、難點(diǎn)與疑點(diǎn)進(jìn)行講解,如第1章并沒有從講解C語言中的基礎(chǔ)知識(shí)點(diǎn)開始,而是先列舉了C語言學(xué)習(xí)中易混淆的核心概念,使讀者清晰地區(qū)分這些核心概念后再開始相應(yīng)知識(shí)點(diǎn)的學(xué)習(xí)。本書對基礎(chǔ)知識(shí)點(diǎn)也并非概念性地講解,而是重點(diǎn)講解了使用中的要點(diǎn),同時(shí)重點(diǎn)講解了C語言中的一些調(diào)試和異常處理的方法,以及誤區(qū)和陷阱知識(shí)點(diǎn)。最后一章講解了編程中必須掌握的一些常用算法。總之,本書能夠使讀者在現(xiàn)有基礎(chǔ)上進(jìn)一步提高自己的C語言編程能力,更清晰地認(rèn)識(shí)和理解C語言?! ”緯x者對象  本書適合以下讀者:  C語言愛好者  嵌入式開發(fā)人員  初、中級(jí)C語言程序員  參加C語言培訓(xùn)的學(xué)員  如何閱讀本書  本書共11章,第1章主要針對C語言學(xué)習(xí)中一些容易混淆的核心概念進(jìn)行具體講解,內(nèi)容跨度比較大,初學(xué)者學(xué)起來可能有些吃力,所以建議在遇到不懂的知識(shí)點(diǎn)時(shí)暫時(shí)跳過,待學(xué)習(xí)了后面的相關(guān)知識(shí)點(diǎn)后再進(jìn)行相應(yīng)的學(xué)習(xí);第2~8章有針對性地講解了C語言中的相應(yīng)知識(shí)點(diǎn),同時(shí)有針對性地對其中的要點(diǎn)部分進(jìn)行具體講解,讀者可以通過這幾章的學(xué)習(xí)夯實(shí)每個(gè)知識(shí)點(diǎn)的基礎(chǔ);第9章重點(diǎn)講解了在C語言編程中進(jìn)行調(diào)試和異常處理的一些常見方法和技巧;第10章重點(diǎn)講解了C語言編程中的一些陷阱知識(shí)點(diǎn),通過本章的學(xué)習(xí)讀者可以知道如何在以后編程時(shí)繞開陷阱;第11章講解了一些編程中的常用算法,這是編程中必然會(huì)遇到的,因此讀者有必要掌握這些常見的算法?! ∽詈笤诟戒洸糠纸o出了養(yǎng)成良好編程習(xí)慣的建議。本書針對每個(gè)知識(shí)點(diǎn)都提供了相應(yīng)的代碼,建議讀者在學(xué)習(xí)的過程中自己動(dòng)手編寫,這樣才會(huì)發(fā)現(xiàn)自己在C語言學(xué)習(xí)方面的缺陷,進(jìn)而快速提升自己的編程能力。  勘誤和支持  除署名作者外,參與本書材料整理和代碼測試工作的還有項(xiàng)俊、馬曉路、劉倩、羅艷、胡開云、余路、張濤、張曉詠、時(shí)翔、秦螢雪等。由于作者的水平有限,書中難免會(huì)出現(xiàn)一些錯(cuò)誤或者不準(zhǔn)確的地方,懇請讀者批評(píng)指正。書中的全部源文件除可以從華章網(wǎng)站下載外,還可以發(fā)郵件向我索取。如果你有更多的寶貴意見,也歡迎發(fā)郵件與我交流,期待得到你們的真摯反饋。  致謝  本書得以出版要感謝很多人,首先要感謝我的導(dǎo)師侯建華教授,無論是在科研還是平時(shí)的學(xué)習(xí)和生活中,都得到您嚴(yán)格的指導(dǎo)和無微不至的關(guān)懷,在此向您表示最真誠的敬意和衷心的感謝!  其次要感謝我的好朋友們,他們是劉倩、馬曉路、胡開云、時(shí)翔、張曉詠、余路、張濤,有你們的陪伴,我每天都過得很開心,感謝你們在生活中給予我的關(guān)心和體貼。同時(shí)也感謝實(shí)驗(yàn)室的項(xiàng)俊、梁娟、左堅(jiān)、羅艷、嚴(yán)明君、李思,謝謝你們平時(shí)給予的幫助?! 「兄x機(jī)械工業(yè)出版社華章公司的編輯楊福川和姜影,你們在這一年多的時(shí)間中始終支持我的寫作,你們的鼓勵(lì)和幫助指引我順利地完成全部書稿?! ∽詈笠兄x我的家人,沒有你們的鼓勵(lì)和支持,就沒有我今天的成績。在此要特別感謝我的父親,您多年來對我的悉心教導(dǎo),我都銘記在心。  謹(jǐn)以此書獻(xiàn)給眾多熱愛C語言的朋友們!  牟海軍(bigloomy)  2012年4月于中國武漢 

內(nèi)容概要

  C語言是編程語言中的一朵奇葩,雖已垂垂老矣,但卻屹立不倒,誕生了數(shù)十年,仍然是最流行的編程語言之一。C語言看似簡單,卻不易吃透,想要運(yùn)用好,更是需要積淀?!禖語言進(jìn)階:重點(diǎn)、難點(diǎn)與疑點(diǎn)解析》是一本修煉C程序設(shè)計(jì)能力的進(jìn)階之作,它沒有系統(tǒng)地去講解C語言的語法和編程方法,而是只對C語言中不容易被初學(xué)者理解的重點(diǎn)、難點(diǎn)和疑點(diǎn)進(jìn)行了細(xì)致而深入的解讀,同時(shí)包含大量技巧和最佳實(shí)踐,揭露了C語言中那些鮮為普通開發(fā)者所知的秘密,旨在讓讀者真正掌握C語言,從而編寫出更高質(zhì)量的C程序代碼。
  全書一共11章:第1章重點(diǎn)闡述了C語言中不易被理解的多個(gè)核心概念,很多初學(xué)者在理解這些概念時(shí)都會(huì)存在誤區(qū);第2-8章對預(yù)處理、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)、數(shù)組、指針、數(shù)據(jù)結(jié)構(gòu)、函數(shù)和文件等知識(shí)點(diǎn)的核心問題和注意事項(xiàng)進(jìn)行了講解;第9章介紹了調(diào)試和異常處理的方法及注意事項(xiàng);第10章對C語言中的若干容易讓開發(fā)者誤解誤用的陷阱知識(shí)點(diǎn)進(jìn)行了剖析;第11章則對所有程序員必須掌握的幾種算法進(jìn)行了詳細(xì)的講解;附錄經(jīng)驗(yàn)性地總結(jié)了如何養(yǎng)成良好的編碼習(xí)慣,這對所有開發(fā)者都尤為重要。

作者簡介

  牟海軍,資深C語言開發(fā)工程師,鐘愛C語言,對C語言有較深入的理解和研究,實(shí)踐經(jīng)驗(yàn)較為豐富。喜歡研究算法,諳熟各種常見和經(jīng)典的算法,頗有心得。擅長嵌入式linux開發(fā),以及使用QT進(jìn)行嵌入式開發(fā)?;钴S于CSDN等技術(shù)社區(qū),是CSDN的推薦博客專家。

書籍目錄

前言
第1章 必須厘清的核心概念
1.1 堆棧
1.2 全局變量和局部變量
1.3 生存期和作用域
1.3.1 生存期
1.3.2 作用域
1.4 內(nèi)部函數(shù)和外部函數(shù)
1.5 指針變量
1.6 指針數(shù)組和數(shù)組指針
1.7 指針函數(shù)和函數(shù)指針
1.8 傳值和傳址
1.9 遞歸和嵌套
1.10 結(jié)構(gòu)體
1.11 共用體
1.12 枚舉
1.13 位域
第2章 預(yù)處理
2.1 文件的包含方式
2.2 宏定義
2.2.1 簡單宏替換
2.2.2 帶參數(shù)的宏替換
2.2.3 嵌套宏替換
2.3 宏定義常見錯(cuò)誤解析
2.3.1 不帶參數(shù)的宏
2.3.2 帶參數(shù)的宏
2.4 條件編譯指令的使用
2.5 #pragma指令的使用
第3章 選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)
3.1 if語句及其易錯(cuò)點(diǎn)解析
3.2 條件表達(dá)式的使用
3.3 switch語句的使用及注意事項(xiàng)
3.4 goto語句的使用及注意事項(xiàng)
3.5 for語句的使用及注意事項(xiàng)
3.6 while循環(huán)與do while循環(huán)的使用及區(qū)別
3.7 循環(huán)結(jié)構(gòu)中break、continue、goto、return和exit的區(qū)別
第4章 數(shù)組
4.1 一維數(shù)組的定義及引用
4.2 二維數(shù)組的定義及引用
4.3 多維數(shù)組的定義及引用
4.4 字符數(shù)組的定義及引用
4.5 數(shù)組作為函數(shù)參數(shù)的易錯(cuò)點(diǎn)解析
4.6 動(dòng)態(tài)數(shù)組的創(chuàng)建及引用
第5章 指針
5.1 不同類型指針之間的區(qū)別和聯(lián)系
5.2 指針的一般性用法及注意事項(xiàng)
5.3 指針與地址之間的關(guān)系
5.4 指針與數(shù)組之間的關(guān)系
5.5 指針與字符串之間的關(guān)系
5.6 指針與函數(shù)之間的關(guān)系
5.7 指針與指針之間的關(guān)系
第6章 數(shù)據(jù)結(jié)構(gòu)
6.1 枚舉類型的使用及注意事項(xiàng)
6.2 結(jié)構(gòu)體變量的初始化方法及引用
6.2.1 結(jié)構(gòu)體的初始化
6.2.2 結(jié)構(gòu)體的引用
6.3 結(jié)構(gòu)體字節(jié)對齊詳解
6.4 共用體變量的初始化方法及成員的引用
6.5 傳統(tǒng)鏈表的實(shí)現(xiàn)方法及注意事項(xiàng)
6.6 顛覆傳統(tǒng)鏈表的實(shí)現(xiàn)方法
6.6.1 頭結(jié)點(diǎn)的創(chuàng)建
6.6.2 結(jié)點(diǎn)的添加
6.6.3 結(jié)點(diǎn)的刪除
6.6.4 結(jié)點(diǎn)位置的調(diào)整
6.6.5 檢測鏈表是否為空
6.6.6 鏈表的合成
6.6.7 宿主結(jié)構(gòu)指針
6.6.8 鏈表的遍歷
第7章 函數(shù)
7.1 函數(shù)參數(shù)
7.2 變參函數(shù)的實(shí)現(xiàn)方法
7.3 函數(shù)指針的使用方法
7.4 函數(shù)之間的調(diào)用關(guān)系
7.5 函數(shù)的調(diào)用方式及返回值
第8章 文件
8.1 文件及文件指針
8.2 EOF和FEOF的區(qū)別
8.3 讀寫函數(shù)的選用原則
8.4 位置指針對文件的定位
8.5 文件中的出錯(cuò)檢測
第9章 調(diào)試和異常處理
9.1 assert宏的使用及注意事項(xiàng)
9.2 如何設(shè)計(jì)一種靈活的斷言
9.3 如何實(shí)現(xiàn)異常處理
9.4 如何處理段錯(cuò)誤
第10章 陷阱知識(shí)點(diǎn)解剖
10.1 strlen和sizeof的區(qū)別
10.2 const修飾符
10.3 volatile修飾符
10.4 void和void*的區(qū)別
10.5 #define和typedef的本質(zhì)區(qū)別
10.6 條件語句的選用
10.7 函數(shù)realloc、malloc和calloc的區(qū)別
10.8 函數(shù)和宏
10.9 運(yùn)算符==、=和!=的區(qū)別
10.10 類型轉(zhuǎn)換
第11章 必須掌握的常用算法
11.1 時(shí)間復(fù)雜度
11.2 冒泡法排序
11.3 選擇法排序
11.4 快速排序
11.5 歸并排序
11.6 順序查找
11.7 二分查找
附錄 如何養(yǎng)成良好的編程習(xí)慣

章節(jié)摘錄

  第1章  必須厘清的核心概念  1.1 堆棧  1.2 全局變量和局部變量  1.3 生存期和作用域  1.4 內(nèi)部函數(shù)和外部函數(shù)  1.5 指針變量  1.6 指針數(shù)組和數(shù)組指針  1.7 指針函數(shù)和函數(shù)指針  1.8 傳值和傳址  1.9 遞歸和嵌套  1.10 結(jié)構(gòu)體  1.11 共用體  1.12 枚舉  1.13 位域  人或多或少都有一點(diǎn)惰性和急功近利,我就是這樣,在一開始學(xué)習(xí)編程的時(shí)候不喜歡閱讀那些枯燥的文字,喜歡直接去閱讀代碼。但是漸漸地,我發(fā)現(xiàn)一個(gè)問題,那就是編程時(shí)經(jīng)常會(huì)犯一些低級(jí)的錯(cuò)誤。通過總結(jié)才明白,這些錯(cuò)誤源于自己對C語言中的基本概念一知半解,知其然,不知其所以然,發(fā)現(xiàn)問題后才意識(shí)到那些枯燥的文字對掌握并熟練使用C語言非常重要。為了讓讀者少走一些彎路,本書的第1章先來介紹C語言中的核心概念?! ¢_始本章的學(xué)習(xí)之前,先向讀者交代一下,由于本章涉及的知識(shí)范圍較廣,有些初學(xué)者理解起來會(huì)有些吃力,因此建議讀者有選擇地閱讀,遇到陌生知識(shí)點(diǎn)可以暫時(shí)跳過,待學(xué)習(xí)了后面章節(jié)的內(nèi)容后再回過頭來閱讀這一章的相關(guān)內(nèi)容。當(dāng)然,學(xué)習(xí)代碼的最佳方法是動(dòng)手,所以本章在講解C語言的一些基本概念的同時(shí),為了便于讀者理解,有針對性地列舉了一些代碼,讀者也可以通過這些代碼來驗(yàn)證所學(xué)的概念,體會(huì)學(xué)習(xí)的樂趣,以避免單純通過閱讀文字來枯燥地學(xué)習(xí)概念?! ?hellip;…

媒體關(guān)注與評(píng)論

  在編程語言領(lǐng)域,各種新的語言一直層出不窮,C語言雖已有數(shù)十年的歷史,但卻依然位于編程語言排行榜的榜首,這在編程領(lǐng)域算是獨(dú)一無二了。C語言入門相對簡單,但是要透徹理解和掌握卻不容易,本書對初學(xué)者不易理解的難點(diǎn)、疑點(diǎn)和重要知識(shí)點(diǎn)進(jìn)行了解讀和剖析,內(nèi)容不僅涉及幾乎所有的語法知識(shí)點(diǎn),而且也包括算法和編碼規(guī)范方面的話題。對于有一定經(jīng)驗(yàn)且想進(jìn)一步提高的C語言開發(fā)者而言,本書值得仔細(xì)品讀,強(qiáng)烈推薦!  ——中國領(lǐng)先的IT技術(shù)網(wǎng)站

編輯推薦

  透析C語言中的核心概念、重要知識(shí)點(diǎn)、不易理解的知識(shí)點(diǎn),以及容易被錯(cuò)誤理解的知識(shí)點(diǎn),是修煉C程序設(shè)計(jì)能力的必讀之作!

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    C語言進(jìn)階 PDF格式下載


用戶評(píng)論 (總計(jì)25條)

 
 

  •   這是12年才出的書 感覺很新 作者是用心寫了的 看的出來有一定功底 對于C語言的很多是是而非的問題闡述的比較到位 國內(nèi)難得的能和國外書籍媲美的 不過美中不足在于不夠特別深 對于初學(xué)者想進(jìn)階的很不錯(cuò) 但對于軟件開發(fā)老手 稍顯單薄
  •   資深工程師寫的書,要點(diǎn)很突出,都是平時(shí)容易忽略的地方,C語言求職必學(xué)
  •   從目錄上看,這本書非常適合我這種有C基礎(chǔ),但卻理解不夠深刻的學(xué)生。尤其期待指針和必須掌握的常用算法這兩章,希望能有所收獲。
  •   C語言進(jìn)階必備
  •   本以為C語言會(huì)很枯燥乏味,上次計(jì)算機(jī)二級(jí)也沒有過,這次看到這本書感覺內(nèi)容挺好的,因?yàn)樽髡呙菜剖且粋€(gè)不喜歡啰嗦講一些文面上的東西,通俗易懂又是用專業(yè)用語。內(nèi)容我覺得考C語言的同學(xué)也可以去買來看看
  •   查缺補(bǔ)漏很好的一本書哦,實(shí)在是一本好書,很實(shí)用,很適合有一點(diǎn)C語言基礎(chǔ)的讀者,它會(huì)讓你更近一層樓哦!
  •   內(nèi)容涉及編程中可能碰到的關(guān)鍵問題 還好
  •   特別給那些自認(rèn)為C很牛,卻沒有真正實(shí)戰(zhàn)經(jīng)驗(yàn)的同學(xué)
  •   看完 C Primer Plus 再看這本書正好可以查漏補(bǔ)缺,非常滿意。講得非常透徹,雖然有些打字上的小錯(cuò)誤,不過可以忽略不計(jì)了。
  •   很喜歡這樣包裝的,還給書包了一層塑料袋子,內(nèi)容也不錯(cuò)
  •   講的還可以,值得購買!
  •   才看了幾頁但已經(jīng)夠我評(píng)它為好書了,本來還后悔買,沒想到看了一小節(jié)就覺得值,后面會(huì)繼續(xù)看
  •   內(nèi)容全面,淺顯易懂,給人以豁然開朗的感覺。
  •   正版書,與期待的相同
  •   很多細(xì)節(jié)描述的不錯(cuò);值得進(jìn)一步看看!
  •   很全面,不錯(cuò)的查缺補(bǔ)漏的輔導(dǎo)教材
  •   書還是挺好的,挺有用的
  •   該買專家編程的
  •   沒想象中好,不過還可以吧
  •   書看完了,感覺還不錯(cuò),對于基礎(chǔ)不牢靠的人來說,是本好書!
  •   面試 考試復(fù)習(xí)必備
  •   還不錯(cuò)的,瀏覽了一下,還是一本不錯(cuò)的書
  •   對于基礎(chǔ)不好的人可能是本好書,但我覺得價(jià)格偏貴。
  •   概念解釋得很詳細(xì),還有相關(guān)的實(shí)例作為輔助參考。
  •   雖然提到了初學(xué)者常常遇到的問題,但是還是有泛泛而談的感覺,問題沒有展開去討論,沒有結(jié)合實(shí)際應(yīng)用案例,比如應(yīng)該結(jié)合多級(jí)菜單的實(shí)現(xiàn)講解struct的應(yīng)用,等等,還是停留在課堂中,實(shí)際應(yīng)用一般
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7