C語言:數組

1.一維數組

1.1 一維數組的定義

     類型說明符   數組名[常量表達式];// int a[10];

    注:常量表達式中可以包括常量和符號常量,也就是說,C語言不允許對數組的大小做動態的定義,即數組的大小不依賴於程序運行過程中變量的值;

   如下是不允許的:

int  n;
scanf("%d",&n);
int a[n];/* 在程序中臨時輸入數組的大小 */

1.2 一維數組元素的引用

數組必須先定義,再使用。

表現形式爲:數組名[小標]

1.3 一維數組的初始化

對數組的元素的初始化可以用一下方法實現:

a.在定義數組時對數組元素賦予初值,列如:

int a[5] = {0,1,2,3,4};

b.可以只給一部分元素賦值,其餘元素值爲0;

c.如果想使一個數組中元素值爲0,可以寫成:

int a[5] = {0,0,0,0,0};

or

int a[10] = {0};

2.二維數組的定義和引用

2.1 二維數組的定義

二維數組定義的一般形式爲:

類型說明符  數組名[常量表達式][常量表達式];

C語言中,二維數組中元素排列的順序是按行存放的,即在內存中先順序存放第一行的元素,再存放第二行的元素。

例如:

a[0][0] -> a[0][1] ->a[0][2] -> a[1][0] -> a[1][1] ->a[1][2].......

2.2 二維數組的初始化

可以用以下的方法對二維數組初始化:

a.分行給二維數組賦初值:

int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};

b.可以將所有的數據寫在一個花括號內:

int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

c.可以對部分元素賦初值:

int a[3][4] = {{1},{5}};//其餘爲0

 

3.字符數組

用來存放字符數據的數組是字符數組。字符數組中的一個元素存放一個字符。

3.1 字符數組的定義

由於字符型與整型是互通的。

3.2 字符數組的初始化

對字符數組初始化,最容易理解的方式是逐個字符賦給數組中各元素。

char c[10] = {'I',' ','a','m','h','a','p','p','y'};

如果在定義字符數組時不進行初始化,則數組中各元素的值是不可預料的。

4.字符串處理函數

4.1 puts函數

其一般形式:puts(字符數組)

其作用是將一個字符串(以'\0'結束的字符序列)輸出到終端。相當於printf。

4.2 gets函數

其一般形式:gets(字符數組);

其作用是從終端輸入一個字符串到字符數組,並且得到一個函數值。該函數值是字符數組的起始地址。

注意:用puts和gets只能輸出或輸入一個字符串。

4.3 strcat函數

其一般形式:strcat(src,dst);

其作用是連接2個字符數組中的字符串,把dst接到src的後面,結果放在src中。

說明:

a.字符數組src必須足夠大,以便容納連接後的新字符串。

b.連接前兩個字符串的後面都有'\0',連接時將字符串src後面的'\0'取消,只在新串最後保留'\0'。

4.4 strcpy和strncpy函數

其一般形式:strcpy(dst,src);//strncpy(dst,src,len);

其作用是將字符串src複製到dst中。

4.4 strcmp函數

其一般形式:strcmp(src1,src2);

其作用是比較字符串src1和字符串src2。

字符串比較規則:對兩個字符串自左向右逐個字符相比(按ASCII碼值大小比較),直到出現不同的字符或遇到'\0'爲止。如全部字符相同,則認爲相等;若出現不同,則以第一個不相同的字符的比較結果爲準。

4.5 strlen函數

其一般形式:strlen(str);

其作用是字符串長度的函數。函數的值爲字符串中的實際長度(不包括'\0');

4.6 strlwr函數

其一般形式:strlwr(str);

函數的作用是將字符串中大寫字母換成小寫字母。

4.7 strupr函數

其一般形式:strupr(str);

函數的作用是將字符串中小寫字母換成大寫字母。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章