最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【回顧】C程序設(shè)計(jì)第六章筆記

2021-03-09 22:52 作者:陪看書的小白  | 我要投稿

C程序設(shè)計(jì)(譚浩強(qiáng)第五版)第六章筆記

1.為什么采用數(shù)組?

①.因?yàn)槔脭?shù)組可以處理批量數(shù)據(jù)。

②.避免定義很多數(shù)據(jù)的繁瑣。

③.數(shù)組可以反映出這些數(shù)據(jù)間的內(nèi)在聯(lián)系

2.一維數(shù)組

格式:類型說明符? 數(shù)組名[常量表達(dá)式]

例子:int a[10];

注意:

①.數(shù)組元素的下標(biāo)從0開始,用“int a[10];”定義數(shù)組,則最大下標(biāo)值為9,不存在數(shù)組元素a[10]

②.“下標(biāo)”可以是整型常量或整型表達(dá)式。

初始化:

(1) 在定義數(shù)組時對全部數(shù)組元素賦予初值。

比如:int a[10]={0,1,2,3,4,5,6,7,8,9};

說明:將數(shù)組中各元素的初值順序放在一對花括號內(nèi),數(shù)據(jù)間用逗號分隔?;ɡㄌ杻?nèi)的數(shù)據(jù)就稱為“初始化列表”。

(2) 可以只給數(shù)組中的一部分元素賦值。

比如:int a[10]={0,1,2,3,4};

說明:定義a數(shù)組有10個元素,但花括號內(nèi)只提供5個初值,這表示只給前面5個元素賦初值,系統(tǒng)自動給后5個元素賦初值為0。

(3) 給數(shù)組中全部元素賦初值為0。

比如:int a[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0};或int a[10]={0}; ? ??

說明:這里未賦值的部分元素自動設(shè)定為0

(4) 在對全部數(shù)組元素賦初值時,由于數(shù)據(jù)的個數(shù)已經(jīng)確定,因此可以不指定數(shù)組長度。

比如:int a[5]={1,2,3,4,5};或int a[ ]={1,2,3,4,5};

說明:如果數(shù)組長度與提供初值的個數(shù)不相同,則方括號中的數(shù)組長度不能省略。


3.二維數(shù)組

把二維數(shù)組寫成行(row)和列(column)的排列形式,可以有助于形象化地理解二維數(shù)組的邏輯結(jié)構(gòu)。

格式:類型說明符? 數(shù)組名[常量表達(dá)式][常量表達(dá)式]

初始化:

(1)分行給二維數(shù)組賦初值。(最清楚直觀)

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

(2)可以將所有數(shù)據(jù)寫在一個花括號內(nèi),按數(shù)組元素在內(nèi)存中的排列順序?qū)Ω髟刭x初值。

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

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

①.int a[3][4]={{1},{5},{9}};

結(jié)構(gòu):

1 0 0 0

5 0 0 0

9 0 0 0

②.int a[3][4]={{1},{0,6},{0,0,11}};

1 0 0 0

0 6 0 0

0 0 11 0

③.int a[3][4]={{1},{5,6}};

1 0 0 0

5 6 0 0

0 0 0 0

④.int a[3][4]={{1},{},{9}};

1 0 0 0

0 0 0 0

9 0 0 0

(4)如果對全部元素都賦初值(即提供全部初始數(shù)據(jù)),則定義數(shù)組時對第1維的長度可以不指定,但第2維的長度不能省。

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};=int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

注意:在定義時也可以只對部分元素賦初值而省略第1維的長度,但應(yīng)分行賦初值。

比如:int a[][4]={{0,0,3},{},{0,10}};

3.字符數(shù)組

用來存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組。

字符數(shù)組的初始化:

對字符數(shù)組初始化,最容易理解的方式是用“初始化列表”,把各個字符依次賦給數(shù)組中各元素。

比如:char c[10]={′I′,′ ′ ,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′};

說明:把10個字符依次賦給c[0]~c[9]這10個元素

C語言規(guī)定了一個“字符串結(jié)束標(biāo)志”,以字符′\0′作為結(jié)束標(biāo)志。

字符數(shù)組的輸入輸出:

(1) 逐個字符輸入輸出。用格式符“%c”輸入或輸出一個字符。

(2) 將整個字符串一次輸入或輸出。用“%s”格式符,意思是對字符串(string)的輸入輸出。

使用字符串處理函數(shù):

①.puts(字符數(shù)組),稱作「輸出字符串的函數(shù)」

作用:將一個字符串(以′\0′結(jié)束的字符序列)輸出到終端。

注意:

(1).用puts函數(shù)輸出的字符串中可以包含轉(zhuǎn)義字符。

