陣列階段性總結
一. 陣列的作用,陣列的出現是為了處理數量較多的資料而存在,可以儲存大量資料,如果不用陣列,那麼輸入較多資料的過程就會特別繁瑣。
例如:輸入50個資料,則需要cin>>a1>>a2>>a3>>a4………>>a49>>a50;
但是運用陣列則方便多了,只需要乙個陣列和乙個迴圈就可以了
例如:int a[1000]
for(int i=0;i<50;i++) cin>>a[i];
這樣就方便了輸入,也方便了資料的呼叫。
二. 陣列的型別和運用:一維陣列、二維陣列和字元陣列(字串)
一維陣列
是陣列中最簡單也是運用最多的,之所以叫做一維,因為此陣列只由乙個常量表示式控制,僅能輸入一排資料。
定義格式:型別識別符號 陣列名[常量表示式]
引用格式:陣列名[下標]
注:1.陣列名的命名規律和變數名的命名規律一致。
2.常量表示式表示陣列的個數。可以是常量和符號常量,但不能是變數。
例如:int a[10] //陣列定義合法
int b[m] //在m未定義的情況下陣列定義不合法
陣列初始化:型別識別符號 陣列名[常量表示式]=
注:在乙個陣列中全部是同乙個數字的情況下,可以在後面的花括號中只填入該數值,對於初始化全是0的陣列,可以用{}來簡寫。
陣列越界:訪問元素並不在陣列的儲存空間,例如:
#include using namespace std;
int main()
x=0;
}for(int k=1;k<=n-1;k++)
sort(a,a+n);
for(int j=0;j18) p+=1;
if(a[j]<=60&&a[j]>35) q+=1;
if(a[j]>60) x+=1;
}cout《此程式便運用了sort排序,將資料由大到小排序,可以快速、便捷的得到各個範圍的資料所佔比重,但是由於sort只能由小到大進行排序,也沒有中間變數可以運用,一般只在較為簡單的程式中運用。
2. 二維陣列
二維陣列比一維陣列更加複雜,能夠運用與處理資料的能力也更加強大,二維陣列在儲存中類似於乙個矩陣(**),其中所含有的元素個數即矩形的面積,由兩個常量表示式(矩陣的長和寬)相乘得到。
引用格式:與一維陣列類似,區別在於引用二維陣列需給出兩個下標。
二維陣列的初始化:例如:
int a[4][2]=,,,} (標準格式)
也可以將花括號中的花括號去掉,但是盡量不要用,容易造成陣列的混亂。
二維陣列的輸入:一般採用雙層迴圈來進行輸入,第一層迴圈控制行數,第二層迴圈控制列數,一行一行進行迴圈輸入。
二位陣列的應用:可輸出乙個資料構成的特定矩形,資料之間有著特定順序
例3:#includeusing namespace std;
int main()
; int n,c=0;
int f;
cin>>n;
int p,k;
while(c++通過陣列下標與資料之間的關係,分成三種情況進行處理,達到有特定順序的目的。 類似的可以通過二維陣列達到輸出許多數學模型的作用。
3. 字元陣列(字串)
字元陣列即字元組成的陣列,除了資料型別之外,與一維、二維陣列沒有本質上的區別,字元陣列和字串之間可以互相轉化,乙個字串就是乙個一維的字元陣列,通過輸入輸出的變換可以實現一維字元陣列和二維字元陣列的轉化
例4:#include#includeusing namespace std;
int main()
{ int m,n,k,x=0;
char a[201],b[201][201];
cin>>m;
scanf("%s",a);
for(n=0; ;n++)
if(!a[n]) break;
k=n/m;
for(int i=0;i此程式就是將乙個字串變為一維字元陣列,再變換為二維字元陣列,最後輸出為字串。
字串的輸入方式:可用scanf語句和gets語句
1.scanf語句:」let it go」可輸入為scanf(「%s%s%s」,s1,s2,s3),乙個%s只能輸入乙個連續字串,因此輸入該語句需要%s三個來不同輸入
2.get語句:」let it go」用gets語句輸入僅需gets(s1),只能輸入乙個字串,gets(s1,s2)的形式是錯誤的,它可以輸入可以輸入字元中的空格。
字串的輸出方式:可用printf語句和puts語句
printf語句:格式:printf(「%s」,字串名稱)
注:1.用%s格式輸出時,prinft的輸出項項只能是字串(字元陣列)名稱,而不能是陣列元素。
2.輸出字串不包括字串結束標誌符』\0』。
puts語句:格式:puts(字串名稱)
總結:每個人在學習的過程中都會有著不同的理解與運用,每一道題都有著各種不同思路的解法,而做題的過程也是開拓思維、熟練運用的過程,最終形成自己的思路與程式風格。以上便是我對於陣列的學習與運用的理解。
C 陣列階段總結
陣列的學習告一段落,但正所謂溫故而知新,階段性總結對鞏固記憶及加深掌握很有幫助,所以還是要總結一波陣列的要點。首先陣列的特性是記憶體連續,型別相同,它的型別基本涵蓋c 大部分型別,其陣列名既是記憶體首位址又是陣列識別符號,而長度表示式要求是常量,這在形參作表示式時很關鍵。int arr 1 陣列的訪...
階段總結 2011 總結
今天晚上 09級的軟體學院的學生就要進行畢業聚餐,學生給我打 讓我參加。接到學生的 我很矛盾,這是我帶的第一屆學生,學生的學習時間只有兩年,而我也參加工作兩年了。學生畢業了,我也到了該總結的時候了。我在一所普通的高校工作,這所高校也是我的母校,研究生畢業後本來已經簽到西安中興了,可是耐不住家人的勸說...
階段總結 13 9 24
板子上的linux沒有v4l模組?目前只能想到這個原因了。花了一天的時間編譯核心zimage 以前沒試過 清清楚楚看到選v4l了。一會再裝一遍linux。今天編譯核心出現這個問題arm linux gcc command not found google之後發現時是環境變數沒設定對。網上方法好多。e...