出版時(shí)間:2012-5 出版社:電子工業(yè) 作者:蘇小紅//孫志崗//陳惠鵬 頁(yè)數(shù):352
Tag標(biāo)簽:無(wú)
前言
致本書(shū)讀者 在Java,C#等充滿(mǎn)面向?qū)ο?、快速開(kāi)發(fā)和穩(wěn)定可靠這樣溢美之詞的語(yǔ)言大行其道的今天,還如此耗費(fèi)心力寫(xiě)一本關(guān)于已經(jīng)落伍了的C語(yǔ)言的書(shū),著實(shí)讓人匪夷所思。雖然C語(yǔ)言在教育界還舉足輕重,在系統(tǒng)開(kāi)發(fā)領(lǐng)域依然健碩,鐵桿支持者遍布世界各地,但是C語(yǔ)言的書(shū)籍種類(lèi)繁多,早已被寫(xiě)到“濫”的地步了。這本書(shū)的存在還會(huì)有價(jià)值嗎? 萬(wàn)物皆將成為時(shí)間的灰燼,其價(jià)值體現(xiàn)在燃燒時(shí)發(fā)出的光熱。 C語(yǔ)言的重要性將會(huì)在第1章中闡述。在計(jì)算機(jī)教育方面,C語(yǔ)言是為數(shù)不多的與國(guó)外保持內(nèi)容同步的課程之一,這大概也是因?yàn)镃語(yǔ)言自身多年以來(lái)沒(méi)有什么變化吧。但在教學(xué)深度上,尤其在把C語(yǔ)言從應(yīng)試課程轉(zhuǎn)變?yōu)閷?shí)踐工具方面,國(guó)內(nèi)無(wú)論教材還是課程建設(shè)方面都跟不上時(shí)代發(fā)展的步伐?! ∮?jì)算機(jī)科學(xué)日進(jìn)千里,很多舊的思想、方法都被打破,不能與時(shí)俱進(jìn)的語(yǔ)言必遭淘汰??蒀語(yǔ)言卻能奇跡般地以不動(dòng)如山之姿態(tài)笑傲天下,論劍江湖,這套以靜制動(dòng)的本領(lǐng),來(lái)自于C語(yǔ)言的靈活。 靈活,使C語(yǔ)言的用法可以產(chǎn)生諸般變化。每種變化都有其利與害,趨利避害是根本。但何為利,何為害呢?這是程序設(shè)計(jì)科學(xué)研究的主題之一。隨著時(shí)間的推移,判斷的標(biāo)準(zhǔn)總在變化。比如20世紀(jì)90年代以前,性能一直是最重要的,所有的程序設(shè)計(jì)方法都趨向于提高性能。當(dāng)硬件越來(lái)越快、越來(lái)越便宜,軟件越來(lái)越復(fù)雜、越來(lái)越昂貴,設(shè)計(jì)程序時(shí)考慮更多的是如何降低開(kāi)發(fā)成本和難度,不惜以犧牲性能為代價(jià)。當(dāng)網(wǎng)絡(luò)成為技術(shù)推動(dòng)力時(shí),安全問(wèn)題又成為重中之重?! o(wú)論思潮怎樣變化,C語(yǔ)言總能有一套行之有效的方法來(lái)應(yīng)對(duì)。這些方法完全構(gòu)建在對(duì)C語(yǔ)言基本語(yǔ)法的應(yīng)用之上,絲毫影響不到它固有的體系。一些適時(shí)的方法被制定為規(guī)則,另一些落后的方法則被劃為禁手。如果C語(yǔ)言的教科書(shū)還只以講述語(yǔ)法為主,而忽略在新形勢(shì)下的新方法、新規(guī)則和新思想的傳授,就真的是沒(méi)有價(jià)值了?! 〈藭?shū)要做有價(jià)值的書(shū),要讓讀這本書(shū)的人真正學(xué)會(huì)C語(yǔ)言。那么,達(dá)到什么程度算是“學(xué)會(huì)”了C語(yǔ)言呢?這倒是一個(gè)很有意思的問(wèn)題。 本書(shū)作者中有一人,自稱(chēng)一生三次學(xué)會(huì)了C語(yǔ)言。 第一次是大一,看到C語(yǔ)言成績(jī)后,不禁自封“C語(yǔ)言王子”?! 〈酱蠖加鲆粋€(gè)機(jī)會(huì),用C語(yǔ)言開(kāi)發(fā)一個(gè)真實(shí)的軟件,才知道自己“卷上談兵”的本領(lǐng)實(shí)在太小,實(shí)在與會(huì)用C語(yǔ)言的目標(biāo)相去甚遠(yuǎn)。編了大小幾個(gè)項(xiàng)目,上萬(wàn)行代碼,自覺(jué)對(duì)C語(yǔ)言的掌握已爐火純青,此為第二次學(xué)會(huì)。 待回眸品評(píng)這些項(xiàng)目,發(fā)現(xiàn)除了幾副好皮囊能取悅用戶(hù)之外,無(wú)論程序結(jié)構(gòu)、可讀性、可維護(hù)性還是穩(wěn)定性都一團(tuán)糟。年輕程序員的良心大受譴責(zé),終于認(rèn)識(shí)到,寫(xiě)好程序絕不是懂語(yǔ)法、會(huì)調(diào)用函數(shù)那么簡(jiǎn)單。又經(jīng)歷練,其間苦學(xué)軟件工程、面向?qū)ο蟮壤碚?,打造出第一個(gè)讓自己由衷滿(mǎn)意的程序,于是長(zhǎng)出一口氣,嘆曰:“C,我終于會(huì)用了!”?! ∵@條路走得著實(shí)辛苦,但也確實(shí)滋味無(wú)窮,樂(lè)在其中。留校任教后,他很快獲得了講C語(yǔ)言課的機(jī)會(huì)。欣然領(lǐng)命,直欲把經(jīng)年積累一并爆發(fā),送與學(xué)生。前輩高人指點(diǎn),選擇了Kernighan與Ritchie所撰的圣經(jīng)《C Programming Language》為教材。早聞此書(shū),初見(jiàn)其形;邊教邊品,仰天長(zhǎng)嘆:“原來(lái)C語(yǔ)言若此,吾不曾會(huì)矣!” 總結(jié)往事,環(huán)顧業(yè)界,何謂“學(xué)會(huì)”?這是一個(gè)沒(méi)有答案的提問(wèn)。學(xué)完語(yǔ)法規(guī)則只是讀完了小學(xué),識(shí)字不少,還會(huì)造句,但還寫(xiě)不出大篇的漂亮文章。若要進(jìn)步,就非要在算法和結(jié)構(gòu)設(shè)計(jì)兩方面努力了。但這兩者實(shí)非一蹴而就,大學(xué)四年也只能學(xué)到一些條條框框,就像高中畢業(yè)盡管作文無(wú)數(shù),能力卻僅止于八股應(yīng)試而已。若要寫(xiě)出“驚天地、泣鬼神”之程序,還必須廣泛實(shí)踐,多方積累。學(xué)無(wú)止境??! 行文至此,終于完成了這本自認(rèn)還有價(jià)值的書(shū)。目前的計(jì)算機(jī)圖書(shū)市場(chǎng)異?;鸨?,“經(jīng)典與濫竽齊飛,贊美共炒作一色”。我們不知道此書(shū)能發(fā)出多少光熱,也不知道有多少人能見(jiàn)到這份光、感到這點(diǎn)熱,只知道它也會(huì)成為時(shí)間的灰燼,而且盼望這一天越早到來(lái)越好。因?yàn)?,此?shū)觀點(diǎn)被大量否定之時(shí),必是IT再次飛躍之日。 編著者 于哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
內(nèi)容概要
《國(guó)家精品課教材·大學(xué)計(jì)算機(jī)規(guī)劃教材:C語(yǔ)言大學(xué)實(shí)用教程(第3版)》是普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材和國(guó)家精品課程教材。全書(shū)共10章,內(nèi)容包括:程序設(shè)計(jì)ABC,數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式,鍵盤(pán)輸入與屏幕輸出,程序的控制結(jié)構(gòu),函數(shù),數(shù)組,指針,結(jié)構(gòu)體與共用體,文件操作,C程序設(shè)計(jì)常見(jiàn)錯(cuò)誤及解決方案等?! 秶?guó)家精品課教材·大學(xué)計(jì)算機(jī)規(guī)劃教材:C語(yǔ)言大學(xué)實(shí)用教程(第3版)》注重教材的可讀性和可用性,每章開(kāi)頭有內(nèi)容關(guān)鍵詞和難點(diǎn)提示;每章結(jié)尾安排本章小結(jié),給出了該章常見(jiàn)編程錯(cuò)誤提示;典型例題一題多解,由淺入深,強(qiáng)化知識(shí)點(diǎn)、算法、編程方法與技巧;還將程序測(cè)試、程序調(diào)試與排錯(cuò)、軟件的健壯性和代碼風(fēng)格、結(jié)構(gòu)化與模塊化程序設(shè)計(jì)方法等軟件工程知識(shí)融入其中;配套教材《C語(yǔ)言大學(xué)實(shí)用教程學(xué)習(xí)指導(dǎo)(第3版)》包括習(xí)題解答、上機(jī)實(shí)驗(yàn)指導(dǎo)、案例分析三部分,案例分析中給出了錯(cuò)誤案例與趣味經(jīng)典實(shí)例分析;為任課教師免費(fèi)提供電子課件及全部例題和習(xí)題源代碼。
書(shū)籍目錄
第1章 程序設(shè)計(jì)ABC1.1 計(jì)算機(jī)與人1.2 計(jì)算機(jī)與程序設(shè)計(jì)語(yǔ)言1.3 程序設(shè)計(jì)語(yǔ)言的故事1.4 C語(yǔ)言的故事1.5 程序設(shè)計(jì)語(yǔ)言的工作原理1.5.1 運(yùn)行1.5.2 內(nèi)存1.6 本章小結(jié)習(xí)題1第2章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式2.1 一個(gè)簡(jiǎn)單的C程序例子2.2 C程序常見(jiàn)符號(hào)分類(lèi)2.3 數(shù)據(jù)類(lèi)型2.3.1 為什么引入數(shù)據(jù)類(lèi)型2.3.2 從基本數(shù)據(jù)類(lèi)型到抽象數(shù)據(jù)類(lèi)型2.3.3 類(lèi)型修飾符2.3.4 標(biāo)識(shí)符命名2.4 常量2.4.1 整型常量2.4.2 實(shí)型常量2.4.3 字符常量2.4.4 字符串常量2.4.5 宏常量2.4.6 枚舉常量2.5 變量2.5.1 變量的定義與初始化2.5.2 const類(lèi)型修飾符2.5.3 使用變量時(shí)的注意事項(xiàng)2.6 常用運(yùn)算符及表達(dá)式2.6.1 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性2.6.2 算術(shù)運(yùn)算符2.6.3 關(guān)系運(yùn)算符2.6.4 邏輯運(yùn)算符2.6.5 賦值運(yùn)算符2.6.6 增1和減1運(yùn)算符2.6.7 類(lèi)型強(qiáng)制轉(zhuǎn)換運(yùn)算符2.6.8 位運(yùn)算符2.6.9 逗號(hào)運(yùn)算符2.7 賦值和表達(dá)式中的類(lèi)型轉(zhuǎn)換2.8 本章小結(jié)習(xí)題2第3章 鍵盤(pán)輸入與屏幕輸出3.1 C語(yǔ)句分類(lèi)3.2 表達(dá)式語(yǔ)句3.3 復(fù)合語(yǔ)句和空語(yǔ)句3.4 基本的輸入/輸出操作3.4.1 字符輸入/輸出3.4.2 格式輸入/輸出3.4.3 使用函數(shù)scanf時(shí)需要注意的問(wèn)題3.5 本章小結(jié)習(xí)題3第4章 程序的控制結(jié)構(gòu)4.1 算法及其描述方法4.1.1 算法的概念4.1.2 算法的描述方法4.2 順序結(jié)構(gòu)4.2.1 順序結(jié)構(gòu)的流程圖表示4.2.2 應(yīng)用程序舉例4.3 選擇結(jié)構(gòu)4.3.1 應(yīng)用場(chǎng)合4.3.2 選擇結(jié)構(gòu)的流程圖表示4.3.3 條件語(yǔ)句4.3.4 開(kāi)關(guān)語(yǔ)句4.4 循環(huán)結(jié)構(gòu)4.4.1 應(yīng)用場(chǎng)合4.4.2 循環(huán)結(jié)構(gòu)的流程圖表示4.4.3 循環(huán)語(yǔ)句4.4.4 單重循環(huán)程序?qū)嵗?.4.5 嵌套循環(huán)及其程序?qū)嵗?.5 流程轉(zhuǎn)移控制語(yǔ)句4.5.1 goto語(yǔ)句4.5.2 break與continue語(yǔ)句4.5.3 程序?qū)嵗?.6 程序調(diào)試與排錯(cuò)4.6.1 程序中常見(jiàn)的出錯(cuò)原因4.6.2 程序調(diào)試與排錯(cuò)的基本方法4.6.3 使用getchar需要注意的問(wèn)題4.7 結(jié)構(gòu)化程序設(shè)計(jì)方法簡(jiǎn)介4.7.1 關(guān)于goto論戰(zhàn)4.7.2 結(jié)構(gòu)化程序設(shè)計(jì)的核心思想4.7.3 “自頂向下、逐步求精”的程序設(shè)計(jì)方法4.8 本章小結(jié)習(xí)題4第5章 函數(shù)5.1 程序設(shè)計(jì)的藝術(shù)5.2 函數(shù)的定義與使用5.2.1 函數(shù)的分類(lèi)5.2.2 函數(shù)的定義5.2.3 函數(shù)的調(diào)用、參數(shù)傳遞和返回值5.2.4 函數(shù)原型5.2.5 主函數(shù)main的特殊性5.3 變量的作用域和存儲(chǔ)類(lèi)型5.3.1 變量的作用域5.3.2 全局變量5.3.3 變量的存儲(chǔ)類(lèi)型5.4 函數(shù)封裝5.5 預(yù)處理指令5.5.1 #include5.5.2 #define和#undef5.5.3 條件編譯5.6 使用assert查錯(cuò)5.7 模塊和鏈接5.8 模塊化程序設(shè)計(jì)方法簡(jiǎn)介5.8.1 模塊劃分的原則5.8.2 應(yīng)用實(shí)例--“猜數(shù)”游戲5.9 遞歸5.9.1 遞歸問(wèn)題的提出5.9.2 遞歸函數(shù)5.10 本章小結(jié)習(xí)題5第6章 數(shù)組6.1 數(shù)組類(lèi)型的應(yīng)用場(chǎng)合6.2 數(shù)組的定義、引用和初始化6.2.1 數(shù)組的定義6.2.2 數(shù)組的引用6.2.3 數(shù)組的初始化6.2.4 程序?qū)嵗?.3 向函數(shù)傳遞一維數(shù)組6.4 向函數(shù)傳遞二維數(shù)組6.5 字符數(shù)組6.5.1 字符數(shù)組與字符串的關(guān)系6.5.2 字符數(shù)組的輸入/輸出6.5.3 字符串處理函數(shù)6.5.4 應(yīng)用實(shí)例6.6 本章小結(jié)習(xí)題6第7章 指針7.1 指針概述7.1.1 指針的概念7.1.2 為什么引入指針的概念7.1.3 指針變量作函數(shù)參數(shù)7.1.4 字符指針作函數(shù)參數(shù)7.2 指針和數(shù)組間的關(guān)系7.2.1 一維數(shù)組的地址和指針7.2.2 二維數(shù)組的地址和指針7.3 指針數(shù)組7.4 函數(shù)指針7.5 帶參數(shù)的main函數(shù)7.6 動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)7.6.1 C程序的內(nèi)存映像7.6.2 動(dòng)態(tài)內(nèi)存分配函數(shù)7.6.3 一維動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)7.6.4 二維動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)7.7 使用const修飾指針變量7.8 代碼風(fēng)格7.8.1 程序版式7.8.2 命名規(guī)則7.8.3 函數(shù)設(shè)計(jì)7.8.4 防御性程序設(shè)計(jì)7.9 本章小結(jié)習(xí)題7第8章 結(jié)構(gòu)體與共用體8.1 結(jié)構(gòu)體的應(yīng)用場(chǎng)合8.2 結(jié)構(gòu)體類(lèi)型與結(jié)構(gòu)體變量8.2.1 結(jié)構(gòu)體類(lèi)型的聲明8.2.2 用typedef定義結(jié)構(gòu)體類(lèi)型8.2.3 結(jié)構(gòu)體變量的定義8.2.4 指向結(jié)構(gòu)體變量的指針8.2.5 結(jié)構(gòu)體變量的引用和初始化8.3 結(jié)構(gòu)體數(shù)組8.3.1 結(jié)構(gòu)體數(shù)組的定義8.3.2 結(jié)構(gòu)體數(shù)組程序?qū)嵗?.3.3 指向結(jié)構(gòu)體數(shù)組的指針8.4 向函數(shù)傳遞結(jié)構(gòu)體8.5 動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)8.5.1 問(wèn)題的提出8.5.2 鏈表的定義8.5.3 鏈表的特點(diǎn)及操作原理8.5.4 鏈表的建立8.5.5 鏈表的刪除操作8.5.6 鏈表的插入操作8.6 共用體8.7 本章小結(jié)習(xí)題8第9章 文件操作9.1 計(jì)算機(jī)中的流9.2 文件9.2.1 存儲(chǔ)設(shè)備的使用9.2.2 目錄9.2.3 文件格式9.3 基本文件操作9.3.1 基本文件操作函數(shù)9.3.2 錯(cuò)誤處理9.3.3 程序示例9.3.4 基本文件操作的意義9.4 高級(jí)文件操作9.4.1 文件的打開(kāi)與關(guān)閉9.4.2 文件的讀/寫(xiě)9.4.3 程序?qū)嵗?.4.4 標(biāo)準(zhǔn)輸入與標(biāo)準(zhǔn)輸出9.5 本章小結(jié)習(xí)題9第10章 C程序設(shè)計(jì)常見(jiàn)錯(cuò)誤及解決方案條款1:使用未初始化和未賦值的變量條款2:不考慮數(shù)值溢出的可能條款3:不用sizeof獲得類(lèi)型或變量的字長(zhǎng)條款4:假定類(lèi)型取值范圍條款5:期望兩個(gè)整數(shù)的運(yùn)算自動(dòng)得出浮點(diǎn)數(shù)的結(jié)果條款6:不預(yù)先判斷除數(shù)是否為0條款7:混淆“&,|”與“&&,||”條款8:使用依賴(lài)編譯器求值順序的語(yǔ)句條款9:使用依靠算符優(yōu)先級(jí)的表達(dá)式條款10:表達(dá)式過(guò)于復(fù)雜條款11:用“==”時(shí)誤用“=”條款12:用“==”比較兩個(gè)浮點(diǎn)數(shù)條款13:使用幻數(shù)……
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
C語(yǔ)言大學(xué)實(shí)用教程 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版