(2).在用puts輸出時將字符串結(jié)束標(biāo)志′\0′轉(zhuǎn)換成′\n′,即輸出完字符串后換行。

②.gets(字符數(shù)組),稱作「輸入字符串的函數(shù)」

作用:從終端輸入一個字符串到字符數(shù)組,并且得到一個函數(shù)值。該函數(shù)值是字符數(shù)組的起始地址。

注意:用puts和gets函數(shù)只能輸出或輸入一個字符串。

③.strcat(字符數(shù)組1, 字符數(shù)組2),稱作「字符串連接函數(shù)」

作用:作用:把兩個字符數(shù)組中的字符串連接起來,把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后得到一個函數(shù)值——字符數(shù)組1的地址。

注意:

(1).字符數(shù)組1必須足夠大,以便容納連接后的新字符串。

(2).連接前兩個字符串的后面都有′\0′,連接時將字符串1后面的′\0′取消,只在新串最后保留′\0′。

④.strcpy(字符數(shù)組1, 字符串2),稱作「字符串復(fù)制函數(shù)」

作用:將字符串2復(fù)制到字符數(shù)組1中去。

注意:

(1).字符數(shù)組1必須定義得足夠大,以便容納被復(fù)制的字符串2。字符數(shù)組1的長度不應(yīng)小于字符串2的長度。

(2).“字符數(shù)組1”必須寫成數(shù)組名形式,“字符串2”可以是字符數(shù)組名,也可以是一個字符串常量。

⑤.strcmp(字符串1, 字符串2),稱作「字符串比較函數(shù)」

作用:比較字符串1和字符串2。

字符串比較的規(guī)則是: 將兩個字符串自左至右逐個字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到′\0′為止。

(1) 如全部字符相同,則認(rèn)為兩個字符串相等;

(2) 若出現(xiàn)不相同的字符,則以第1對不相同的字符的比較結(jié)果為準(zhǔn)。

規(guī)則:

比較的結(jié)果由函數(shù)值帶回。

(1) 如果字符串1與字符串2相同,則函數(shù)值為0。

(2) 如果字符串1>字符串2,則函數(shù)值為一個正整數(shù)。

(3) 如果字符串1<字符串2,則函數(shù)值為一個負(fù)整數(shù)。

注意:

對兩個字符串比較不能直接用str1>str2進(jìn)行比較,因?yàn)閟tr1和str2代表地址而不代表數(shù)組中全部元素,

而只能用 (strcmp(str1,str2)>0)實(shí)現(xiàn),系統(tǒng)分別找到兩個字符數(shù)組的第一個元素,然后順序比較數(shù)組中各個元素

的值。

⑥.strlen(字符數(shù)組),稱作「測字符串長度的函數(shù)」

作用:測試字符串長度的函數(shù)。函數(shù)的值為字符串中的實(shí)際長度(不包括′\0′在內(nèi))。

轉(zhuǎn)換為大小寫的函數(shù):

⑦.strlwr(字符串),稱作「轉(zhuǎn)換為小寫函數(shù)」

作用:將字符串中大寫字母換成小寫字母。

⑧.strupr(字符串),稱作「轉(zhuǎn)換為大寫函數(shù)」

作用:將字符串中小寫字母換成大寫字母。


綜合①~⑧:

以上介紹了常用的8種字符串處理函數(shù),它們屬于庫函數(shù)。庫函數(shù)并非C語言本身的組成部分,而是C語言編譯系統(tǒng)為方便用戶使用而提供的公共函數(shù)。不同的編譯系統(tǒng)提供的函數(shù)數(shù)量和函數(shù)名、函數(shù)功能都不盡相同,使用時要小心,必要時查一下庫函數(shù)手冊。在使用字符串處理函數(shù)時,應(yīng)當(dāng)在程序文件的開頭用#include <string.h>把string.h文件包含到本文件中。



第六章完!



【回顧】C程序設(shè)計(jì)第六章筆記的評論 (共 條)

分享到微博請遵守國家法律
桓仁| 金平| 鄯善县| 和静县| 勐海县| 上林县| 扎赉特旗| 东乌珠穆沁旗| 比如县| 清新县| 堆龙德庆县| 布尔津县| 日喀则市| 兴宁市| 兰溪市| 大港区| 阳山县| 玉溪市| 阿拉善盟| 遂平县| 呼图壁县| 磐安县| 伊川县| 威宁| 遂宁市| 卢氏县| 北票市| 墨竹工卡县| 广安市| 嘉禾县| 托里县| 新丰县| 曲阳县| 胶南市| 大洼县| 余干县| 东港市| 永靖县| 镇沅| 满洲里市| 万载县|