(3)多維數(shù)組
在C+ +中,對(duì)數(shù)組維數(shù)沒(méi)有限制。下面是對(duì)數(shù)組的通用定義。
以n維列表形式排列的固定數(shù)目元素的集合,稱為n維數(shù)組。定義n維數(shù)組的語(yǔ)法是:
<數(shù)據(jù)類型><數(shù)組名>[<表達(dá)式1>][<表達(dá)式2>]…[<表達(dá)式n>];
在此<表達(dá)式1>,<表達(dá)式2>,…<表達(dá)式n>都是值為正整數(shù)的常量表達(dá)式。
訪問(wèn)n維數(shù)組元素的語(yǔ)法是:
<數(shù)組名>[<表達(dá)式1>][<表達(dá)式2>]…[<表達(dá)式n>];
在此<表達(dá)式1>,<表達(dá)式2>,…<表達(dá)式n>都是值為非負(fù)整數(shù)的表達(dá)式。<表達(dá)式i>(i=1,2,…,n)用來(lái)指定第i維元素的位置。
在將多維數(shù)組作為函數(shù)的形參時(shí),可以不指定該數(shù)組中第一維的大小,但是必須指定該數(shù)組中其他維的大小。多維數(shù)組只可以作為引用參數(shù)傳遞給函數(shù),并且函數(shù)不能返回一個(gè)數(shù)組類型的返回值。C+ +對(duì)數(shù)組下標(biāo)不做檢查。
4字符數(shù)組
(1)string類型與字符數(shù)組
string類型在ANSI/ISO標(biāo)準(zhǔn)C+ +頒布之前,標(biāo)準(zhǔn)C+ +庫(kù)并不提供string數(shù)據(jù)類型。string是一種用戶自定義的數(shù)據(jù)類型,它由C+ +標(biāo)準(zhǔn)庫(kù)來(lái)支持,而不是C+ +語(yǔ)言本身的一部分。在使用strign數(shù)據(jù)類型之前,需要在程序中包含頭文件string并聲明其所在的名字空間std。所有元素都是char類型的數(shù)組稱為字符數(shù)組。
字符數(shù)組有如下特點(diǎn):
、贁(shù)組元素跟一般變量一樣可以賦值、比較、計(jì)算等。
②數(shù)組下標(biāo)也是從0~N-1(N為數(shù)組長(zhǎng)度)。
③字符數(shù)組長(zhǎng)度可以顯式給出,也可以隱式得到。
④由雙引號(hào)括起來(lái)的字符串常量具有靜態(tài)字符串?dāng)?shù)組類型。
⑤用字符串對(duì)數(shù)組初始化時(shí),編譯程序以′\0′作為結(jié)束這個(gè)數(shù)組的標(biāo)志。因此,數(shù)組長(zhǎng)度至少要比字符串長(zhǎng)度多1。
(2)常用字符串函數(shù)
C+ +提供了一系列字符串操作的函數(shù),這些函數(shù)都包含在頭文件cstring中。其中經(jīng)常會(huì)用到的字符串函數(shù)包括:strcpy(字符串拷貝,將一個(gè)字符串拷貝到另一個(gè)字符串變量中)、strcat(字符串連接,在字符串末端添加字符串)、strcmp(字符串比較,用來(lái)比較字符串)、strlen(字符串長(zhǎng)度,用來(lái)求出字符串長(zhǎng)度)、和strstr(字符串查找,在一個(gè)字符串中查找子串)。
①strcpy函數(shù)
調(diào)用strcpy()函數(shù)的一般形式為:
strcpy(to,from);
該函數(shù)將from字符串中的內(nèi)容復(fù)制到to字符串中。請(qǐng)記住,構(gòu)成to的字符串必須足夠大,以便保存包含在from中的字符串。否則,to字符串將會(huì)溢出,這很可能會(huì)導(dǎo)致系統(tǒng)崩潰。
、趕trcat函數(shù)
調(diào)用strcat()函數(shù)的一般形式為:
strcat(s1,s2);
該函數(shù)將字符串s2添加到字符串s1的末端;但并不修改字符串s2。必須確保字符串s1足夠大,以便保存它自己的內(nèi)容和字符串s2中的內(nèi)容。
、踫trcmp函數(shù)
調(diào)用strcmp()函數(shù)的一般形式為:
strcmp(s1,s2);
該函數(shù)比較兩個(gè)字符串,如果兩個(gè)字符串相等,返回0。如果字符串s1在字典順序上比字符串s2大,則返回一個(gè)正數(shù);如果比字符串s2小,則返回一個(gè)負(fù)數(shù)。
注意:函數(shù)strcmp比較兩個(gè)字符串時(shí)所采用的字典順序與真正意義上的字典順序還是有些差別的。實(shí)際上,它依次比較兩個(gè)字符串相應(yīng)字符的編碼值(如ASCII碼值)來(lái)決定兩個(gè)字符串的大小。如,上面比較strcmp(″A″,″a″)的結(jié)果變?yōu)?1,因?yàn)樽址銩′的編碼值為65,而字符′a′的編碼值為97,這與傳統(tǒng)意義上的字典順序不同。
、躶trlen函數(shù)
調(diào)用strlen()函數(shù)的一般形式為:
strlen(s);
該函數(shù)返回字符串s的長(zhǎng)度,即字符串中字符的個(gè)數(shù)(不包括字符串結(jié)尾的′\ 0′)。
、輘trstr函數(shù)
調(diào)用strstr()函數(shù)的一般形式為:
strstr(s1,s2);
該函數(shù)在字符串s1中從左邊開(kāi)始查找字符串s2,若查找成功則返回s2在s1中首次出現(xiàn)的位置,否則返回NULL,如果s2為″ ″,則返回s1。
編輯推薦:
2014年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)告
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |