C++學習第1篇-編程介紹

來源:互聯網
上載者:User

1. 學習內容介紹

本學習內容主要面向初級入門編程,包括有少許和無編程經曆的人員。中級編程人員或許可以找到一些建議和策略來提高編程技能。

關注一下我們的幾大目標:

1)囊括C++所有話題:

與傳統的書本相比,本內容涉及諸如編程風格、通常陷阱、調試、好/壞編程實踐和測試。你會知道應該和不應該如何用C++去編程。

2)提供大量參考樣本:

樣本示範了如何去應用各種概念,大多數人通過例子更透徹理解所學到的知識概念。

3)提供練習編程:

最好的學習方法是使用學到的知識來編寫自己的程式。

4)最重要的是:玩得開心

編程可以產生許多愉快,如果你總是不愉快,說明你不處於恰當的編程狀態。

2. 程式設計語言介紹

當今電腦變得越來越快,但也存在明顯的限制。電腦只會機械執行有限的指令。軟體——
告訴電腦如何操作的指令集;硬體——機械執行指令的電腦。

1、機器語言:

一個電腦的CPU不會講C++,CPU可以理解的是一個非常有限的指令集,稱作為機器代碼,即機器語言或指令集。

首先,一條指令由一組二進位位組成,每個位的值只能為0和1。通常的x86的CPU的指令長度為32位,如:1011 0000 0110 0001。

其次,每個二進位位集由CPU翻譯成一條指令。

不同的CPU類型的指令集也不盡相同。

2、組合語言:

由於使用機器語言編程是異常的困難,組合語言就被發明了。每條指令由一個簡短的名稱來代替,而不是二進位碼,所以更易讀易寫。

CPU不能直接理解組合語言,必須通過一個彙編器進行翻譯。組合語言是如此的快速,至今還應用在速度苛刻的地方。

組合語言也是針對指定的CPU而編寫代碼,而且依然需要很多操作和不人性化。

彙編指令如: MOV AL, 061H。

3、進階語言:

為瞭解決這些問題,進階語言就產生,如C、C++、Java等。進階語言在CPU可運行之前,也需通過編譯和解釋。

編譯器:一次性編譯,運行時不需要再次編譯。


解譯器:比編譯器更容易編寫,效率偏低。程式每次運行都需要。

C、C++等屬編譯性語言,而Perl和JavaScript是解釋性語言;而Java相容兩種。

進階語言有一些主要特性:

1)易讀易寫;

2)需要更少的指令操作,如:a=b*2+5 ,在組合語言中需要5-6步的操作;

3)不需要關注太多細節,如載入變數到CPU寄存器;

4)更重要的是:適用於多種結構的CPU。

3. C/C++介紹

C語言是1972年Dennis Ritchie在貝爾實驗室發明,原本是系統程式設計語言,主要目標是易編譯、高效訪問記憶體、產生效率高的代碼、不需要運行時支援。

可以說是低級-進階語言,是平台獨立性的語言。

C語言是如此的高效和靈活,Ritchie and Ken Thompson在1973年使用C重寫UNIX系統,C語言的出色相容性使UNIX可以在不同平台上進行重編譯。

C語言的命運就與UNIX綁在了一塊,而C語言流行的部分原因也是UNIX作為一個作業系統。

在1983,ANSI形成C標準,即C89標準;在1990,ISO採納C標準,即C90標準;在1999,最新指定C99。

C++語言是貝爾實驗室Bjarne Stroustrup在1979發展,作為C的擴充。ISO在1998和2003,被ISO批准;最新的標準是2010的C++0.X。

C和C++潛在的設計規則是-信任程式員。這就是知道不應當如何編程的由衷之一。

C++在C的基礎上增加了許多特性,C++是一門物件導向的程式設計語言。

4. 開發介紹

程式開發流程圖:


步驟1:定義需要解決的問題-即What階段;

步驟2:確定解決問題的方法-即How階段:

好的方案套件括如下特點:直觀;好的書寫文檔;易擴充;模組化。達到可擴充和高效模組化是巨大的挑戰。

二八原則-20%時間寫代碼,而80%時間是修改和調試代碼。

模組化保持代碼的可讀性和可重用性。

步驟3:編寫代碼:

需要程式設計語言知識,編程工具;好的編程工具:行號、文法高亮和不同顏色、確定的字型。

步驟4:編譯:

檢查編寫的代碼是否符合語言規範;使程式正確輸入輸出。


步驟5:連結:

將目標檔案和相關庫串連,產生可執行檔:


命令如:g++ -o prog file1.cpp file2.cpp file3.cpp

步驟6:測試和調試

檢測程式運行結果是否正確。

一般步驟3-步驟6是不斷迭代進行。

5. 編寫第一個程式:

根據不同的OS平台,安裝不同的編譯工具。

第一個程式-經典HelloWorld

[免責特此聲明:
1)本內容可能是來自互連網的,或經過本人整理的,僅僅代表了互連網和個人的意見和看法!
2)本內容僅僅提供參考,任何參考該內容造成任何的後果,均與原創作者和本部落格作者無關!]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.