陣列學習總結

2021-09-05 09:15:12 字數 2159 閱讀 8597

第八章、陣列–學習總結

一、具有相同性質的資料組合成乙個新型別的變數,可以用簡單的程式(比如迴圈50次)這個新變數的各個分量進行相同的處理,每個變數仍然保持這個變數的所有性質。

8.1一維陣列

⑴陣列的定義:

是一組具有相同型別的變數的集合。

使用乙個統一的名字來標識這組相對型別的資料,這個名字稱為陣列名,構成陣列的每個資料項稱為陣列元素,c程式通過資料的下標實現對陣列元素的訪問。

⑵陣列定義的格式:型別識別符號 陣列名[常量表示式];

說明。:

①陣列名的命名規則與變數名的命名規則一致。

②常量表示式表示陣列元素的個數。可以是常量和符號常量,但不能是變數。

③c語言中陣列的下標都是從零開始的。

④ 在定義陣列時,不能使用變數定義陣列的大小。

⑶①下標可以是任意值為整型的表示式,該表示式例包含變數和函式呼叫,引用時下標誌應在陣列定義的下標值範圍內。

②陣列的精妙在於下標可以是變數。

③c++語言只能逐個引用陣列元素,而不能一次引用整個陣列。

④一維陣列的初始化

陣列的初始化可以在定義時一併完成,格式為:

型別識別符號 陣列名[常量表示式]=;

說明:①在初值列表中可以寫出陣列元素的值,也可以寫出部分。而若是以下方式:int a[10]=;則盡對陣列的前五個元素進行初始化,而其餘值為零。

②對陣列元素全部初始化為0,可以簡寫為:{}。

③語句。int a[100]宣告了乙個包含100個整型變數的數值,它是從a[0]開始的,最後乙個是a[99]。

⑸要訪問的陣列元素並不在陣列的儲存空間,這種現象叫陣列越界。

⑹一維陣列的應用

說明:①陣列a被宣告在main函式的外面時,陣列a可以開的很大;放在。放在main函式內時陣列稍大就會導致異常退出。

②陣列不能夠進行賦值操作,如果從陣列a複製k個元素到陣列b中,可以用memcpy(b,a,sizeof(int)k)。如果a和b都是浮點型的,複製時要寫成memcpy(b,a,sizeof(double)k)。如果把陣列a全部複製到陣列b中,可以使用memcpy(b,a,sizeof(a))。使用memcpy函式要包含在標頭檔案cstring。

③setw函式控制輸出場寬,呼叫setw函式要呼叫iomanip。

④memset(a,0,sizeof(a))的作用是把陣列a清零,它在cstring中定義一維陣列可以解決類似於陣列倒序輸出、約瑟夫問題等的問題。

8.2二維陣列

⑴二維陣列定義的一般格式:

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

二維陣列用兩個下標確定各元素在陣列中的順序,可用排成i列j行元素表示。第一維的長度代表陣列每一列的元素個數,第二維的長度代表陣列每一行的元素個數。

⑵一維陣列在記憶體中占用的位元組數為:陣列長度sizeof(基型別),二維陣列在記憶體中占用的位元組維:第一維長度第二維長度*sizeof(基型別)(注意:在不同編譯系統中,int型所佔的位元組數是不同的)

(多維陣列引用賦值等操作與二維陣列類似)

⑶二維陣列的初始化

二維陣列的初始化和一維陣列類似。可以將每一行分開來寫在各自的括號裡,也可以把所有資料寫在乙個括號裡。

⑷二維陣列的應用

二維陣列可以解決矩陣交換行、計算鞍點等類似的問題。

8.3字元型別和字元陣列

陣列元素的型別可以是任何型別,當它是字元型時,稱為字元陣列。

⑴字元型別

字元型別為由乙個字元組成的字元常量或字元變數。字元常量定義:字元常量=『字元』 字元變數定義:char 字元變數;

字元型別是乙個有序型別,字元的大小順序按其ascii**的大小而定。

⑵字元陣列

字元陣列是指元素為字元的陣列。字元陣列是用來存放字串行或字串的。字元陣列也有一維、二維、三維之分。

⑴字串的定義格式:[儲存型別] char 陣列名[常量表示式1]…

⑵應用可以解決如統計數字字元個數、石頭剪刀布等的問題。

二、感悟

學習陣列這一章的第一節的知識點的很容易,但當看練習題時我覺得並沒有什麼那麼簡單,在做題之前我把知識點看了幾遍才算是把陣列基本理解掌握了,當真正靜下心來、喜歡學習的時候才會覺得學習是件簡單的事,否則學習真的很難。

當我心情煩躁時學習 c語言,真的覺得這門課太難了,而當我靜下心來看課本、從網上搜尋資料整理的時候,覺得c語言挺簡單。學習怕認真二字,當乙個人認真的學習一門課時,所有問題都是會得到解決的。

陣列 學習總結

學習完陣列之後,明白的陣列主要運用於計算排序之類的問題。知識主要為 陣列型別,陣列的定義與初始化,以及對陣列名含義的理解。排序 查詢 求最大最小值等常用方法。知識 陣列是一組具有相同型別的變數的集合。在定義陣列的時候不能用變數來定義陣列的大小。而陣列可以分為多類,例如 int 整型和 char 字元...

陣列學習總結

本章的學習重點在於一維陣列和二維陣列的運用。陣列是按順序排列的一組同種型別的資料構成的集合,因此陣列其實就是集合,在理解了這一概念的基礎上我們對於多資料處理的問題就更為簡便快捷了。這一章的學習,對於我來說確實遇到了一定的困難,最主要的是做題方面很久找不到感覺或者是說陣列問題的思路,但是後來在課上已經...

樹狀陣列學習總結

樹狀陣列最大的特點就是求解特定區間的元素的和操作時間複雜度小o lgn 現對於傳統的順序求和的操作樹狀陣列在求解過程中採用了二進位制的思想,巧妙地化解了多次求和的重複操作,在很大程度上提高了效率。上圖是樹狀陣列的儲存於求解過程,給出的很詳細,陣列a存放的是原始的需要求和的元素,陣列c存放的是利用二進...