C語言基礎知識歸納(6)

2021-09-03 02:12:00 字數 4153 閱讀 8180

1、定義:陣列是有序的並且具有相同型別的資料的集合。

2、特徵:①若干 ②相同型別 ③長度 ④有序

3、根據陣列的下標個數的不同可分為:一維、二維、多維

4、按陣列元素的型別不同可分為:數值陣列、字元陣列、指標陣列、結構陣列

1、一般形式:型別符 陣列名[常量表示式](型別符:任一種基本資料型別或構造資料變數;陣列名:使用者定義的陣列識別符號;常量表示式:表示資料元素的個數,也稱陣列的長度)

2、常量表示式中不允許包含變數,可以包含常量或符號常量。

3、陣列元素下標可以是任何整型常量、整型變數或任何整型表示式。

下標不可以越界:0~n-1

陣列名中存放的是乙個位址常量,代表整個陣列的首位址。同一陣列中的所有元素,按其下標的順序占用一段連續的儲存單元。

1、可以對陣列元素賦值,陣列元素也可以參與運算,與簡單變數一樣使用。

2、使用數值型陣列時,不可以一次引用整個陣列,只能逐個引用元素。

3、需要整體賦值時只可以在定義的同時整體賦值。

4、可以只給一部分元素賦值。

5、對全部陣列元素賦值時可以不指定陣列長度。

【例題1】

對10個陣列元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出

解題思路:陣列可以定義為整數,要賦的值是0~9,有一定的規律,可以用迴圈來賦值。

編寫程式:

#include

int main (

)

執行結果:

987

6543

210

【例題2】

有10個地區的面積,要求對它們按由小到大的順序排列

解題思路:這種問題稱為排序(sort)。排序的規律有兩種:一種是公升序,另一種是降序。本例題採用「冒泡法」,即較大的數往下沉,較小的數往上浮,通過迴圈不停地實現排序。

編寫程式:

#include

intmain()

printf

("the sorted numbers :\n");

for(i=

0;i<

10;i++

)printf

("%d"

,a[i]);

printf

("\n");

return0;

}

執行結果:

input 10 numbers:

3467

9043

12487

6599

13226

the sorted numbers:

2634

4365

6787

9099

124132

1、一般形式:型別說明符 陣列名[常量表示式1][常量表示式2];

(常量表示式1:表示第一維下標的長度;常量表示式2:表示第二維下標的長度)

2、二維陣列元素的表示形式為:陣列名 [下標][下標]

1、與一維陣列一樣元素下標可以是是任何整型常量、整型變數或任何整型表示式。

2、需要整體賦值時只可以在定義的同時整體賦值。

3、可以把所有資料寫在乙個花括號內。

4、可以只對部分元素賦值。

5、對全部陣列元素賦值時可以省略第一維長度,第二維不可以省略。

所有元素的首位址不是相同的,有的甚至不相連。所有元素首位址≠第乙個元素的首位址

【例題3】

將乙個二維陣列行和列的元素互換,存到另乙個二維陣列中。例如:

1 2 3                1  4

a= b= 2 5

4 5 6 3 6

解題思路:可以定義兩個陣列,陣列b開始時未賦值。用巢狀的for迴圈即可完成。

編寫程式:

#include

intmain()

;int b[3][2],i,j;

printf

("array a:\n");

for(i=

0;i<=

1;i++

)printf

("\n");

}printf

("array b:\n");

for(i=

0;i<=

2;i++

)return0;

執行結果:

array a:12

3456

array b:14

2536

1、定義:char a[b];字元陣列a長度為b。每個元素只能存放乙個字元。

2、初始化:

3、c語言中沒有字串變數,字串的輸入、儲存、處理和輸出等必須通過字元陣列實現。

4、字串的輸入。

**scanf();**可以用%c逐個字元輸入比如char a[6];for(i=0;i<6;i++) scanf("%c",&a[i]);

可以用%s以字串的形式輸入

注意,a前不用加&,因為a是陣列名,

已經代表了陣列首位址。

注意:以%s輸入時,以第乙個非空白字元開始,終止於第乙個空白字元。

gets();作用為輸入乙個字串。與**scanf();**功能一致,但空格和回車都存放在陣列中,最後自動加入『\0』.

不會出現上面輸出不全的情況。

呼叫方式為:gets(陣列名);需要包含標頭檔案「stdio.h」.

5、字串的輸出。

printf();可以使用%c逐個字元輸出,也可以用%s以字串的形式輸出。

puts();輸出乙個字串,結尾自動換行。

呼叫形式:puts(字元陣列名或字串常量);需包含標頭檔案「stdio.h」

1、strlen()作用是測試字串長度。這裡不包括『\0』.使用形式strlen(陣列名或字串常量)

2、strcat()作用是連線兩個字串。呼叫方式strcat(字元陣列1名,字元陣列2名);合併後的字串存放在字

符陣列1中。

3、strcmp()比較兩個字串是否相等。呼叫方式strcmp(字串1,字串2);相等時值為0。1>2時為正數。

1<2時為負數。

4、strcpy()複製字串。呼叫方式strcpy(字元陣列1,字串2);2的內容複製到1中。1只能是字元陣列名。

【例題4】

輸入一行字元,統計其中有多少個單詞,單詞之間用空格分隔開。

解題思路:

用變數num的值來計算單詞書。出現新單詞的判斷方式可以用是否有空格來決定。

編寫程式:

#include

intmain()

printf

("there are %d words in this line .\n"

,num)

;return0;

}

執行結果:

i am a boy

there are 4 word in this line.

C語言基礎知識 6

1.pragma簡介 pragma是編譯器指示字,用於指示編譯器完成一些特定動作。pragma所定義的很多指示字是編譯器和作業系統特有的 pragma在不同的編譯器間是不可移植的 一般用法 pragma parameter 不同的parameter引數語法和意義各不相同。pragma message...

Python基礎知識歸納

python 基礎教程 python 基礎教程 python 簡介 python 環境搭建 python 中文編碼 python 基礎語法 python 變數型別 python 運算子 python 條件語句 python 迴圈語句 python while 迴圈語句 python for 迴圈語句...

mysql 基礎知識歸納

sql語言分類 ddl 資料庫定義語言 dml 資料庫操控語言 dql 資料庫查詢語言 dcl 資料庫控制語言 ddl 建立資料庫語法 create database 資料庫名 資料庫名要求 區分大小寫 唯一性不能使用關鍵字如 create select 不能使用數字和特殊符號 如 用單詞或者拼音即...