c++程式

C++程式是一門廣泛用於工業軟體研發的大型語言。具有很高的複雜性和解決問題的能力。C++不僅在開發上極具價值,同時在學術界也就有很高的價值。有關C++的文章應該可以用浩如煙海來形容了吧。

介紹

C++程式是一門廣泛用於工業軟體研發的大型語言。具有很高的複雜性和解決問題的能力。C++不僅在開發上極具價值,同時在學術界也就有很高的價值。有關C++的文章應該可以用浩如煙海來形容了吧。

C++的世界級經典書籍也是數不勝數。然而,目前開發語言是如此地繁榮,就連微軟也在推出了新的開發語言C#。一個不可否認的現實是,在低階程式設計領域,C++擠壓著C同時也在承受著C的強烈反彈,前段時間看了據說是微軟作業系統原始碼的東東,其中很多還是C語言。而在高階程式設計領域,Java和C#正在不斷蠶食著C++的地盤。

也許Java和C#的狂潮終將迫使C++回歸本位— 回到它有著根本性優勢的開發領域:低級系統程式設計、高級大規模高性能套用設計、嵌入式程式設計、通用程式設計以及數值科學計算等。果真如此,我認為這未嘗不是一件好事。電力系統軟體所要求的高性能和大規模數值計算正是C++所擅長的。就我所接觸的南瑞和魯能,很多涉及到電力系統計算的軟體如PAS等,都是用C++來開發的。

在電力系統軟體開發這塊陣地,C++大有用武之地。C++吸引如此之多的智力投入,以至於這個領域的優秀作品,包括重量級的軟體產品、程式庫以及書籍等,數不勝數。在C++之父Bjarne Stroustrup的個人主頁上,有一頁列出了一些(全部或大部分)使用C++編寫的系統、應用程式和庫。

起源

C++程式源於C語言,還記得很久以前學習C語言的時光(那是一段快樂而充實的時光),可是現在學習C++,並不是在C的基礎上加上了類而已,如果這樣認為,我們是耍不好C++的。因此,C++絕不是C的升級或擴充,我們應該把C++當作一門新語言來學習(C++之父Bjarne Stroustrup語)。

套用

寫程式首先希望是程式能正確執行,其次是效率能夠被接受,再次就是易於維護。C++是一個難學易用的語言。C++提供了太多可選擇的東西,而且使用使用C++來寫程式可以有四種思考模式:基於過程、基於對象、面向對象和泛型。

STL對效率做了嚴格的要求,而且使用STL寫出來的程式簡潔美觀(前段時間我特意貼了一個要求對若干整數進行排序的帖子,其實目的就是用來展示STL的簡潔優雅)。一旦習慣使用泛型思維來考慮問題,我們能夠充分體會到模板帶來的美!

對於數值計算來說,C++標準程式庫可以充分滿足現代化服務和商業計算對數據、信息的即時回應的要求。

我覺得學好一門語言最重要的就是實踐。也就是多“寫”!“工程經驗之積累”對已具有一段開發時間的程式設計師而言,非常重要!只有在不斷的積累中,我們才能漸漸體會到C++語言中的一些背後的東西。

對於這點,沒有大量程式代碼寫作經驗的菜鳥,也可以藉助《Effective C++》先攢一些經驗值。《Effective C++》是一本好書!。Meyers的書絕對值得一讀,Meyers可以說當今C++社群中數一數二的技術專家。

C++與C語言的對比

C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。

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

C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C++程式的構成和書寫形式

C++程式的結構和書寫格式歸納如下:

1.一個C++程式可以由一個程式單位或多個程式單位構成。每一個程式單位作為一個檔案。在程式編譯時,編譯系統分別對各個檔案進行編譯,因此,一個檔案是一個編譯單元。

2.在一個程式單位中,可以包括以下幾個部分:

① 預處理命令。上節4個程式中都包括#include命令。

② 全局聲明部分(在函式外的聲明部分)。在這部分中包括對用戶自己定義的數據類型的聲明和程式中所用到的變數的定義。

③ 函式。函式是實現操作的部分,因此函式是程式中必須有的和最基本的組成部分。每一個程式必須包括一個或多個函式,其中必須有一個(而且只能有一個)主函式(main函式)。

但是並不要求每一個程式檔案都必須具有以上3個部分,可以缺少某些部分(包括函式)。

3.一個函式由兩部分組成:

① 函式首部,即函式的第一行。包括函式名、函式類型、函式屬性、函式參數(形參)名、參數類型。

註:一個函式名後面必須跟一對圓括弧, 函式參數可以預設,如int main( )。

② 函式體,即函式首部下面的大括弧內的部分。如果在一個函式中有多個大括弧,則最外層的一對{ }為函式體的範圍。

函式體一般包括:

①局部聲明部分 (在函式內的聲明部分)。包括對本函式中所用到的類型、函式的聲明和變數的定義。

註:對數據的聲明既可以放在函式之外(其作用範圍是全局的),也可以放在函式內(其作用範圍是局部的,只在本函式內有效)。

②執行部分。由若干個執行語句組成,用來進行有關的操作,以實現函式的功能。

4.語句包括兩類:一類是聲明語句,另一類是執行語句。 C++對每一種語句賦予一種特定的功能。語句是實現操作的基本成分,顯然,沒有語句的函式是沒有意義的。C++語句必須以分號結束。

5.一個C++程式總是從main函式開始執行的,而不論main函式在整個程式中的位置如何。

6.類(class)是C++新增加的重要的數據類型,是C++對C的最重要的發展。有了類,就可以實現面向對象程式設計方法中的封裝、信息隱蔽、繼承、派生、多態等功能。在一個類中可以包括數據成員和成員函式,他們可以被指定為私有的(private)和公用的(public)屬性。私有的數據成員和成員函式只能被本類的成員函式所調用。

7.C++程式書寫格式自由,一行內可以寫幾個語句, 一個語句可以分寫在多行上。C++程式沒有行號,也不像FORTRAN或COBOL那樣嚴格規定書寫格式(語句必須從某一列開始書寫)。

8.一個好的、有使用價值的源程式都應當加上必要的注釋,以增加程式的可讀性。C++還保留了C語言的注釋形式,可以用“/*……*/”對C++程式中的任何部分作注釋。在“/*”和“*/”之間的全部內容作為注釋。

用“//”作注釋時,有效範圍只有一行,即本行有效,不能跨行。而用“/*……*/”作注釋時有效範圍為多行。只要在開始處有一個“/*”,在最後一行結束處有一個“*/”即可。因此,一般習慣是: 內容較少的簡單注釋常用“//”,內容較長的常用“/*……*/ ”。

相關詞條

相關搜尋

熱門詞條

聯絡我們