UID320416
帖子
精華
主題
積分14
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限5
註冊時間2013-3-25
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 怒 2013-11-14 10:06 PM |
---|
簽到天數: 11 天 連續簽到: 1 天 [LV.3]偶爾看看II
|
本帖最後由 KarK 於 2013-4-3 10:41 PM 編輯
字元與字串:
字元即是很多個字所組成,而字元是指單一個字:
- char c = 'a'; //字元
- string b = "abc"; //字串
複製代碼 注意!字元 char 型別若定義為 'abc' 只會輸出 c,因此,使用C++開發,強烈建議使用 string 字串型別。
輸入字串:
要使用 cin 來定義一個字串變數,首先必須引入標頭檔 #include "string";
然後與一般變數相同:注意!嘗試輸入中文字串,可能會在複製或是輸出時成為亂碼!
陣列:
陣列是一有向的向量類別,好比一個大到同時給五個學生用的一張桌子有五個抽屜,每個抽屜都可以放每個學生自己的東西。
(注意!陣列位置計算由 0 開使)
陣列定義、位置、常數:
常數:
即是不可改變之定值,於初始化後就已固定,不可更改,定義方式:
關鍵字:const 型別 變數名稱 = 初始化值;
這樣一來,size變數將於編譯後永遠是 5 ,且任何嘗試修改他的動作都將導致崩潰!
定義陣列: - 1.型別 變數名稱 [ 常數/定數 ] = { (可省略,也可以初始化)};
- 2.const int size 5;
- 3.int arry [ 5(或是 size)] = { 2,4,6,8,10 (也可不初始化)};
複製代碼 注意!初始化內容多寡不可超過陣列長度,但是可以少於陣列長度!如:
- 1. int arry [ 5(或是 size)] = { 2(也可不初始化)};
複製代碼 單一下標,完全下標:
注意,因為陣列是個有向的多存放式容器,因此當我們要存取某一個地方的值時,我們必須告訴編譯器位置:
就以int arry [ 5 ] = { 2,4,6,8,10 }; 來說:
當要存取 4 時,必須下標 arry [1]; //實際上是第二個位置
因此 cout << arry [1]; 可得 4
因為程式在計算位置時,皆是以 0 作為第一個位置!
當你想完全的輸出陣列所有的值,而不是單一下標時,可以配合迴圈特性:- for ( int i = 0 ; i < size ; i ++) // i = 0 1 2 3 4
- {
- cout << arry; // 2 4 6 8
- }
複製代碼
自訂義陣列內容:
由上方我們得知可以利用迴圈輸出陣列,相同的,我們也可以利用迴圈來輸入陣列之值:- for ( int i = 0 ; i < size ; i ++)
- {
- cin >> arry;
- }
- for ( int i = 0 ; i < size ; i ++)
- {
- cout << arry;
- }
複製代碼
其結果我不再展示,請各位自行驗證!
進階迴圈:
迴圈除了可以用在陣列的應用以及數學的解題,我們還可以設計巢狀的迴圈,其效果如同:
九九乘法表、三角形的輸出:
- <b>九九乘法表實作:
- for (int i = 1; i < 10 ; i++)
- {
- for(int p = 1; p < 10; p++)
- {
- cout << i << " 乘上 " << p << " 是 : " << i * p << endl;
- }
- cout << endl;
- }
- 三角形輸出:
- for (int i = 0; i < 自訂義長度; i++){
- for (int a = 0 ; a <= i; a++){
- cout << 自訂義符號; // 如"o"或"."
- }
- cout << endl;
- }
- </b>
複製代碼
由此兩例可以看出,迴圈有等待特性,上迴圈會等待下迴圈執行完之後在累加,此特性我們在日後會更常用到!
下篇章節我們將會講到更深入的陣列應用和指標的基礎還有參照!
|
|