回覆列表
  • 1 # 踏踏實實做事呀

    C語言是面向過程的,而C++是面向物件的 C和C++的區別:

      C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何透過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

      C++,首要考慮的是如何構造一個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以透過獲取物件的狀態資訊得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。 C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程式設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

      工作中,接觸過很多想到學習c語言而又沒有一點計算機基礎的人。經常有人問”我沒有一點基礎,該怎麼入門c語言啊”。看過很多初學者久久摸不到門路,每到這個時候,腦海中總會浮現一個問題:學習c語言真的就那麼難嗎? 不難。

      很 多人學習c語言,上來就去背語法,甚至連各種高深的演算法都是死背出來的,大學裡流行考計算機二級C語言證書,手抄資料的有之,背全書者有之,終於可憐又可悲的拿到了所謂的證書,真正用c語言編寫程式處理問題時,滿腦子空了。可能這樣學過之後,把許多c語言語法記住了,但是卻學不會如何編寫程式處理問題。所 以,掌握學習方法很重要。如果你覺得很難,那是因為你缺少一個好的方法。

      學習c語言也離不開記憶語法,但是死記的話,肯定不行。c語言,無 非也就是一種工具,用它來表達我們的思路,讓計算機幫我們思考,寫程式的過程就變成了告訴計算機該怎麼做的過程。很多人遇到問題,自己都沒有思路,更別提用c語言寫程式了。很遇到問題的時候不要滿腦子去想怎麼用c語言處理這個問題,記住:程式 = 資料結構 + 演算法,把思路轉變到對資料的組織和對演算法的思考上 來。

      資料結構歸根結底就是一些資料的組織形式,而資料在c語言裡都有各自的型別,各種複雜的資料結構也都是從最基本資料型別組織起來的,所以學習 c語言,首先要記住c語言裡可用的資料型別都有哪些,掌握每種資料型別的定義和使用規則。任何一種計算機程式語言,最根本都是對資料的操作。每種語言都有不完全相同的資料組成形式,很多時候,對於同樣一個問題,你可以構建不同的資料結構對它進行處理。初學者,不必太深究要把資料做成什麼型別可以寫出漂亮的程式。你只需要記住:你需要什麼樣的資料。

      學習c語言,其次要學習演算法。演算法的好壞直接影響了程式的好壞。有人建議學程式的時候多看別人的例子程 序,研究別人是如何處理問題的。不錯,這是必不可少的,但是不要總是去看,也要自己多思考。這裡的思考不是讓你思考如何處理這個問題,你要思考的是如何教 會計算機幫你解決這個問題。我們寫出來的程式畢竟是讓計算機來執行的。你必須按照計算機的特點來思考才可以。

      計算機在處理問題時有自己的特點:

      1、 計算機在問題的處理方式上要求全,將所有的可能都要告訴它。人可以根據習慣忽略一些東西,但計算機不行。計算機沒有像人一樣的智慧處理能力,它是人忠實的信徒,不管你怎麼想,它都會執行你的命令。由於你的習慣,導致一些別有用心的人或者無意犯錯的人來犯錯誤,致使計算機有時無所適從。很疲憊,甚至崩潰,報錯,造成你的程式是不成功的,所以你感覺很難。

      2、 計算機要求程式的描述精確,無二義性。人的語言有很強的隨機性和二義性。我們平時說話時,有時是一些招呼,有時說話的邏輯性可以不太清楚,話既可以表達這樣的意思,也可以表達那樣的意思,人可以根據環境和對方想表達的含義進行分析,最終得到正確的結果,但是計算機很弱智,雖然它很聽話,但是他不能理解你表達的思想,只會按你交給的指令執行,這樣導致執行時報警和出錯。

      3、 計算機程式設計是 要求有很強的全域性性和邏輯性,不存在起伏的問題。人的思維有很強的活躍期和蟄伏期,計算機不會,它隨時待命。人在考慮問題時,有很多盡興的東西,但這不是處理問題的整體,而是一部分,所以就出現做完一段程式碼後,就不願意再寫,或感覺很吃力,所以感覺很難。

      所以我們在思考問題時,要記住計算機的特點,從計算機的角度去考慮問題。當然作為初學者,習慣了以人來思考問題,轉變思想需要一個過程,我們可以先按照人的邏輯解決好問題,然後作類比,假如你自己是計算機你該怎麼處理問題。當你學會了從計算機的角度思考問題,並能夠正確地用c語言的語法表述出來你的思路(演算法)時,你就真正的入門c語言了。

    自學程式設計,免費獲取精品IT教程以及資料,前往http://yun.itheima.com/course?lxlyk

  • 中秋節和大豐收的關聯?
  • 今年26歲了,失業,有哪些比較有前景的職業可以自己去闖?