一維陣列
定義: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十六進製制無...