C 筆記整理5 陣列(總複習)

2021-10-01 18:35:51 字數 2844 閱讀 5626

一維陣列

定義:1,表明陣列的型別。

2,標識陣列的名稱。

3,確定陣列的長度,或事先定義好各元素。

4,下標可以是整型常量或整型表示式。

形式:

1,int a[5];

2,int a[8]=; //未賦值的元素預設為0

3,int a=; //系統自行定義陣列的長度

4,define n 10

int a [n]; //陣列的下標只能以這種變數形式存在

陣列的輸入與輸出:

型別1:

#include#define n 10

main()

//越界c語言不負責喔

型別2:

#include#define n 10

main()

; int i,j;

for(i=0;i<5;i++) //走一遍該陣列

if(a[i]==6) //找到我們需要刪除的值

for(j=0;j<5;j++) //輸出陣列

printf("%d",a[j]);

}

(3),陣列元素的排序

這個非常重要,各類程式差不多都會涉及

1,氣泡排序

含義:將陣列走一遍,抓住每一回的值,並在每一回的交換中將該數值放在合適的位置。(回數和次數,根據數學原理可以解出來喔)

#include#define n 5

main()

; int i,j,swap;

for(i=0;ia[j+1]) //從小到大排序

for(j=0;j2,選擇排序1.0

含義:將陣列走一遍,抓住每乙個空格,並在每一回的交換中將適合的值放入該空格內。(回數和次數,根據數學原理可以解出來喔)

#include#define n 5

main()

; int i,j,swap;

for(i=0;ia[j]) //從小到大排序

for(j=0;j3,選擇排序2.0

含義:將陣列走一遍,找到該陣列的最小值,再將其放入到其適合的空中。即先找值,再放入空格中。(回數和次數,根據數學原理可以解出來喔)

#include#define n 5

main()

; int i,j,swap,min;

for(i=0; i二維陣列

定義形式:

資料型別 陣列名[整型常量表示式1][整型常量表示式2]

注意:1,這裡的表示式1即是行標,表示式2即是列標,所存變數的個數即是(行*列)的個數。

2,行標和列標的值和一維陣列一樣都是從0開始的。

3,其它定義和一維陣列的相差無幾。

表達形式:

1,int a[2][3]=;

2,int a[3]=; //靜態定義的情況下行標可以不賦值,但列標不行!!!

3,int a[2][3]=,};

4,int a[3]=,}; //未賦值的元素自動變為0

小結:

在一維陣列的基礎上我們可以建立二維陣列,在二維陣列的基礎上我們也可以建立三維陣列。但其用法還是和一維陣列的大致相同,我們只要了解了其空間分布,大部分的問題都是可以解決的。

字元陣列

定義形式:

char 陣列名[整型常量表示式]

注意:1,字元陣列中的每乙個元素只能存放乙個字元。

2,陣列名代表了該陣列的起始位址(後面的指標會講其作用)

表達形式:(靜態輸入)

1,char a[10]=;

2,char a[10]=;

3,char a[10]="bad guy";

注意:

1,printf輸出字元陣列時的方式是遇到\0即停止。

2,字元陣列的越界,就是你定義了陣列的長度,但你輸入時超過了,輸出時也超長了。標準c陣列是允許越界的,會提示錯誤,但還是照常輸出,因為後果你負責呀。所以盡量還是少越界比較好。

3,輸入輸出盡量用gets,puts。

接下來介紹幾種字串常用函式

注意加標頭檔案#include

1,strcat(字元陣列1,字元陣列2)

含義:其作用是連線兩個字元陣列中的字串,把字元陣列2接到字元陣列1的後面,最終結果於字元陣列1中。(字串2的第乙個字元體換掉字串1的末尾\0)

2,strcpy(字元陣列1,字串2)

含義:其作用是將字串2的內容複製到字元陣列1中。 (連同\0)

注意:1,字串2的內容將覆蓋字元陣列1的內容。

2,字串2可以是陣列名,也可以是字串常量。

3,字串2後面可以加 ,c 目的是控制複製到字元陣列1中的字元數量。

3,strcmp(字串1,字串2)

含義:比較兩個字串的大小 。若兩個字串相同,則返回0,若字串1大於字串2,則返回乙個正數,若字串1小於字串2,則返回乙個負數。(字串的比較,即從兩個字串的第乙個字元開始,比較其ascii碼的大小,直到分出勝負)

4,strlen(字元陣列)

含義:求該字元陣列的長度。(即不包括\0)

4,strlwr(字串)

含義:將字串的大寫字母轉換成小寫字母。

5,strupr(字串)

含義:將字串的小寫字母轉換成大寫字母。

C 筆記整理8 指標 (總複習)

到指標了呀,c語言的精華之所在。正確的使用指標,可以有效地表示複雜的資料結構 動態地分配記憶體 方便地使用字串 有效而方便地使用陣列及直接處理記憶體位址等。辨別乙個人是新手還是老手的第二步就是看他能否靈活地使用指標 指標 通過變數名a直接訪問變數名a內的資料。2,間接訪問 將變數a的位址存放在另乙個...

C 筆記整理7 編譯預處理命令 (總複習)

c語言中除了有說明語句和可執行語句以外,還用編譯預處理命令。按我的理解,其作用就是使畫面更加簡潔,程式更加靈活。需要注意的是,其是編譯系統在對源程式編譯為目標程式之前進行的。所以它最先開始喔。1,不帶引數的巨集定義 include 巨集名 巨集體 注意 1,巨集名為區別於變數,一般用大寫字母表示。2...

C 筆記整理2 資料的輸入輸出(總複習)

資料的輸入輸出 常用型別 scanf printf 1 二者的輸入輸出都需要新增格式說明符,同時後面還要跟著輸入輸出項。2 注意scanf的輸出項為位址,所以輸出變數時需加位址符,即 很多時候我都會不小心忘記 常用說明符如下 格式說明符含義d 十進位制有符號輸出 o八進位制無符號輸出 x十六進製制無...