數組的定義與使用
一、1.一維數組的定義:
類型說明符 數組名[常量運算式]; 注意:常量運算式包括常量與符號常量,不能包含變數。
2.一維數組的引用:
數組名[下標];
3.一維數組的初始化:
a.在定義數組時對數組元素賦以初值;
b.可以只給一部分元素賦值;
c.想使一個數組中全部元素值為0,可以寫成:a[10]={0};
需要注意 int a[10] = {1}; 並不能把數組初始化為全1,只是將第一位初始化為1,後面全部都是0滴.
d.在對全部數組元素賦初值時,可以不指定數組長度。
二、1.二維數組的定義:
類型說明符 數組名[常量運算式][常量運算式];
2.二維數組的引用:
數組名[下標][下標];
3.二維數組的初始化:
a.分行給二維數組賦值。int a[3][4]={{1,2,3,4},{5,6,7,8},{,9,10,11,12}};
b.可以將所有資料寫在一個花括弧內,按數組排列的順序對各元素賦初值。
c.可以對部分元素賦初值:
d.如果對全部元素都賦初值(即提供全部初始資料),則定義數組時對第一維的長度可以不指定,但第二維的長度不能省。
三、1.字元數組的定義:參考一維數組定義,類型的改變。
2.字元數組的初始化:參考一維數組初始化。
3.字元數組的引用:參考一維數組的引用。
4.字串和字串結束標誌:字串在遇到‘\0’,表示字串結束。
5.字元數組的輸入輸出:
a.逐個字元輸入輸出,使用“%c”;
b.將整個字串一次輸入輸出,用“%s”。
注意:A.輸出字元不包括結束符‘\0’;B.用“%s”輸出字串時,printf函數中的輸入項是字元數組名,而不是數組元素名。C.如果數組長度大於字串實際長度,也只輸出到‘\0’結束。D.如果一個字元數組中包含一個以上‘\0’,則遇第一個‘\0’時輸出就結束。
6.字串處理函數:
a.puts(字元數組) 作用:將一個字串(以‘\0’結束的字元序列)輸出到終端。
b.gets(字元數組) 作用:以終端輸入一個字串到字元數組,並且得到一個函數值。該函數值是字元數組的起始地址。
注意:用putshe gets函數只能輸入或輸出一個字串,不能寫成puts(str1,str2)或gets(str1,str2).
c.strcat(字元數組1,字元數組2) 作用:串連兩個字元數組中的字串,把字串2接到字串1的後面,結果放在字元數組1中,函數調用後得到一個函數值——字元數組1的地址。
說明:A.字元數組1必須足夠大,以便容納串連後的新字串。B.串連錢糧個字串的後面都有一個‘\0’,串連時將字串1後面的‘\0’取消,只在新串最後保留一個‘\0’。
d.strcpy(字元數組1,字串2) 作用:是將字串2複製到字元數組1中去。
說明:A.字元數組1必須定義得足夠大,以便容納被複製的字串,字元數組1的長度不應小於字串2的長度。B.“字元數組1”必須寫成數組名形式,“字串2”可以是字元數組名,也可以是字串常量。C.複製時連同字串後面的‘\0’一起複製到字元數組1中。D.不能用指派陳述式將一個字串常量或字元數組直接給一個字元數組。E.可以用strcpy函數將字串2中前面若干個字元複製到字元數組1中去。如:strcpy(str1,str2,2);
e.strcmp(字串1,字串2) 作用:是比較字串1和字串2。
說明:A.如果字串1=字串2,函數值為0。B.如果字串1>字串2,函數值為一正整數。C.如果字串1<字串2,函數值一定為負數。注意:對兩個字串進行比較只能採用strcmp(字串1,字串2)的形式,不能採用其他形式。
f.strlen(字元數組) 作用:測試字串長度的函數,函數的值為字串中的實際長度,不包括‘\0’在內。
g.strlwr(字串) 作用:將字串中大寫字母換成小寫字母。
h.strupr(字串) 作用:將字串中小寫字母換成大寫字母。