什麼是常數,C++常數及用法(無師自通)

2020-07-16 10:04:40
常數是直接書寫在程式程式碼中的資料片段。常數最常見的用法之一就是給變數賦值。

例如,下面語句表示將常數值 5 分配給變數 number:

number = 5;

常數的另外一種常見用法是在螢幕上顯示某些內容。例如,字串常數被傳送到 cout 以顯示單詞:

cout << "The value of number is";

常數可以是字元、字串或數位值。下面的程式就使用了一個變數和若干常數:
// This program uses integer literals, string literals, and a variable .
#include <iostream>
using namespace std;

int main()
{
    int apples;
    apples = 20;
    cout << "On Sunday we sold " << apples << " bushels of apples. n";
    apples = 15;
    cout << "On Monday we sold " << apples << " bushels of apples. n";
    return 0;
}
程式輸出結果

On Sunday we sold 20 bushels of apples.
On Monday we sold 15 bushels of apples.

該程式中的變數是 apples。此外,表 1 列出了上面程式中使用的常數。

整數常數 字串常數
20 "On Sunday we sold"
15 "On Monday we sold"
0 "bushels of apples.n"

有時數位並不是數位

如上面程式所示,在一個或多個單詞周圍放置引號將使其成為字串常數值。當字串文字被傳送到 cout 時,它們的列印將完全依照出現在引號中的內容。

你可能己經注意到,endl 流操作器在書寫時其周圍就沒有引號。如果將下面的程式碼行放在一個程式中,那麼它將列印出一個單詞 endl,而不是讓後續的輸出開始新的一行。

cout << "endl"; //錯誤!

事實上,將雙引號放在任何不打算作為字串使用的東西上都會產生某種型別的錯誤。

例如,在上面程式的第 8 行中,本意是要將整數常數 20 分配給變數 apples,使其獲得值 20,但如果以下面這種方式編寫該語句則是不正確的:

number = "20"; //錯誤!

由於有雙引號包圍,所以這裡的 20 不再是一個整數,它變成了一個字串。而因為 apples 被定義為整數型變數,所以只能在其中儲存整數。整數 20 和字串“20”顯然不是一回事。

數位可以表示為字串,這種情況經常讓新學習程式設計的人搞不清。請記住,字串是供人閱讀的,它們將被列印在計算機螢幕或紙張上。但是,數位則主要用於數學運算。

不能對字串執行數學運算,也不能在螢幕上顯示數位。數位需要先轉換為字串才能在螢幕上顯示。幸運的是,在給cout傳送數位時,它會自動處理此轉換。