| 7 | 1/1 | 返回列表 |
| 查看: 2646 | 回復(fù): 6 | ||||
yalefield金蟲 (文壇精英)
老漢一枚
|
[交流]
【討論】關(guān)于譚浩強(qiáng)的書 已有4人參與
|
|
前幾天,有人又發(fā)布了譚浩強(qiáng)C語(yǔ)言講義(為什么要說(shuō)“又”)。 http://www.gaoyang168.com/bbs/viewthread.php?tid=2341900 俺耐心看了看,就舉一個(gè)例子吧。 這個(gè)講義里說(shuō)(未必是譚浩強(qiáng)原書這么說(shuō)的) 那句“C++目前流行的最新版本是......”,對(duì)初學(xué)者來(lái)說(shuō)是極大的誤導(dǎo)。 一個(gè)具體的編程環(huán)境,怎么能與編程語(yǔ)言相提并論呢? 能不能說(shuō): 目前最流行的論文是Microsoft Word? 目前最流行的音樂(lè)是KMPlayer? 下面,是CSDN上關(guān)于譚浩強(qiáng)C語(yǔ)言教程的辯論: http://topic.csdn.net/u/20091126/20/7551a170-2015-4e75-8c6d-72fe70efc227.html http://topic.csdn.net/t/20020621/00/819692.html 其中,有兩段比較有意思: [ Last edited by yalefield on 2010-8-30 at 08:40 ] |
c++及c |
金蟲 (文壇精英)
老漢一枚
|
http://zhidao.baidu.com/question/64756668.html 《C語(yǔ)言程序設(shè)計(jì)》第三版(譚浩強(qiáng)著)中有不少錯(cuò)誤或者是需要改進(jìn)的地方,雖然是本人的愚見,但大家一起來(lái)完善這本暢銷書是共同的責(zé)任。 下面就將本人認(rèn)為需要改進(jìn)的地方如下: 1.p7,1.14小節(jié)第一段最后一句“形成可執(zhí)行的目標(biāo)程序”可改為“形成可執(zhí)行的目標(biāo)程序(executable)”; 2.p42,第6、7行“如果指定signed,為無(wú)符號(hào)型”改為“如果指定signed為無(wú)符號(hào)型”,逗號(hào)多余; 3.p97,倒數(shù)第7行“print(“%f”,x);”改為“printf(“%f”,x);”; 4.p118,第14行“for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 語(yǔ)句”改為“for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值或減值) 語(yǔ)句”; 5.p131,第5行,“數(shù)組是有序數(shù)據(jù)的集合”改為“數(shù)組是有序下標(biāo)數(shù)據(jù)的集合”; 6.148,第8行,“(1)字符數(shù)組1必須定義的足夠大,以便容納被復(fù)制的字符串”,然而,我用的Turbo c2.0對(duì)此沒(méi)有要求,理論上應(yīng)是那樣,但是實(shí)際上可以刪掉此規(guī)則; 7.p149,第5行,“直到出現(xiàn)不同的字符或遇到'\0'為止”改為“直到出現(xiàn)不同的字符或者兩個(gè)字符串都遇到'\0'為止”; 8.p172,第17行“age(n-1)+2 n>1”改為“age(n-1)+2 1 9.p178,第3行“有兩個(gè)數(shù)組a和b”改為“有兩個(gè)整型數(shù)組a和b”; 10.p281,圖11-1“Li Fun”是什么東西?是漢語(yǔ)拼音名字嗎?應(yīng)該是,然而“fun”怎么拼呢?漢語(yǔ)詞典中根本沒(méi)有這個(gè)拼音,不存在的東西卻被他屢次用得不亦樂(lè)乎,譚浩強(qiáng)不會(huì)連漢語(yǔ)拼音都還沒(méi)過(guò)關(guān)吧? 11.預(yù)處理命令宏定義的問(wèn)題。我認(rèn)為不管是有參宏定義還是無(wú)參宏定義,它的定義都有問(wèn)題,即“#define 標(biāo)識(shí)符 字符串”、“#define 函數(shù) 字符串”,他將后面的稱為“字符串”不妥,應(yīng)改為“常量”。試想字符串能被替換成整型常量或者實(shí)型常量使用嗎?而“常量”的定義是“不能改變的量”,它包括整形常量、實(shí)行常量、字符型常量,這樣就可以直接被替換和使用了。下面用程序說(shuō)明這個(gè)問(wèn)題: #define PI 3.141592654 #define S PI*r*r main() {float r; scanf(“%d”,&r); printf(“%f”,S); } 試想,如果將3.141592654認(rèn)為是字符串,運(yùn)行時(shí)將被直接替換,然后求S時(shí),又將3.141592654當(dāng)作實(shí)型常量算術(shù)運(yùn)算使用,顯然是不可以的。而認(rèn)為是常量,認(rèn)為是實(shí)型常量就可以直接使用了。 |
金蟲 (文壇精英)
老漢一枚
|
http://blog.csdn.net/Near_Kong/archive/2009/10/08/4642826.aspx 譚書也算是一本奇書了,據(jù)說(shuō)已經(jīng)發(fā)行了300多萬(wàn)冊(cè)。這本書真的那么好嗎?師長(zhǎng)早有教誨,因此本人從來(lái)沒(méi)有好好讀過(guò)譚書。近日遇周圍人盛贊譚書,非辯論不可。雖本人不愿應(yīng)戰(zhàn),但也不得已將譚書找來(lái)翻翻。隨便翻了一段,就發(fā)現(xiàn)錯(cuò)誤百出,在此將其中最前面的一些整理出來(lái),提出與國(guó)內(nèi)廣大行家和新入道者討論,望行家們提出批評(píng),供新入道者參考。 書中程序的不規(guī)范性、不良的格式和低劣的編程都不在這里深究了。實(shí)在是太多,要深究、分析和改正起來(lái),必須寫一本數(shù)倍于譚書的大作,本人實(shí)在沒(méi)這個(gè)時(shí)間和精力。水平高的人有的是,歡迎寫幾個(gè)續(xù)篇。 注:下面將作者尊稱為“譚先生”。負(fù)的行號(hào)表示一頁(yè)里倒數(shù)的行數(shù)。 P1行1:…,它適于作為系統(tǒng)描述語(yǔ)言,… 這開宗明義的第一句話就說(shuō)明譚先生對(duì)于計(jì)算機(jī)科學(xué)的術(shù)語(yǔ)不甚了了。什么叫“系統(tǒng)描述”,什么叫“系統(tǒng)程序設(shè)計(jì)”?人們都都說(shuō)C是一種“系統(tǒng)程序設(shè)計(jì)語(yǔ)言”,而“系統(tǒng)描述語(yǔ)言”則完全是另一種東西。想必譚先生對(duì)它們之間的差異和關(guān)系都不清楚。在這種情況下就來(lái)下斷言,一上馬就露了怯。 P2表格:if (e) S; 這個(gè)錯(cuò)誤說(shuō)明譚先生對(duì)C語(yǔ)句基本結(jié)構(gòu)也不清楚。在C語(yǔ)言里,分號(hào)是普通語(yǔ)句的結(jié)束符號(hào),是語(yǔ)句的一部分。如果譚先生的S表示語(yǔ)句,那么后隨的分號(hào)是必需的嗎?如果譚先生的S表示語(yǔ)句中分號(hào)前面的一部分,那么又如何理解可以放在這里的 { ... } 順序結(jié)構(gòu)呢?它算語(yǔ)句嗎?可以放在這里嗎?要加分號(hào)嗎?無(wú)論怎么看,譚先生都難以自圓其說(shuō)! P3行4:C語(yǔ)言是理想的結(jié)構(gòu)化語(yǔ)言,… 不知譚先生的這個(gè)論斷由何而來(lái)。C的創(chuàng)造者肯定不會(huì)說(shuō)這句話,即使是C語(yǔ)言最狂熱的崇拜者恐怕也不敢這樣說(shuō)。幸虧譚先生生在中國(guó),其書只在中國(guó)出版,否則恐怕他就不會(huì)好過(guò)了,不知有多少人要找譚先生理論個(gè)究竟。 P3行7-8:例如整型量與字符型數(shù)據(jù)以及邏輯型數(shù)據(jù)可以通用。 此句子表現(xiàn)出的語(yǔ)文水平就不深究了。要問(wèn)譚先生的簡(jiǎn)單問(wèn)題是,“量”與“數(shù)據(jù)”是什么關(guān)系?再一個(gè)問(wèn)題是,C語(yǔ)言什么時(shí)候增加了“邏輯型數(shù)據(jù)”? P3行14:C語(yǔ)言允許直接訪問(wèn)物理地址。 不知這個(gè)論斷從何而來(lái)。至少無(wú)法從C語(yǔ)言參考手冊(cè)中找到根據(jù),看來(lái)是譚先生為C語(yǔ)言增加的特殊功能。 P4程序:This is a c program. 通觀世界上所有有關(guān)C語(yǔ)言的重要著作,C語(yǔ)言的名字“C”都是用大寫表示。這里好象譚先生表示了對(duì)C的不肖,與前面大相徑庭,不知何故。 P5行9:注釋可以出現(xiàn)在程序中的任何位置。 這里又修改了C語(yǔ)言的規(guī)則。這里給譚先生提個(gè)小問(wèn)題:“請(qǐng)找出在C程序里不能出現(xiàn)注釋的位置(或說(shuō),加了注釋就會(huì)改變程序意義的位置)!闭(qǐng)10秒鐘內(nèi)回答。 P5行12:“%d”表示“十進(jìn)制整數(shù)類型”。 寫程序有問(wèn)題呀!怎么一遇到具體問(wèn)題,寫出的解釋到處都是毛病!%d”根本就不表示任何類型,它只是對(duì)函數(shù)printf提出一個(gè)轉(zhuǎn)換要求。如果一個(gè)初學(xué)者產(chǎn)生這種理解偏差還有情可言,像譚先生這樣的“大師”級(jí)人物也犯此等低級(jí)錯(cuò)誤,實(shí)在是不可原諒。 P5行-8:scanf和printf都是C語(yǔ)言提供的標(biāo)準(zhǔn)輸入輸出函數(shù)… 按本人理解,C語(yǔ)言本身不提供任何有關(guān)輸入輸出的功能,也不提供任何標(biāo)準(zhǔn)函數(shù)。只是ANSI C建議了一個(gè)標(biāo)準(zhǔn)函數(shù)庫(kù)。至少C參考手冊(cè)上是這么說(shuō)的,在譚書中其他部分也這么說(shuō)。概念不太清楚就容易漏馬腳。 P6行13:可以說(shuō)C是函數(shù)式的語(yǔ)言。 太荒唐了,完全是望文生義。譚先生的計(jì)算機(jī)科學(xué)技術(shù)知識(shí)水平可見一斑。函數(shù)式語(yǔ)言是計(jì)算機(jī)科學(xué)領(lǐng)域中有明確意義的術(shù)語(yǔ)。再者說(shuō),即使不理解,也應(yīng)該盡量回避一下大家都知道的東西,這下不就漏了底。說(shuō)C是函數(shù)式語(yǔ)言,就像說(shuō)譚先生是“錯(cuò)話大師”一樣(畢竟他也說(shuō)了許多對(duì)的話嘛。?磥(lái)譚先生需要補(bǔ)一補(bǔ)計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí),聽說(shuō)譚先生是清華大學(xué)畢業(yè),那里的計(jì)算機(jī)系也還不錯(cuò)嘛。 P6行14-15:…ANSI C提供100多個(gè)庫(kù)函數(shù),Torbo C和MSC 4.0提供300多個(gè)庫(kù)函數(shù)。 什么叫“提供”,這里的兩個(gè)“提供”無(wú)論如何也不是同一個(gè)意思,因?yàn)閷NSI C和Torbo C、MSC 4.0并列討論根本就沒(méi)道理。譚先生知道它們各表示什么嗎?知道語(yǔ)言標(biāo)準(zhǔn)和語(yǔ)言實(shí)現(xiàn)之間的關(guān)系和差異嗎? P7行12-14:當(dāng)然,不同的計(jì)算機(jī)系統(tǒng)需要對(duì)函數(shù)庫(kù)中的函數(shù)做不同的處理。不同的計(jì)算機(jī)系統(tǒng)除了提供函數(shù)庫(kù)中的標(biāo)準(zhǔn)函數(shù)外,還按照硬件的情況提供一些專門的函數(shù)。 譚先生在這里說(shuō)的是什么“計(jì)算機(jī)系統(tǒng)”,哪個(gè)層次的計(jì)算機(jī)系統(tǒng)?首先應(yīng)該將這里的計(jì)算機(jī)系統(tǒng)都改為“C語(yǔ)言系統(tǒng)”。但是即使修改之后,最后一句話也沒(méi)有講到點(diǎn)子上,應(yīng)該怎樣修改就算留給譚先生的能力測(cè)驗(yàn)題了。 P9行-12和-2:選擇“Compiler”菜單… (4)執(zhí)行程序。按“F10”鍵,… 看來(lái)譚先生也沒(méi)怎么用過(guò)Turbo C。編輯之后如何去選擇“Compiler”菜單,當(dāng)然要先按F10鍵。但譚先生在這里就不講,而到后面又講。估計(jì)還是自己沒(méi)怎么用過(guò),沒(méi)什么印象,不知怎樣講有助于學(xué)生使用。 P10行8:脫離Turbo C,… 這又是譚先生發(fā)明的不規(guī)范詞匯。正規(guī)的術(shù)語(yǔ)是“退出”,“結(jié)束”,“終止”。 P11行5:…,但將后綴自動(dòng)改成“.o”(表示它是 .obj文件),… 改什么后綴?實(shí)在弄不明白,至少不是規(guī)范的說(shuō)法。再說(shuō)了,它怎么又成了 .obj文件,在UNIX系統(tǒng)里那有“.obj文件”的容身之地?對(duì)UNIX術(shù)語(yǔ)不熟悉也不要自己隨便發(fā)明說(shuō)法嘛。 P11行13-14:此時(shí),a.out中不存放目標(biāo)文件。 首先,譚先生對(duì)目標(biāo)文件和可執(zhí)行文件的差異認(rèn)識(shí)不清,在這里就露了馬腳。另外,后半句的說(shuō)法也實(shí)在不規(guī)范,a.out不過(guò)是個(gè)文件名,文件名中存放文件是什么意思呢?當(dāng)然,初學(xué)者這么說(shuō)也就罷了,“大師”這么說(shuō),實(shí)在令人遺憾! P14行18:計(jì)算機(jī)算法可分為兩大類別:數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法。 聽說(shuō)過(guò)“數(shù)值算法”,但沒(méi)有聽說(shuō)過(guò)“數(shù)值運(yùn)算算法”。對(duì)于“非數(shù)值”也一樣。譚先生在發(fā)明術(shù)語(yǔ)方面建樹頗豐,但在基礎(chǔ)教科書中大量發(fā)明術(shù)語(yǔ)又有什么理由呢?或者就是要給初學(xué)者找麻煩,或者就是對(duì)計(jì)算機(jī)科學(xué)技術(shù)的基本術(shù)語(yǔ)不甚了了,還能找到其他解釋嗎? P19行-2:…,已為世界各國(guó)程序工作者普遍采用。 譚先生對(duì)世界了解得也不多呀!現(xiàn)在哪國(guó)程序工作者還廣泛采用流程圖呢?請(qǐng)列舉一二! P21行6-7:…,可以看出流程圖是表示算法的較好工具。 和什么比較得出這個(gè)結(jié)論?今天計(jì)算機(jī)科技界還有多少人這樣認(rèn)識(shí)?譚先生獨(dú)領(lǐng)風(fēng)騷了。 P22行-6:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),… 請(qǐng)譚先生問(wèn)問(wèn)這兩位先生是不是他們的發(fā)明,他們肯定誠(chéng)惶誠(chéng)恐?磥(lái)譚先生對(duì)計(jì)算機(jī)科學(xué)技術(shù)發(fā)展的歷史也知之有限(知之有限并沒(méi)有什么,但不要信口開河嘛)。這里給譚先生上一課:在ALGOL 60里這三種結(jié)構(gòu)已經(jīng)很清楚了。如果不信,請(qǐng)譚先生查閱ALGOL 60的手冊(cè)(編程語(yǔ)言的最有名的文獻(xiàn)了,譚先生沒(méi)有看過(guò)嗎?枉為大師了。。60這個(gè)數(shù)我們都認(rèn)識(shí),它好象也比66小一點(diǎn)嘛。 P24行4:…有兩類循環(huán)結(jié)構(gòu)。 譚先生又下結(jié)論了,而且又是錯(cuò)的。究竟有多少類“典型的”循環(huán)結(jié)構(gòu)?本人也不敢下結(jié)論。這方面的經(jīng)典(全世界計(jì)算機(jī)專業(yè)工作者認(rèn)為的,可能譚先生不這樣認(rèn)為)文獻(xiàn)是Knuth的一篇文章,請(qǐng)譚先生自己找找看看。當(dāng)然,還是先要弄清楚是那一篇,這就算是給譚先生出的一個(gè)查文獻(xiàn)題吧。 P25行-5:因此,人們都普遍認(rèn)為最基本的是本節(jié)介紹的三種基本結(jié)構(gòu)。 譚先生這樣認(rèn)為,難道人們就得這樣認(rèn)為嗎?實(shí)際上,人們認(rèn)為是三類基本結(jié)構(gòu)(不是三種),其中的分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)又有許多典型情況。譚先生的“本節(jié)”和這本書一樣不可作為憑據(jù)。 P25行-1:1973年美國(guó)學(xué)者…和…提出了一種新的流程圖形式。…… 可惜新世紀(jì)版之新早已是舊世紀(jì)之舊了。綜觀世界,還有什么比較新的程序設(shè)計(jì)基礎(chǔ)教材還在用N-S圖討論程序設(shè)計(jì)嗎?這已經(jīng)成為“中國(guó)特色”“譚先生特色”的東西了。中國(guó)的計(jì)算機(jī)基礎(chǔ)教育早就應(yīng)該拋棄這些已經(jīng)被世界拋棄的落后描述技術(shù)了。 P28行14-21:歸納起來(lái)可知,一個(gè)結(jié)構(gòu)化的算法是由一些基本結(jié)構(gòu)順序組成的;…。如果一個(gè)算法不能分解為若干個(gè)基本結(jié)構(gòu),則它必然不是一個(gè)結(jié)構(gòu)化的算法。 看來(lái)譚先生對(duì)于計(jì)算機(jī)科學(xué)領(lǐng)域中的術(shù)語(yǔ)“嵌套”并不了解,也不會(huì)用。仔細(xì)看看譚先生書上的幾個(gè)算法,就可以發(fā)現(xiàn)它們大都不是基本結(jié)構(gòu)的順序組合,而是嵌套組合。又學(xué)了一招。 P32行-14:…,保證了程序的質(zhì)量。 保證了?沒(méi)有吧!結(jié)構(gòu)化方法的創(chuàng)始人們也不敢這樣說(shuō)。采用結(jié)構(gòu)化方法一點(diǎn)也不耽誤我們大家(包括譚先生)寫出低質(zhì)量的程序,如譚書中到處都可以看到的那樣。 P38行3.1 什么是數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)界自有公論。將“結(jié)構(gòu)體”說(shuō)成是一種數(shù)據(jù)結(jié)構(gòu)實(shí)在會(huì)讓人笑掉大牙的。是不是應(yīng)該建議譚先生先讀一兩本數(shù)據(jù)結(jié)構(gòu)教科書,而后在考慮寫什么東西。 P39行-6:其值可以改變的量稱為變量。 真糟糕!程序里的變量居然被譚先生當(dāng)作一種“量”。任何通曉計(jì)算機(jī)科學(xué)技術(shù)的人都不會(huì)同意這種說(shuō)法。“變量”到底是什么?將譚先生的上述說(shuō)法與隨后的描述做個(gè)對(duì)比,就不難發(fā)現(xiàn)他自己都無(wú)法自圓其說(shuō)。 P39行-4到-2:變量名實(shí)際上是一個(gè)符號(hào)地址,在對(duì)程序編譯連接時(shí)由系統(tǒng)給每一個(gè)變量名分配一個(gè)內(nèi)存地址。 這么簡(jiǎn)單的一句話里包含的錯(cuò)誤太多了,譚先生請(qǐng)慎言,言多必失。首先,變量名根本不是什么符號(hào)地址(懂得什么叫符號(hào)地址嗎?),它不過(guò)是在程序中代表變量的一種記號(hào)。一個(gè)變量也未必有地址(如寄存器變量),未必有唯一的地址(什么變量?譚先生知道嗎?C語(yǔ)言里大量變量都是這樣),這些都說(shuō)明,將變量名看成符號(hào)地址是不行的,說(shuō)不通的。其次,系統(tǒng)(什么系統(tǒng)?請(qǐng)說(shuō)清楚。這里不想給出修改錯(cuò)誤的提示了,算是給譚先生的一道語(yǔ)言作業(yè)題)是給變量分配地址,而不是給 “變量名”分配地址。再者,每個(gè)變量的地址都是“編譯連接”時(shí)分配的嗎?或是對(duì)C語(yǔ)言了解膚淺,或者就是信口開河。要把這個(gè)論述改正確,請(qǐng)譚先生查閱有關(guān)材料,看C語(yǔ)言中有幾種變量,地址是什么時(shí)候確定的(分配的)。 P40行-12:在C語(yǔ)言中,要求對(duì)所有用到的變量作強(qiáng)制定義,… 什么叫“強(qiáng)制定義”,好象沒(méi)有這種說(shuō)法嘛!我們都知道“強(qiáng)制”在C語(yǔ)言里有一個(gè)意思,就是不知道什么是“強(qiáng)制定義”。譚先生就簡(jiǎn)單說(shuō)“先定義,后使用”還好一點(diǎn),錯(cuò)誤少一點(diǎn),但這個(gè)說(shuō)法也是有條件的(請(qǐng)譚先生想想,有什么條件?)。 P41圖3.2(b)。 譚先生在這里將整數(shù)確定為兩個(gè)字節(jié),這本身就需要說(shuō)明(免了吧,反正本書一貫不追求嚴(yán)謹(jǐn))。更可笑的是這里還自作聰明地將它畫成兩個(gè)分離的字節(jié)。請(qǐng)問(wèn),知道什么叫byte order(字節(jié)序)嗎,如果你畫出各個(gè)字節(jié),就必須解釋這個(gè)問(wèn)題。奉勸譚先生,不知道的東西還是別碰它,老老實(shí)實(shí)畫出連續(xù)的16位,免得讓別人知道你不懂。 P42整頁(yè)。 到底C語(yǔ)言有幾個(gè)整數(shù)類型?譚先生知道什么是“一個(gè)類型”嗎?這里先說(shuō)“整型變量的基本類型符”(什么叫基本類型符,不懂),又說(shuō)“因此有以下三類整型變量”,又說(shuō)“歸納起來(lái),可以用以下6種整型變量”。譚先生的“種”和“類”是什么關(guān)系?和術(shù)語(yǔ)“類型”又是什么關(guān)系?這里的一片混亂反映出概念上的一鍋糨糊。關(guān)于各種整數(shù)類型的表示范圍的一般性說(shuō)法和最后一段所說(shuō)的C標(biāo)準(zhǔn)規(guī)定也是不和諧的,前面說(shuō)得有鼻子有眼,后邊又說(shuō)C標(biāo)準(zhǔn)沒(méi)規(guī)定,這算怎么回事呢! P43行4-6:在微機(jī)上用long可以得到更大范圍的整數(shù),但同時(shí)會(huì)降低運(yùn)算速度,因此除非萬(wàn)不得已,不要隨便使用long類型。 用 long什么整數(shù)也得不到,更不說(shuō)得到什么范圍的整數(shù)了。long的一個(gè)用途是用于定義變量,而被定義的變量(可能,注意,只是可能)能夠存儲(chǔ)更大的數(shù)。此外,這里的論斷也早已過(guò)時(shí)了,譚先生還是生活在舊世紀(jì),在舊世紀(jì)寫新世紀(jì)教材,而且主觀地為新世紀(jì)下結(jié)論,太武斷了!當(dāng)然,錯(cuò)誤也就不可抵賴了(300 萬(wàn)本,焚書也難盡)。 P44-45第4小節(jié)。 關(guān)于整數(shù)類型的值范圍,C標(biāo)準(zhǔn)都只定義了原則,譚先生總自作主張地將它具體化,現(xiàn)在又想來(lái)定義計(jì)算溢出的意義了。首先,整型的表示范圍未必如譚先生所說(shuō),如果這個(gè)不對(duì)乎,下面的討論也就都是瞎掰了。其次,即使運(yùn)算出現(xiàn)在整型值的邊界上,其效果也未必如譚先生所述。語(yǔ)言標(biāo)準(zhǔn)說(shuō)這時(shí)求出的值是undefined,譚先生卻說(shuō)是defined。看來(lái)ANSI C標(biāo)準(zhǔn)化組還需要譚先生垂簾聽政,給他們糾正失誤。不知新的C標(biāo)準(zhǔn)化組請(qǐng)譚先生做什么。 P47行-6:許多C編譯系統(tǒng)將實(shí)型常量作為雙精度來(lái)處理。 前面還有類似說(shuō)法,這里一并討論。首先,C語(yǔ)言根本就沒(méi)有實(shí)型常量,只說(shuō)浮點(diǎn)常量。另外就是想請(qǐng)譚先生告訴我們,那個(gè)C系統(tǒng)“不”把浮點(diǎn)常量看作雙精度類型的。其實(shí)ANSI C標(biāo)準(zhǔn)已經(jīng)規(guī)定了,浮點(diǎn)常量就是雙精度類型的。這里譚先生怎么該肯定的又不肯定了呢?你查查標(biāo)準(zhǔn)呀! P49行-6:字符型變量用來(lái)存放字符常量。 荒唐!真是莫名其妙。到底是變量還是常量?如果一個(gè)變量里存放了一個(gè)常量,存放之后還能修改嗎?要是能修改,那怎么叫常量呢?要是不能修改,那怎么叫變量呢?自己套住了吧。這里根本就沒(méi)“常量”什么事!字符型變量里存的東西,大家都稱它為“字符值”。 P50行5:…,實(shí)際上并不是把該字符本身放到內(nèi)存單元中,而是將該字符的ASCII代碼放到存儲(chǔ)單元中。 可笑!可笑!難道還有某種語(yǔ)言、某種機(jī)器,能把字符“本身”放到存儲(chǔ)單元里嗎?那大概是譚先生自己用的“譚先生計(jì)算機(jī)”,反正大家是用不到了(還沒(méi)有用到,或許將來(lái)這種計(jì)算機(jī)要取代馮-諾依曼計(jì)算機(jī)。誰(shuí)敢說(shuō)一定不會(huì)呢。_有,C標(biāo)準(zhǔn)也沒(méi)說(shuō)一定用美國(guó)人搞的ASCII代碼呀,美國(guó)人都沒(méi)有說(shuō),譚先生怎么就幫助他們說(shuō)了呢?譚先生知道還有別的編碼字符集嗎?歐洲人要是聽到這種說(shuō)法,非和譚先生急了不可。 好不容易到了50頁(yè),感謝讀者(可能也包括譚先生及其崇拜者)耐心地讀了這么長(zhǎng)時(shí)間。謝謝了。可惜的是,本人無(wú)法將1-50頁(yè)的所有問(wèn)題一一列出(否則篇幅還要大幾倍,大家更覺得厭煩了),更無(wú)法將整本書中的問(wèn)題一一列出分析(否則就是一本比原書厚得多得大書了),當(dāng)然,本人也無(wú)義務(wù)為譚先生找出所有的問(wèn)題。作為一個(gè)測(cè)驗(yàn),還是請(qǐng)譚先生自己找吧,本文只算是拋磚引玉了。 譚先生的書能改好嗎?本人實(shí)在深表懷疑。這樣一本錯(cuò)誤百出(不,錯(cuò)誤千出)的書,由譚先生這樣豐富學(xué)識(shí)和程序設(shè)計(jì)經(jīng)驗(yàn)的人來(lái)修改,沒(méi)有兩三年時(shí)間,或許更長(zhǎng),是不要希望能改到令人滿意程度的。再者說(shuō),這里列舉的都是小問(wèn)題,譚書本身的整體結(jié)構(gòu)和教學(xué)目標(biāo)都值得提出深深的疑問(wèn)。如果能夠改好,那早就是另一本書了。但是,能寫出來(lái)嗎? 或許,最值得深思的是,這樣一本不合格(按照計(jì)算機(jī)科學(xué)技術(shù)及其教育的評(píng)價(jià)標(biāo)準(zhǔn))的東西居然統(tǒng)治了中國(guó)計(jì)算機(jī)基礎(chǔ)教育這么多年,這個(gè)問(wèn)題真是中國(guó)計(jì)算機(jī)教育界和計(jì)算機(jī)實(shí)業(yè)界的悲哀!300萬(wàn)本,搞壞了多少投身于計(jì)算機(jī)領(lǐng)域?qū)W習(xí)的人,難道我們還希望這個(gè)數(shù)字再無(wú)窮無(wú)盡地增加下去嗎?!如果問(wèn),為什么中國(guó)的計(jì)算機(jī)軟件行業(yè)一直無(wú)法起飛,這些難道不也是一方面的問(wèn)題嗎? |
木蟲 (著名寫手)
未來(lái)國(guó)家凍涼
|
譚浩強(qiáng)的書就跟周公度那個(gè)結(jié)構(gòu)化學(xué)一樣,盡管無(wú)數(shù)前輩高手告誡初學(xué)者不要看,可是總是有初學(xué)者感覺好像前輩高手在害他們似的,非要看看不撞南墻不回頭而已 http://s1979.com/a/news/gangaotai/2010/0521/37249.shtml 最牛詐騙被害人 6警勸阻都不聽 詐騙集團(tuán)騙人錢財(cái)固然很可惡,但是如果我們?cè)谟龅皆p騙活動(dòng)時(shí),提高警惕就可以防患于未燃。但是,在臺(tái)南縣出現(xiàn)了一名最牛詐騙被害人,這名男子要匯款給詐騙集團(tuán),警方勸男子不要匯款,但男子不相信,還說(shuō)自己比警察聰明,不會(huì)受騙,最后警方?jīng)]辦法,干脆拿走了他的銀行卡,將他帶回警局。 警察勸阻,但陳姓男子就是不理他們,執(zhí)意拿著電話,在ATM機(jī)上要匯款,警察無(wú)可奈何,趕緊請(qǐng)來(lái)同事,幫忙勸說(shuō)。警察好心勸阻,還被陳姓男子罵,警察實(shí)在很無(wú)奈,但職責(zé)所在,仍然不斷的阻止男子匯款。 原來(lái)這名陳姓男子是公務(wù)人員,在賣場(chǎng)刷卡購(gòu)買商品后,詐騙集團(tuán)打電話給他,說(shuō)匯款有誤,讓他到郵局匯款,他一邊講手機(jī)一邊操作,引起旁人注意,報(bào)警處理。 警察說(shuō)破嘴,男子還是聽不進(jìn)去,陳姓男子還說(shuō)自己被警察聰明,不會(huì)被騙,最后警方只好拿走他的銀行卡,連拖帶拉,將他帶回警局,才成功阻止男子上當(dāng),但這么牛的被害人,警方還是頭一次見到。 |

