Advanced Search
Search Results
25 total results found
6-4 將陣列傳入函數
傳址呼叫(call by address) 除了「傳值呼叫」、「傳參考呼叫」外,還有一種參數傳遞方式叫「傳址呼叫」。 為什麼叫「傳址」呢?因為這種方式是直接把變數在記憶體中的 「位址(address)」 傳進去給函數,在函數裡我們直接到記憶體中的相應位置去操作這個變數的值。所以傳址呼叫和傳參考呼叫一樣可以動到外面變數的值。 關於傳址呼叫,因為會接涉到記憶體位置和指標(pointer),比較複雜,我們會稍後再來看這個主題。 不過由於大家可能會有需要把一個陣列傳入函數裡,所以我們先來看要如何做到。 一個陣列裡面的元素可...
6-5 全域變數與靜態變數
全域變數(Global variable) 一般來說,我們使用函數時會將操作到的變數限制在函數裡,也就是以區域變數的方式使用。如有需要操作到函數外面的變數,我們會用傳參考或傳址的方式來處理。 我們以一個抽號碼牌的程式來示範。 練習:抽號碼牌(1) #include <iostream> using namespace std; int getTicket(int &num) // 以傳參考方式遞增外面的 num 變數值 { num++; return num; } int main() { ...
*2.4 C 語言的 printf( ) 格式化輸出函數
為什麼需要「格式化」輸出? 想像一下,如果你的程式計算出圓周率是 3.1415926,但你只想在螢幕上顯示 3.14;或者你希望輸出的成績單欄位能夠像表格一樣文字靠左對齊,數值靠右對齊。 這些都無法單純地將變數丟出來就辦到,我們需要「告訴」printf 應該用什麼「格式」來呈現資料,這就是格式化輸出的精髓。 標頭檔 要使用 printf,請務必在程式開頭引用標頭檔: #include <cstdio> cstdio 是指 C語言的標準輸入輸出(c standard input output)。 printf 語法...
*2.5 C 語言的 scanf( ) 格式化輸入函數
我們已經學會如何用 printf 讓程式輸出精美的訊息。但一個真正有用的程式,不僅要會「說」,更要會「聽」。它需要接收使用者的指令、數據,才能進行下一步的處理。 scanf (scan formatted) 就是這座溝通的橋樑。它會暫停程式的執行,靜靜地等待使用者從鍵盤輸入資料,然後依照我們指定的「格式」去解析這些輸入,並將它們存放到對應的變數中。 同樣地,要使用 scanf,請務必在程式開頭引用標頭檔: #include <cstdio> 2.5.1- scanf 的核心語法與「&」的秘密 scanf 的語法看...
3.5 三元運算子 ? :
3.5.1 三元運算子? : 在 C++ 中,三元運算子(Ternary Operator)是唯一一個需要三個運算元的運算子。它的符號是 ? 和 :。 這個運算子主要用來取代簡單的 if-else 判斷式,讓程式碼在一行內就能完成條件判斷與賦值,非常方便。 語法 三元運算子的基本語法結構如下: 條件式 ? 運算式1 : 運算式2; 條件式 (Condition): 這是一個會回傳 true (真) 或 false (假) 的布林表達式。 ? : 這是三元運算子的核心符號。 運算式1 (Expression1...