我們宣告的變數事實上皆有各自的生命週期,簡單來說原則上變數始於宣告、終於其宣告時最接近之 { 對應之 }. 當程式離開該大括弧的區塊以後,理論上我們就不應嘗試存取它。請留意,在不同的作用域宣告相同名稱的變數是會覆蓋的。以下將由小到大介紹各變數作用域。 區塊變數 宣告在條件分支與迴圈控制區塊中的變數是為區塊變數。如果我們在大括弧外使用區塊變數的名稱,編譯器會不認得它而說 identifier is undefined. 然而,技術上來說,我們其實可以透過指標在區塊變數的生命週期外嘗試存取它,因為區塊變數與區域變數都位於函式的堆疊。 #include <iostream> using namespace std; int main()...

[C++ 入門] 1.2 基本變數型別

接下來的兩篇分別介紹變數型別及運算子,初學者只需大略了解相關概念,必要時再查詢相關資料即可。 前面我們介紹如何宣告整數型別的變數,但其實變數不只有整數,其實整數也有不少種。C++ 中的基本資料型別可以分為整數、浮點數、字元及布林等等,其中因為 C++ 算是弱型別語言,字元及布林是能直接和整數轉換的。 整數 標準中的整數關鍵字計有:short, int, long, long long, … 為何要有那麼種多整數呢??以 ZeroJudge a002 為例,這題要求兩整數的和,相信對各位十分容易,肯定能輕易地寫出以下的程式: 現在請 F5 執行這個程式。輸入 \(87\ 69\), \(9487\ 666\), \(92\ 89\)...

概述變數與運算 程式在執行過程中,一如我們平時計算往往需要計算紙,總是會需要保存一下運算的過程與結果。當我們宣告一個變數,電腦就會在記憶體當中分配一個空間給予我們使用。今天我們的重點在輸入,因此先簡單介紹整數型別的變數。 還記得 1_2 的範例中,我們輸出 \(87 \times 69\) 以及 \(9487 \times 426 - 89 \times 64 + 87 \times 69\), 我們觀察到後者其實有用到前者的結果,因此我們可以宣告一個變數紀錄前者,如下所示: 第七行的 int n = 87 * 69; 代表我們宣告一個名為 n 的變數,其形態為整數 (int, integer), 同時我們將其值設為 \(87...