至尊木蟲 (職業(yè)作家)
銀蟲 (正式寫手)
外國(guó)人

金蟲 (文壇精英)
老漢一枚
|
C++程序設(shè)計(jì)語(yǔ)言(特別版) http://book.douban.com/subject/1099889/ C++程序設(shè)計(jì)原理與實(shí)踐 http://book.douban.com/subject/4875599/ |
| 7 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 266求調(diào)劑 +5 | 陽(yáng)陽(yáng)哇塞 2026-03-14 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 298-一志愿中國(guó)農(nóng)業(yè)大學(xué)-求調(diào)劑 +7 | 手機(jī)用戶 2026-03-17 | 7/350 |
|
|
[考研] 材料專碩306英一數(shù)二 +10 | z1z2z3879 2026-03-16 | 13/650 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學(xué)招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[考研] 材料專碩326求調(diào)劑 +6 | 墨煜姒莘 2026-03-15 | 7/350 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 085600材料與化工求調(diào)劑 +5 | 緒幸與子 2026-03-17 | 5/250 |
|
|
[考研] 有沒(méi)有道鐵/土木的想調(diào)劑南林,給自己招師弟中~ +3 | TqlXswl 2026-03-16 | 7/350 |
|
|
[考研] 材料工程專碩274一志愿211求調(diào)劑 +6 | 薛云鵬 2026-03-15 | 6/300 |
|
|
[考研] 0703化學(xué)調(diào)劑,求各位老師收留 +8 | 秋有木北 2026-03-14 | 8/400 |
|
|
[考研] 255求調(diào)劑 +3 | 李嘉慧, 2026-03-12 | 4/200 |
|
|
[考研] 328求調(diào)劑 +3 | 5201314Lsy! 2026-03-13 | 6/300 |
|
|
[考研] 學(xué)碩285求調(diào)劑 +13 | Wisjxn 2026-03-12 | 46/2300 |
|
|
[考研] 330求調(diào)劑 +3 | ?醬給調(diào)劑跪了 2026-03-13 | 3/150 |
|
|
[考研] 招收0805(材料)調(diào)劑 +3 | 18595523086 2026-03-13 | 3/150 |
|
|
[考研] 304求調(diào)劑 +6 | Mochaaaa 2026-03-12 | 7/350 |
|
|
[考研] [0860]321分求調(diào)劑,ab區(qū)皆可 +4 | 寶貴熱 2026-03-13 | 4/200 |
|
|
[考研] 工科材料085601 279求調(diào)劑 +8 | 困于星晨 2026-03-12 | 10/500 |
|
|
[考研] 0817化學(xué)工程與技術(shù)考研312分調(diào)劑 +3 | T123 tt 2026-03-12 | 3/150 |
|
|
[考研] 081200-11408-276學(xué)碩求調(diào)劑 +3 | 崔wj 2026-03-12 | 4/200 |
|