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

第1章 C++相關知識

本章首先復習C++程序結構、三種C++預處理命令、異常處理的一種結構化形式的描述機制和有關面向對象程序設計中的一些基本概念。為學習Qt進行必要的準備。

1.1 C++程序結構

一個程序是由若干個程序源文件組成的。為了與其他語言相區別,每一個C++程序源文件通常以.cpp為擴展名,由編譯預處理指令、數據或數據結構定義以及若干個函數組成。代碼中,main()表示主函數。無論該函數在整個程序中的哪個位置,每一個程序執行時都必須從main()函數開始,因此,每一個C++程序或者由多個源文件組成的C++項目都必須包含一個且只有一個main()函數。

下面舉一個簡單的C++程序例子Ex_Simple來說明一下:

其中:

● 行號為3的代碼是C++文件包含#include的編譯指令,稱為預處理指令。

#include后面的iostream.h是C++編譯器自帶的文件,稱為C++庫文件,它定義了標準輸入/輸出流的相關數據及其操作。由于該程序中用到了輸入/輸出流對象cin和cout,因而需要用#include將其合并到該程序中,又由于它們總是被放置在源程序文件的起始處,所以這些文件被稱為頭文件(Header File)。C++編譯器自帶了許多這樣的頭文件,每個頭文件都支持一組特定的“工具”,用于實現基本輸入輸出、數值計算、字符串處理等方面的操作。

由于iostream.h是C++的頭文件,因此這些文件以“.h”為擴展名,以便與其他文件類型相區別,但這是C語言的頭文件格式。盡管ANSI/ISO C++仍支持這種頭文件格式,但已不建議再采用,即包含頭文件中不應再有.h這個擴展名,而應使用C++的iostream。例如:

        #include <iostream>

但為了使iostream中的定義對程序有效,還需使用下面名稱空間編譯指令來指定:

        using namespace std;                        // 注意不要漏掉后面的分號

using是一個在代碼編譯之前處理的指令。namespace稱為名稱空間,它是ANSI/ISO C++一個新的特性,用于解決在程序中同名標識存在的潛在危機。

● 上述程序Ex_Simple中的“/*...*/”之間的內容或“//”開始一直到行尾的內容是用來注釋的,其目的只是為了提高程序的可讀性,對編譯和運行并不起作用。正是因為這一點,所注釋的內容既可以用漢字來表示,也可以用英文來說明,只要便于理解就行。

需要說明的是,C++中的“/*...*/”用于實現多行的注釋,它將由“/*”開頭到“*/”結尾之間所有內容均視為注釋,稱為塊注釋。塊注釋(“/*...*/”)的注解方式可以出現在程序中的任何位置,包括在語句或表達式之間。而“//”只能實現單行的注釋,它是將“//”開始一直到行尾的內容作為注釋,稱為行注釋。

主站蜘蛛池模板: 天门市| 土默特左旗| 大竹县| 平昌县| 五台县| 江门市| 桂林市| 罗山县| 渑池县| 弥渡县| 嘉黎县| 巴南区| 思茅市| 沅陵县| 天等县| 康马县| 青川县| 阜南县| 库伦旗| 壶关县| 尼玛县| 吉林市| 疏勒县| 祁东县| 城步| 云阳县| 濉溪县| 深水埗区| 泸水县| 射阳县| 定边县| 平阴县| 余庆县| 崇义县| 南川市| 武威市| 福安市| 惠东县| 赫章县| 夹江县| 普安县|