C語言學習(九)陣列

2021-08-21 19:22:15 字數 1491 閱讀 8747

一維陣列

1.一維陣列的定義格式為: 型別說明符 陣列名[常量表示式];例如: int a[10];   它表示定義了乙個整形陣列,陣列名為a,有10個整形元素。

2.在定義陣列時,需要指定陣列中元素的個數,方括弧中的常量表示式用來表示元素的個數,即陣列長度。

3.常量表示式中可以包括常量和符號常量,但不能包含變數。 注意: c語言不允許對陣列的大小作動態定義,即陣列的大小不依賴於程式執行過程中變數的值。

陣列說明中其他常見的錯誤: ① float a[0];        /* 陣列大小為0沒有意義 */

② int b(2)(3); [ ]  /* 不能使用圓括號 */

③ int k, a[k];   /* 不能用變數說明陣列大小*/ 

由於陣列是使用乙個名稱來儲存同一型別的多個資料,因此需要通過引用的方式來訪問陣列中的單個元素,引用的格式為: 陣列名[下標] c語言中,陣列元素的下標從0開始,而且必須為整型常量或變數。因此,上面定義的陣列array包含的元素為:int a= 5;      array[a] = 99; array[0], array[1], array[2], array[3], array[4] 資料元素本身相當於乙個變數,因此,對陣列元素的操作類似於對變數操作。

陣列的存放

每個資料元素占用的位元組數,就是基型別的位元組數,乙個元素佔4個位元組。系統會為乙個陣列分配一段連續的儲存空間。陣列的首位址就是第0個元素的位址。

二維陣列

二維陣列定義的一般形式為: 型別說明符  陣列名[常量表示式][常量表示式];

例如:         定義a為3×4(3行4列)的陣列,b為5×10(5行10列)的陣列。 如下:float  a[3][4],b[5][10] ;

注意:我們可以把二維陣列看作是一種特殊的一維陣列:它的元素又是乙個一維陣列。 例如:可以把a看作是乙個一維陣列,它有3個元素:a[0]、a[1]、a[2],每個元素又是乙個包含4個元素的一維陣列。

字元陣列

例如:char c[10];   c[0]=′i′ ;  c[1]=′ ′;   c[2[=′a′;   c[3]=′m′;   c[4]=′ ′;   c[5]=′h′;  c[6]=′a′;   c[7]=′p′;   c[8]=′p′;   c[9]=′y′; 對字元陣列初始化,可逐個字元賦給陣列中各元素。 例如: char c[10]= 

為了測定字串的實際長度,c語言規定了乙個「字串結束標誌」——『\0』。

字元陣列的輸入輸出可以有兩種方法: 逐個字元輸入輸出。用格式符「%c」輸入或輸出乙個字元。 將整個字串一次輸入或輸出。用「%s」格式符,意思是對字串的輸入輸出。

說明: (1)用「%s」格式符輸出字串時,printf函式中的輸出項是字元陣列名,而不是陣列元素名。

(2)如果陣列長度大於字串實際長度,也只輸出到遇′\0′結束。

(3)輸出字元不包括結束符′\0′。

(4)如果乙個字元陣列中包含乙個以上′\0′,則遇第乙個′\0′時輸出就結束。 (5)可以用scanf函式輸入乙個字串%s。

c語言學習筆記九

運算子 邏輯運算 xor 的真值表 a b a xor b 0 0 0 0 1 1 1 0 1 1 1 0 nand 的真值表 a b a nand b 0 0 1 0 1 1 1 0 1 1 1 0 nor 的真值表 a b a nor b 0 0 1 0 1 0 1 0 0 1 1 0 進製間的...

c語言學習日記(九)

上三角矩陣指主對角線以下的元素都為0的矩陣 主對角線為從矩陣的左上角至右下角的連線。本題要求編寫程式,判斷乙個給定的方陣是否上三角矩陣。輸入格式 輸入第一行給出乙個正整數t,為待測矩陣的個數。接下來給出t個矩陣的資訊 每個矩陣資訊的第一行給出乙個不超過10的正整數n。隨後n行,每行給出n個整數,其間...

c語言學習 陣列

我們在程式設計時往往需要儲存很多數,這個時候我們就需要陣列這個工具了 1.陣列的宣告 型別 變數名稱 元素數量 double weight 20 元素數量必須是整數 定義 是一種容器 放東西的東西 特點是 1.其中所有的元素具有相同的資料型別 2.一旦建立,不能改變大小 3.陣列中的元素在記憶體中是...