官术网_书友最值得收藏!

1-4 C++時代的C語言學習

作為年紀大一點的C/C++程序員,我們學習C++的時候是在20世紀90年代,C++標準還沒有完全確立,并且是先學習了C語言,所以現在編寫程序還有一些不良的習慣,比如對標準庫的使用。

工作了一段時間,看到一篇文章才知道,原來C++中已經有string這樣的標準類供我們使用,既安全又方便。我原來熟悉的那些C語言的字符串處理函數統統可以靠邊站了,我所熟悉的那些指針與字符數組之間的關系的技巧也失去意義了,我擔心的很多問題也可以不管了。回頭看看C語言,不禁感慨,除了在嵌入式系統開發等少數幾個領域,現在恐怕很少有人還在用純C語言開發應用。

相信將來的計算機編程語言教學會采用先教學C++,部分程序員因為需要,自己去學習C語言固有的特色。可是我們的大學教育還是C語言教學占據很大一部分,C++雖然有所加強,但遠沒有達到主要的教學語言的地位。

既然如此,在C++地位完全超過C的背景下,現在學習C語言還有什么意義呢?我整理了一下,覺得在以下幾個方面,可以讓我們在學習C語言的時候安心一些。

1.理解算法

算法的重要意義不用多說,如果在編寫程序的時候嘗試用不同的算法實現,通過簡單的C語言一樣可達到對許多經典算法的理解,這個時候,簡單的語言,可能反而能夠讓我們一下抓住核心。

2.從問題域到解題域

結構化設計的核心是分解思想,把一個大問題分解成幾個小的模塊。什么問題都可以無限分解,直到每一個小塊都有解,理論上可以解決任何問題。

早期編程的學習,應該還有一個目標就是培養程序員解決問題的能力。所以,通過C的鍛煉,得到的經驗應該到處可用。

3.簡單項目的開發方法

如果學習C語言只限于能夠解答課本上的作業題,可能還不夠,應該嘗試寫一些有成千上萬行代碼的項目。這個時候,對程序結構代碼的管理和分布、測試和Building技術,應該能夠有一些理解,這對任何項目都應該是相通的。

4.對未來學習的幫助

別的不說,數據結構,操作系統和編譯原理這些課程,那些算法大多用C-like語句描述,雖然說只要英語好就能讀懂,不過懂C語言畢竟要容易得多。另外,在很多領域,還有不少C-like的各種腳本語言,有比較好的C語言基礎,多數一看就會,再加上簡單的語法手冊,基本上就可以理解了。

再說了,C語言基本上可以看成是其他語言的基礎。在20世紀80年代初期,C語言早已成為UNIX操作系統的主要程序語言,而現在C語言更是廣泛地介入大型計算機、個人計算機等領域。目前市面上許多的程序游戲、文字處理、繪圖及數學運算等軟件均是C語言的杰作。我們可以找到許多這樣的源程序來研究,這類資料也大多是用C語言來描述的。

對于個人而言,學習一個程序語言也是一項重要的投資。學習C語言就好比您學英語一樣,走到世界各地都“講”得通,而且關于C語言的函數庫的獲取也較其他計算機語言容易。以現實的眼光來看,C語言程序員的層次與待遇也比其他高級語言的程序員高,而且比較容易被IT企業聘用。

現在熱門的C++或者是Java等語言均是以C為基礎,再加上面向對象的功能,語法與C極為相似。C語言的投資回報相當高,值得您花時間去研究。當然,也別讓它在您的履歷表里缺席。要學好C語言,就從現在開始吧!

5.良好的編程習慣

這個不用多說,只要沒有養成壞習慣的習慣就是好習慣。

6.掌握工具的能力

C編程實踐中不可能不和某一個IDE編譯器聯系起來,選定一個長期使用和研究的心得,對你使用其他工具也很有幫助。

7.還是有些其他好處的

(1)可能的高收入。如果你有志于嵌入式系統開發,精通C語言會讓你將來很輕松過關或者一份收入不錯的工作。

(2)為后續學習打好基礎,數據結構,操作系統,無不需要。

(3)結合計算機原理等內容,對計算機體系結構理解得更深刻。為將來用任何開發語言做開發都有幫助。

如果你也恰好剛剛學習了C語言程序設計這門課程,或者正在學習,我們建議也同步找一本C++程序設計的圖書來看看。初步理解一些面向對象程序設計的理念,站在更高或者說知識面更廣的角度來學習程序設計語言。當然,本書后面的章節也有涉及。

主站蜘蛛池模板: 恭城| 平乡县| 彭山县| 博乐市| 华容县| 通榆县| 永丰县| 江津市| 贡山| 南通市| 盱眙县| 页游| 西和县| 满城县| 沧州市| 轮台县| 周宁县| 南昌县| 靖安县| 姜堰市| 延长县| 昌乐县| 南涧| 壤塘县| 大新县| 尚志市| 海盐县| 西安市| 鄱阳县| 旺苍县| 崇礼县| 县级市| 凤城市| 永川市| 渭南市| 石台县| 油尖旺区| 霸州市| 安溪县| 合江县| 金塔县|