首頁>Club>
第一節的習題就讓自己計算打印出各個資料型別的取值範圍,這道題就涉及到了當資料overflow會怎樣、以及浮點數的知識。這些都是C語言書中沒有講到的。自己辛苦的google了很久,可能因為這些問題太基礎了,也沒有差不多的結果。想問問是否我要同時看一些關於計算機組成、原理之類的書?或者彙編?
10
回覆列表
  • 1 # ybjiang1

    如果C是你學習的第一門語言,並且沒有計算機基礎知識(如微機原理)的話,那麼這個真的會比較難。我的學習過程是先學了(x86)微機原理和彙編,然後是C,後面才是其他高階語言和framework。學習C只有一個原因,在彙編裡面做格式化輸出(printf)實在是太TM不方便了。由於有紮實的彙編基礎,C對我沒有造成任何障礙。正相反,我現在看C(包括C++)的原始碼都是一眼看到編譯器產生的(未最佳化過的)彙編。舉個例子,C中有3種記憶體,stack, heap, global,這些東西對於彙編都是浮雲。x86指令有7種記憶體定址方式,其實學通了,都一樣。順便說一下,大多數C編譯器產生的彙編,只會用到3種定址方式,直接定址,基地址定址,變址定址。還有一點,很多初學者分不清C的兩個概念,申明和定義(declaration/definition)。其實這兩個東西存在的原型是為了彌補編譯器的缺陷。現在很多需要已經沒有這個需求了,如C#。知其然又能夠知其所以然,是學習任何知識的好方法。其他的方面,就自由發揮吧,能夠適合自己的,才是最好的。林語堂所謂,基因裡面的文字因人而異。

  • 中秋節和大豐收的關聯?
  • 怎麼用一句話抖出你所有家底?