C語言的基礎與提高

2021-08-10 15:18:25 字數 2825 閱讀 1720

陣列

一維陣列:

1.一維陣列的定義格式為:

型別說明符 陣列名[常量表示式]; 例如: int a[10];

它表示定義了乙個整形陣列,陣列名為a,有10個元素。

2.在定義陣列時,需要指定陣列中元素的個數,方括弧中的常量表示式用來表示元素的個數,即陣列長度。

3.常量表示式中可以包括常量和符號常量,但不能包含變數。

注意:

c語言不允許對陣列的大小作動態定義,即陣列的大小不依賴於程式執行過程中變數的值。

陣列說明中其他常見的錯誤:

① float a[0]; /* 陣列大小為0沒有意義 */

② int b(2)(3); /* 不能使用圓括號 */

③ int k, a[k]; /* 不能用變數說明陣列大小*/

陣列作為引數傳遞給函式時,是不可以通過sizeof得到陣列的大小的。

二維陣列:

二維陣列定義的一般形式為:

型別說明符 陣列名[常量表示式][常量表示式];

例如:

定義a為3×4(3行4列)的陣列,b為5×10(5行10列)的陣列。

如下:float a[3][4],b[5][10] ;

4種方法對二維陣列初始化:

1.分行給二維陣列賦初值。

例如: int a[3][4]=,,

}; 2.可以將所有資料寫在乙個花括號內,按陣列排列的順序對各元素賦初值。

例如:

int a[3][4]=;

3.可以對部分元素賦初值。

例如: int a[3][4]=, , };也可以對各行中的某一元素賦初值,如int a[3][4]=, , };

4.如果對全部元素都賦初值,則定義陣列時對第一維的長度可以不指定,但第二維的長度不能省。

例如:

int a[3][4]=;等價於:、int a[ ][4]=;

字元陣列:

為了測定字串的實際長度,c語言規定了乙個「字串結束標誌」——『\0』。

逐個字元輸入輸出。用格式符「%c」輸入或輸出乙個字元。

將整個字串一次輸入或輸出。用「%s」格式符,意思是對字串的輸入輸出。

說明:

(1)用「%s」格式符輸出字串時,printf函式中的輸出項是字元陣列名,而不是陣列元素名。

(2)如果陣列長度大於字串實際長度,也只輸出到遇′\0′結束。

(3)輸出字元不包括結束符′\0′。

(4)如果乙個字元陣列中包含乙個以上′\0′,則遇第乙個′\0′時輸出就結束。

(5)可以用scanf函式輸入乙個字串。

1. puts函式

其一般形式為: puts (字元陣列)

其作用是將乙個字串(以′\0′結束的字串行)輸出到終端。

假如已定義str是乙個字元陣列名,且該陣列已被初始化為」china」。則執行puts(str);其結果是在終端上輸出china。

用puts函式輸出的字串中可以包含轉義字元。

例如:

char str=;

puts(str);

輸出結果:

china

beijing

2. gets函式

其一般形式為:gets(字元陣列)

其作用是從終端輸入乙個字串到字元陣列,並且得到乙個函式值。該函式值是字元陣列的起始位址。

如執行下面的函式: gets(str)

從鍵盤輸入:

computer↙將輸入的字串」computer」送給字元陣列str

3. strcat函式

其一般形式為:strcat(字元陣列1,字元陣列2)

strcat的作用是連線兩個字元陣列中的字串,把字串2接到字串1的後面,結果放在字元陣列1中,函式呼叫後得到乙個函式值——字元陣列1的位址。

4. strcpy函式

其一般形式為:strcpy(字元陣列1,字串2)

strcpy是「字串複製函式」。

作用:是將字串2複製到字元陣列1中去。例如:

char str1[10],str2[]=;

strcpy(str1,」china」);

(1)字元陣列1必須定義得足夠大,以便容納被複製的字串。字元陣列1的長度不應小於字串2的長度。

(2)「字元陣列1」必須寫成陣列名形式(如str1),

「字串2」可以是字元陣列名,也可以是乙個字串常量。如:strcpy(str1,″china″);

(3)複製時連同字串後面的′\0′一起複製到字元陣列1中。

(4)可以用strcpy函式將字串2中前面若干個字元複製到字元陣列1中去。

5. strcmp函式

其一般形式為:strcmp(字串1,字串2)

strcmp的作用是比較字串1和字串2。

比較的結果由函式值帶回

(1) 如果字串1=字串2,函式值為0。

(2) 如果字串1>字串2,函式值為一正整數。

(3) 如果字串1《字串2,函式值為一負整數。

6. strlen函式

其一般形式為: strlen (字元陣列)

strlen是測試字串長度的函式。函式的值為字串中的實際長度(不包括′\0′在內)。

7. strlwr函式

其一般形式為:strlwr (字串)

strlwr函式的作用是將字串中大寫字母換成小寫字母。

8. strupr函式

其一般形式為:strupr (字串)

strupr函式的作用是將字串中小寫字母換成大寫字母。

C語言基礎與提高1(一)

一 基本資料型別 1.整型 int 整數,4個位元組,在tc環境中為2個位元組 signed int 最小值為 10000000 00000000 00000000 00000000 2.單精度實型float 單精度浮點數,4個位元組,精度6位 3。雙精度實型double 雙精度浮點數,8個位元組,...

C語言基礎與提高一

int所佔4位元組 short所佔2位元組 float所佔4位元組 double所佔8位元組 long所佔4位元組 char所佔1位元組 注意 所佔位元組不是電腦硬體上的記憶體 物理記憶體 而是虛擬記憶體 記憶體以位元組為單位,每個位元組都有乙個位址 怎麼判斷大小端?大小端怎麼轉換?不同的型別混合運...

課堂筆記 C語言基礎與提高1

c語言基礎與提高 基本資料型別的位元組 整型 int 4個位元組 單精度浮點型float 4個位元組 雙精度浮點型 double 8個位元組 字元型char 1個位元組 長整型 long 4個位元組 8個位元組 64位 短整型 short 2個位元組 sizeof 不是函式,是乙個運算子 例1 下面...