1. 程式人生 > >淺析如何學好C語言 .

淺析如何學好C語言 .

一、要讀就讀好書,否則不如不讀
  所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。
  大名鼎鼎的譚浩強教授出了一本《C語言程式設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程式非常不專業,不能教給你程式設計應該掌握的思考方式;程式風格相當地不好,會讓你養成亂寫程式碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以百度一下:)

  Kernighan和Ritchie的《The C Programming Language》(中譯名《C程式設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標準C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標準庫函式的細節,算得上是最好的標準C語言的工具書。順便提一句,最新的《C程式設計語言》是根據C89標準修訂的,而《C語言參考手冊》描述的是C99標準,二者可能會有些出入,建議按照C99標準學習。還有一本《C和指標》,
寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指標的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很紮實,那麼你可以嘗試一下這本書。我相信,只要你理解了指標,C語言便不再神祕。

  如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家程式設計》),
書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫“精通C語言”了。
  切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。

相關推薦

淺析如何學好C語言 .

一、要讀就讀好書,否則不如不讀   所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。   大名鼎鼎的譚浩強教授出了一本《C語言程式設計》,據說發行量有超過400萬,據我

小白怎樣才能學好c語言

有人問我c語言是不是很難學,我說不是,後來問的人多了,我就萌生了寫一篇關於c語言如何入門的文章的念頭來。 其實c語言很簡單,它只是一種交流的規則,一種表達的工具,一種承載思想的容器而已,之所以感覺難,我覺得是還不習慣使用計算機特點來考慮問題。這就好比中國人從到英國定居一樣,雖然你學過英語,但

思路不對努力白費!0基礎學好C語言程式設計,必須掌握的學習思路!

計算機行業發展非常快,大學裡的教育基本都跟不上實際的社會需求。如果你所在的學校還在指定大家使用譚浩強的教材,或使用VC6.0來教大家上機實驗,那你不妨看看本文,這裡有一些建議可以幫助你不會脫離社會太遠。 考慮到這是一個過來人感覺很基礎,但是對於初學者又覺得困難重重的問題,我想如果這篇文章

0基礎如何學好c語言

1、下載和安裝編譯器。   C語言需要通過編譯器解釋為計算機可以理解的機器碼。 編譯器通常是免費的, 不同的作業系統上一般使用不同的編譯器。   對於Windows系統, 可以嘗試 Microsoft Visual

學好C語言?先把基礎打好再說吧!

C語言是面向過程的,而C++是面向物件的 C和C++的區別: C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。 C++,首要考慮的是如何構造一個物件模型,讓這

如何學好C++語言

昨天寫了一篇如何學好C語言,就有人回覆問我如何學好C++,所以,我把我個人的一些學習經驗寫在這裡,希望對大家有用。首先,因為如何學好C語言中談到了演算法和系統,所以這裡就只談C++語言。 C++是最難的語言。這個世界上最難的程式語言可能非C++莫屬了。你千萬不要以為幾天就

如何學好C語言

寫這篇文章的主要目的是作為過來人想給初學者一些學習建議。掌握一個好的學習方法,往往可以事半功倍。 想窺探神祕的程式碼世界?最好的入口無疑就是C語言。 C語言是計算機體系結構的基礎,向下可以操作硬體(包括ARM,DSP,微控制器等各種微處理器),還可以寫驅動,寫OS,寫編譯

如何學好C語言[轉載]

原文地址: http://coolshell.cn/articles/4102.html 有人在酷殼的留言版上詢問下面的問題 我相信,這可能是很多朋友的問題,我以前也有這樣的感覺,程式設計編到一定的時候,發現能力到了瓶頸,既不深,也不紮實,半吊子。比如:你長期地使

12天學好C語言——記錄我的C語言學習之路(Day 1)

