KarK 發表於 2013-4-3 22:36:14

C++ 簡單教學 第四章 字串、基礎陣列、深入迴圈、常數

本帖最後由 KarK 於 2013-4-3 10:41 PM 編輯

字元與字串:

字元即是很多個字所組成,而字元是指單一個字:

char c = 'a'; //字元

string b = "abc"; //字串

注意!字元 char 型別若定義為 'abc' 只會輸出 c,因此,使用C++開發,強烈建議使用 string 字串型別。

輸入字串:

要使用cin來定義一個字串變數,首先必須引入標頭檔 #include "string";

然後與一般變數相同:cin >> b;注意!嘗試輸入中文字串,可能會在複製或是輸出時成為亂碼!



陣列:

陣列是一有向的向量類別,好比一個大到同時給五個學生用的一張桌子有五個抽屜,每個抽屜都可以放每個學生自己的東西。

(注意!陣列位置計算由 0開使)

陣列定義、位置、常數:

常數:

即是不可改變之定值,於初始化後就已固定,不可更改,定義方式:

關鍵字:const 型別 變數名稱 = 初始化值; const int size = 5;

這樣一來,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 ;//實際上是第二個位置

因此 cout << arry ;可得 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>

由此兩例可以看出,迴圈有等待特性,上迴圈會等待下迴圈執行完之後在累加,此特性我們在日後會更常用到!


下篇章節我們將會講到更深入的陣列應用和指標的基礎還有參照!

〃深秋戀歌〃 發表於 2013-7-8 16:17:18

輸入最好玩的應該是printf 可以控制你要怎麼輸出
陣列就更多了 是現在資工大一大二玩到瘋掉的方法
有一般的陣列 有vector 有動態陣列 有指標陣列 有鏈結串列
太多了...
頁: [1]
查看完整版本: C++ 簡單教學 第四章 字串、基礎陣列、深入迴圈、常數