12天學好C語言——記錄我的C語言學習之路 Day 1: 剛剛入門C語言,那麼肯定要先把什麼是C語言和大家講清楚,那麼大家看下面一段程式(program  1.1): /*//program 1.1 #include<stdio.h>  //編譯預處理指令,編譯

如何學好C++語言?!

在學習C/C++或者想要學習C/C++可以加入我們的學習交流QQ群:389318488 C++是最難的語言。這個世界上最難的程式語言可能非C++莫屬了。你千萬不要以為幾天就可以學好C++,C++的學習曲線是相當BT的,你可以看看這篇文章。C++是一門很自由的語言,自由到

如何學好C語言(轉)

我相信,這可能是很多朋友的問題,我以前也有這樣的感覺,程式設計編到一定的時候,發現能力到了瓶頸,既不深,也不紮實,半吊子。比如:你長期地使用Java和.NET ,這些有虛擬機器的語言對於開發便利是便利,但是對於程式設計師來說可能並不太好,原因有兩個: 1.虛擬機器遮蔽了作業系

如何學好C語言----轉自酷殼coolshell.cn

有人在酷殼的留言版上詢問下面的問題 我相信,這可能是很多朋友的問題,我以前也有這樣的感覺,程式設計編到一定的時候,發現能力到了瓶頸,既不深,也不紮實,半吊子。比如:你長期地使用Java和.NET ,這些有虛擬機器的語言對於開發便利是便利,但是對於程式設計師來說可能並不

人生需要規劃,學好C語言程式設計,把握自己的未來,are you ready?

C語言和其他高階語言不一樣,它的很多操作都是直接面向記憶體(面向硬體)。困難的是,對於C語言,不論是資料型別、操作符、語句、函式,都或多或少、或簡單或複雜地通過地址操作記憶體。 幸運的是,一旦掌握記憶體,程式碼功能會非常強大,執行效率非常之高。 2018年畢業的大學生

如何學好C語言 & 如何學好C++

這兩篇文章是在一個部落格上看到的,這個博主寫的我長期以來一直覺得很受用,推薦一下:  http://coolshell.cn 如何學好C語言 我相信,這可能是很多朋友的問題,我以前也有這樣的感覺,程式設計編到一定的時候,發現能力到了瓶頸,既不深,也不紮實,半吊子。比如:你長期地使用Java和.NET ,這些

(轉)如何學好C語言

有人在酷殼的留言版上詢問下面的問題 我相信,這可能是很多朋友的問題,我以前也有這樣的感覺,程式設計編到一定的時候,發現能力到了瓶頸,既不深,也不紮實,半吊子。比如:你長期地使用Java和.NET ,這些有虛擬機器的語言對於開發便利是便利,但是對於程式設計師來說可能並

淺析c++和c語言的enum類型

gre gree 但是 最大 src 淺析 end cnblogs () 1.先看c語言枚舉類型 1.c語言定義枚舉類型,每一個枚舉元素都是一個整數2.註重數據類型,沒有數據類型限定3.相鄰枚舉元素相差整數4.可以通過整數訪問,不夠安全 2.上代碼: 1 #includ

如何學好CC++語言

cat 需要 布局 prime 使用 htm 你好 自信心 small 如何學好C語言 有人在酷殼的留言版上詢問下面的問題 keep_walker : 今天晚上我看到這篇文章。 http://programmers.stackexchange.com/questions/

C語言關鍵字淺析-break

### C語言關鍵字淺析系列 ### ### ISO/ANSI C 關鍵字 ### break關鍵字算是最常用的關鍵字之一了 常見於程式的迴圈結構和選擇結構中   break的作用是: 結束當前迴圈並跳出本層迴圈體。   1、迴圈結構中的bre

C語言關鍵字淺析-auto

### C語言關鍵字淺析系列 ### ### ISO/ANSI C 關鍵字 ### 從C語言的關鍵字的字母序上看,auto關鍵字一般都是排在第一個的 但這並不能說明它是編碼過程中編寫的最多的關鍵字 也許你打continue的速度比打一個auto還快上幾毫秒 為什麼我不願意直接

C語言關鍵字淺析-case

### C語言關鍵字淺析系列 ### ### ISO/ANSI C 關鍵字 ### case語句是C語言中switch開關語句中常用的關鍵字 將switch語句後的小括號中的變數視為引數 如果下面某一個case後跟的常量與引數相同 則從該case後的程式碼開始執行 &nb