




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第5章 數(shù)組,5.1 數(shù)組的概念 5.2 一維數(shù)組的定義和引用 5.3 二維數(shù)組的定義和引用 5.4 用數(shù)組名作函數(shù)參數(shù) 5.5 字符數(shù)組 *5.6 C+處理字符串的方法字符串類與字符串變量,概括地說: 數(shù)組是有序數(shù)據(jù)的集合。要尋找一個數(shù)組中的某一個元素必須給出兩個要素,即數(shù)組名和下標。數(shù)組名和下標惟一地標識一個數(shù)組中的一個元素。 數(shù)組是有類型屬性的。同一數(shù)組中的每一個元素都必須屬于同一數(shù)據(jù)類型。一個數(shù)組在內(nèi)存中占一片連續(xù)的存儲單元。如果有一個整型數(shù)組a,假設數(shù)組的起始地址為2000,則該數(shù)組在內(nèi)存中的存儲情況如圖5.1所示。,5.1 數(shù)組的概念,圖5.1,引入數(shù)組就不需要在程序中定義大量的變
2、量,大大減少程序中變量的數(shù)量,使程序精煉,而且數(shù)組含義清楚,使用方便,明確地反映了數(shù)據(jù)間的聯(lián)系。許多好的算法都與數(shù)組有關。熟練地利用數(shù)組,可以大大地提高編程和解題的效率,加強了程序的可讀性。 C+用方括號來表示下標,如用s1,s2,s3 分別代表s1,s2,s3。,定義一維數(shù)組的一般格式為 類型標識符 數(shù)組名常量表達式; 例如 int a10; 它表示數(shù)組名為a,此數(shù)組為整型,有10個元素。 說明: (1) 數(shù)組名定名規(guī)則和變量名相同,遵循標識符定名規(guī)則。,5.2 一維數(shù)組的定義和引用 5.2.1 定義一維數(shù)組,(2) 用方括號括起來的常量表達式表示下標值,如下面的寫法是合法的: int a1
3、0; int a2*5; int an*2; /假設前面已定義了n為常變量 (3) 常量表達式的值表示元素的個數(shù),即數(shù)組長度。例如,在“int a10;”中,10表示a數(shù)組有10個元素,下標從0開始,這10個元素是: a0,a1,a2,a3,a4,a5,a6,a7, a8,a9。注意最后一個元素是a9而不是a10。,(4) 常量表達式中可以包括常量、常變量和符號常量,但不能包含變量。也就是說,C+不允許對數(shù)組的大小作動態(tài)定義,即數(shù)組的大小不依賴于程序運行過程中變量的值。例如,下面這樣定義數(shù)組是不行的: int n; cinn; /輸入a數(shù)組的長度 int an; /企圖根據(jù)n的值決定數(shù)組的長度
4、 如果把第1,2行改為下面一行就合法了: const int n=5;,數(shù)組必須先定義,然后使用。只能逐個引用數(shù)組元素的值而不能一次引用整個數(shù)組中的全部元素的值。 數(shù)組元素的表示形式為 數(shù)組名下標 下標可以是整型常量或整型表達式。例如 a0= a5+ a7- a2*3,5.2.2 引用一維數(shù)組的元素,例5.1 數(shù)組元素的引用。 #include using namespace std; int main( ) int i,a10; for (i=0;i=0;i-) coutai ; coutendl; return 0; 運行結果如下: 9 8 7 6 5 4 3 2 1 0 程序使a0a9的
5、值為09,然后按逆序輸出。,(1) 在定義數(shù)組時分別對數(shù)組元素賦予初值。例如 int a10=0,1,2,3,4,5,6,7,8,9; (2) 可以只給一部分元素賦值。例如 int a10=0,1,2,3,4; (3) 如果想使一個數(shù)組中全部元素值為1,可以寫成 int a10=1,1,1,1,1,1,1,1,1,1; 不能寫成 int a10=1*10; 不能給數(shù)組整體賦初值。 (4) 在對全部數(shù)組元素賦初值時,可以不指定數(shù)組長度。例如 int a5=1,2,3,4,5; 可以寫成 int a=1,2,3,4,5;,5.2.3 一維數(shù)組的初始化,5.2.4 一維數(shù)組程序舉例 例5.3 編寫程
6、序,用起泡法對10個數(shù)排序(按由小到大順序)。 起泡法的思路是:將相鄰兩個數(shù)比較,將小的調(diào)到前頭。見圖5.2。 然后進行第2趟比較,對余下的前面5個數(shù)按上法進行比較,見圖5.3。 圖5.2 圖5.3,可以推知,如果有n個數(shù),則要進行n-1趟比較(和交換)。在第1趟中要進行n-1次兩兩比較,在第j趟中要進行n-j次兩兩比較。 根據(jù)以上思路寫出程序,今設n=10,本例定義數(shù)組長度為11,a0不用,只用a1a10,以符合人們的習慣。從前面的敘述可知,應該進行9趟比較和交換。 #include using namespace std; int main( ) int a11; int i,j,t; c
7、outinput 10 numbers :endl; for (i=1;i11;i+) /輸入a1a10,cinai; coutai+1) /如果前面的數(shù)大于后面的數(shù) t=ai;ai=ai+1;ai+1=t; /交換兩個數(shù)的位置,使小數(shù)上浮 coutthe sorted numbers :endl; for(i=1;i11;i+) /輸出10個數(shù) coutai ; coutendl; return 0; 運行情況如下: input 10 numbers: 3 5 9 11 33 6 -9 -76 100 123 the sorted numbers: -76 -9 3 5 6 9 11 33
8、100 123,具有兩個下標的數(shù)組稱為二維數(shù)組。有些數(shù)據(jù)要依賴于兩個因素才能惟一地確定,例如有3個學生,每個學生有4門課的成績,顯然,成績數(shù)據(jù)是一個二維表,如書中表5.1所示。 想表示第3個學生第4門課的成績,就需要指出學生的序號和課程的序號兩個因素,在數(shù)學上以S3,4表示。,5.3 二維數(shù)組的定義和引用,定義二維數(shù)組的一般形式為 類型標識符 數(shù)組名常量表達式常量表達式 例如 float a34,b510; 定義a為34(3行4列)的單精度數(shù)組,b為510(5行10列)的單精度數(shù)組。注意不能寫成“float a3,4,b5,10;”。C+對二維數(shù)組采用這樣的定義方式,使我們可以把二維數(shù)組看作是
9、一種特殊的一維數(shù)組:它的元素又是一個一維數(shù)組。例如,可以把a看作是一個一維數(shù)組,它有3個元素:a0,a1,a2,每個元素又是一個包含4個元素的一維數(shù)組,見圖5.4。a0,a1,a2是3個一維數(shù)組的名字。,5.3.1 定義二維數(shù)組,C+中,二維數(shù)組中元素排列的順序是:按行存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。圖5.5表示對a34數(shù)組存放的順序。 圖5.5 C+允許使用多維數(shù)組。有了二維數(shù)組的基礎,再掌握多維數(shù)組是不困難的。,二維數(shù)組的元素的表示形式為 數(shù)組名 下標下標 如a23。下標可以是整型表達式,如a2-12*2-1。不要寫成a2,3,a2-1,2*2-1形式。 數(shù)組元
10、素是左值,可以出現(xiàn)在表達式中,也可以被賦值,例如 b12=a23/2; 在使用數(shù)組元素時,應該注意下標值應在已定義的數(shù)組大小的范圍內(nèi)。常出現(xiàn)的錯誤是,5.3.2 二維數(shù)組的引用,int a34; /定義3行4列的數(shù)組 a34=15; /引用a34元素 定義a為34的數(shù)組,它可用的行下標值最大為2,列坐標值最大為3。最多可以用到a23,a34就超過了數(shù)組的范圍。,可以用下面的方法對二維數(shù)組初始化: (1) 分行給二維數(shù)組賦初值。如 int a34=1,2,3,4,5,6,7,8,9,10,11,12; 這種賦初值方法比較直觀,把第1個花括號內(nèi)的數(shù)據(jù)賦給第1行的元素,第2個花括號內(nèi)的數(shù)據(jù)賦給第2行
11、的元素即按行賦初值。 (2) 可以將所有數(shù)據(jù)寫在一個花括號內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x初值。如 int a34=1,2,3,4,5,6,7,8,9,10,11,12; 效果與前相同。但以第1種方法為好,一行對一行,界限清楚。用第2種方法如果數(shù)據(jù)多,寫成一大片,容易遺漏,也不易檢查。,5.3.3 二維數(shù)組的初始化,(3) 可以對部分元素賦初值。如 int a34=1,5,9; 它的作用是只對各行第1列的元素賦初值,其余元素值自動置為0。賦初值后數(shù)組各元素為 1 0 0 0 5 0 0 0 9 0 0 0 也可以對各行中的某一元素賦初值: int a34=1,0,6,0,0,11; 初始化后的數(shù)
12、組元素如下: 1 0 0 0 0 6 0 0 0 0 11 0 如稀疏矩陣賦值,第3行不賦初值。也可以對第2行不賦初值: int a34=1,9; (4) 如果對全部元素都賦初值(即提供全部初始數(shù)據(jù)),則定義數(shù)組時對第一維的長度可以不指定,但第二維的長度不能省。如 int a34=1,2,3,4,5,6,7,8,9,10,11,12; 可以寫成 int a4=1,2,3,4,5,6,7,8,9,10,11,12; 系統(tǒng)會根據(jù)數(shù)據(jù)總個數(shù)分配存儲空間,一共12個數(shù)據(jù),每行4列,當然可確定為3行。 在定義時也可以只對部分元素賦初值而省略第一維的長度,但應分行賦初值。如 int a4=0,0,3,0,
13、10;,這樣的寫法,能通知編譯系統(tǒng): 數(shù)組共有3行。數(shù)組各元素為 0 0 3 0 0 0 0 0 0 10 0 0 C+在定義數(shù)組和表示數(shù)組元素時采用a這種兩個方括號的方式,對數(shù)組初始化時十分有用,它使概念清楚,使用方便,不易出錯。,常量和變量可以用作函數(shù)實參,同樣數(shù)組元素也可以作函數(shù)實參,其用法與變量相同。數(shù)組名也可以作實參和形參,傳遞的是數(shù)組的起始地址。 1. 用數(shù)組元素作函數(shù)實參 由于實參可以是表達式,而數(shù)組元素可以是表達式的組成部分,因此數(shù)組元素當然可以作為函數(shù)的實參,與用變量作實參一樣,將數(shù)組元素的值傳送給形參變量。,5.4 用數(shù)組名作函數(shù)參數(shù),例5.6 有一個34的矩陣,要求編程序
14、求出其中值最大的那個元素的值,以及其所在的行號和列號。 開始時把a00的值賦給變量max,然后讓下一個元素與它比較,將二者中值大者保存在max中,然后再讓下一個元素與新的max比,直到最后一個元素比完為止。max最后的值就是數(shù)組所有元素中的最大值。 今設一函數(shù)max_value,用來進行比較并返回結果??删帉懗绦蛉缦拢?#include using namespace std; int main( ) int max_value(int x,int max); /函數(shù)聲明 int i,j,row=0,colum=0,max int a34=5,12,23,56,19,28,37,46,-12,
15、-34,6,8; /數(shù)組初始化 max=a00;,for (i=0;imax) return x; /如果xmax,函數(shù)返回值為x else return max; /如果xmax,函數(shù)返回值為max ,2. 用數(shù)組名作函數(shù)參數(shù) 可以用數(shù)組名作函數(shù)參數(shù),實參與形參都用數(shù)組名 例5.7 用選擇法對數(shù)組中10個整數(shù)按由小到大排序。 所謂選擇法就是先將10個數(shù)中最小的數(shù)與a0對換;再將a1到a9中最小的數(shù)與a1對換每比較一輪,找出一個未經(jīng)排序的數(shù)中最小的一個。共比較9輪。 根據(jù)此思路編寫程序如下: #include using namespace std; int main( ) void sele
16、ct_sort(int array,int n); /函數(shù)聲明 int a10,i; coutenter the originl array:endl;,for(i=0;iai; coutendl; select_sort(a,10); /函數(shù)調(diào)用,數(shù)組名作實參 coutthe sorted array:endl; for(i=0;i10;i+) /輸出10個已排好序的數(shù) coutai ; coutendl; return 0; void select_sort(int array,int n) /形參array是數(shù)組名 int i,j,k,t; for(i=0;in-1;i+) k=i; f
17、or(j=i+1;jn;j+) if(arrayjarrayk) k=j; t=arrayk;arrayk=arrayi;arrayi=t; ,運行情況如下: enter the originl array: 6 9 -2 56 87 11 -54 3 0 77 /輸入10個數(shù) the sorted array: -54 -2 0 3 6 9 11 56 77 87 關于用數(shù)組名作函數(shù)參數(shù)有兩點要說明: (1) 如果函數(shù)實參是數(shù)組名,形參也應為數(shù)組名(或指針變量),形參不能聲明為普通變量(如int array;)。實參數(shù)組與形參數(shù)組類型應一致(現(xiàn)都為int型),如不一致,結果將出錯。 (2)
18、地址傳遞: 數(shù)組名代表數(shù)組首元素的地址,并不代表數(shù)組中的全部元素。因此用數(shù)組名作函數(shù)實參時,不是把實參數(shù)組的值傳遞給形參,而只是將實參數(shù)組首元素的地址傳遞給形參。,形參可以是數(shù)組名,也可以是指針變量,它們用來接收實參傳來的地址。如果形參是數(shù)組名,它代表的是形參數(shù)組首元素的地址。在調(diào)用函數(shù)時,將實參數(shù)組首元素的地址傳遞給形參數(shù)組名。這樣,實參數(shù)組和形參數(shù)組就共占同一段內(nèi)存單元。見圖5.6。 圖5.6,而用數(shù)組名作函數(shù)實參時,改變形參數(shù)組元素的值將同時改變實參數(shù)組元素的值。在程序設計中往往有意識地利用這一特點改變實參數(shù)組元素的值。 聲明形參數(shù)組并不意味著真正建立一個包含若干元素的數(shù)組,在調(diào)用函數(shù)時
19、也不對它分配存儲單元,只是用array這樣的形式表示array是一維數(shù)組名,以接收實參傳來的地址。 函數(shù)首部的下面幾種寫法都合法,作用相同。 void select_sort(int array10,int n) /指定元素個數(shù)與實參數(shù)組相同 void select_sort(int array,int n) /不指定元素個數(shù) void select_sort(int array5,int n) /指定元素個數(shù)與實參數(shù)組不同,3. 用多維數(shù)組名作函數(shù)參數(shù) 如果用二維數(shù)組名作為實參和形參,在對形參數(shù)組聲明時,必須指定第二維(即列)的大小,且應與實參的第二維的大小相同。第一維的大小可以指定,也可以
20、不指定。如 int array310; /形參數(shù)組的兩個維都指定 或 int array10; /第一維大小省略 在第二維大小相同的前提下,形參數(shù)組的第一維可以與實參數(shù)組不同。 而形參數(shù)組可以聲明為 int array310; /列數(shù)與實參數(shù)組相同,行數(shù)不同 int array810; 系統(tǒng)不檢查第一維的大小。 如果是三維或更多維的數(shù)組,處理方法是類似的。,用來存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組,字符數(shù)組中的一個元素存放一個字符。字符數(shù)組具有數(shù)組的共同屬性。由于字符串應用廣泛,C和C+專門為它提供了許多方便的用法和函數(shù)。,5.5 字符數(shù)組,定義字符數(shù)組的方法與前面介紹的類似。例如 char c10;
21、 c0=I;c1= ;c2=a;c3=m;c4= ;c5=h;c6=a;c7=p;c8=p; c9=y; 上面定義了c為字符數(shù)組,包含10個元素。在賦值以后數(shù)組的狀態(tài)如圖5.7所示。 圖5.7,5.5.1 字符數(shù)組的定義和初始化,對字符數(shù)組進行初始化,最容易理解的方式是逐個字符賦給數(shù)組中各元素。如 char c10=I, ,a,m, ,h,a,p,p,y; 把10個字符分別賦給c0c9這10個元素。 如果花括號中提供的初值個數(shù)大于數(shù)組長度,則按語法錯誤處理。如果初值個數(shù)小于數(shù)組長度,則只將這些字符賦給數(shù)組中前面那些元素,其余的元素自動定為空字符。如果提供的初值個數(shù)與預定的數(shù)組長度相同,在定義時
22、可以省略數(shù)組長度,系統(tǒng)會自動根據(jù)初值個數(shù)確定數(shù)組長度。,只能對字符數(shù)組的元素賦值,而不能用賦值語句對整個數(shù)組賦值。如 char c5; c=C,h,i,n,a; /錯誤,不能對整個數(shù)組一次賦值 c0=C; c1=h;c2=i;c3=n;c4=a; /對數(shù)組元素賦值,正確 如果已定義了a和b是具有相同類型和長度的數(shù)組,且b數(shù)組已被初始化,請分析: a=b; /錯誤,不能對整個數(shù)組整體賦值 a0=b0; /正確,引用數(shù)組元素,5.5.2 字符數(shù)組的賦值與引用,例5.9 設計和輸出一個鉆石圖形。 #include using namespace std; void main( ) char diam
23、ond5= , ,*, ,*, ,*,*, , , ,*, ,*, ,*, , ,*; int i,j; for (i=0;i5;i+) for (j=0;j5;j+) coutdiamondij; /逐個引用數(shù)組元素,每次輸出一個字符 coutendl; ,運行結果為 * * * * * * * *,用一個字符數(shù)組可以存放一個字符串中的字符。如 char str12=I, ,a,m, ,h,a,p,p,y; 用一維字符數(shù)組str來存放一個字符串I am happy中的字符。字符串的實際長度(10)與數(shù)組長度(12)不相等,在存放上面10個字符之外,系統(tǒng)對字符數(shù)組最后兩元素自動填補空字符0。
24、在程序中往往依靠檢測0的位置來判定字符串是否結束,而不是根據(jù)數(shù)組的長度來決定字符串長度。,5.5.3 字符串和字符串結束標志,下面再對字符數(shù)組初始化補充一種方法: 用字符串常量來初始化字符數(shù)組。例如 char str=I am happy; 也可以省略花括號,直接寫成 char str=I am happy; 顯然,這種方法直觀,方便,符合人們的習慣。 注意: 數(shù)組str的長度不是10,而是11(因為字符串常量的最后由系統(tǒng)加上一個0)。 如果有char str10=China; 數(shù)組str的前5個元素為C,h,i,n,a,第6個元素為0,后4個元素為空字符。見圖5.8。,需要說明的是:字符數(shù)組
25、并不要求它的最后一個字符為0,甚至可以不包含0。 人們?yōu)榱耸固幚矸椒ㄒ恢?,便于測定字符串的實際長度,以及在程序中作相應的處理,在字符數(shù)組中有效字符的后面也人為地加上一個0。,字符數(shù)組的輸入輸出可以有兩種方法: (1) 逐個字符輸入輸出,如例5.9。 (2) 將整個字符串一次輸入或輸出。例如有以下程序段: char str20; cinstr; /用字符數(shù)組名輸入字符串 coutstr; /用字符數(shù)組名輸出字符串 在運行時輸入一個字符串,如 China 在內(nèi)存中,數(shù)組str的狀態(tài)如圖5.9所示,在5個字符的后面自動加了一個結束符0。,5.5.4 字符數(shù)組的輸入輸出,圖5.9 輸出時,逐個輸出字符
26、直到遇結束符0,就停止輸出。輸出結果為 China 如前所述,字符數(shù)組名str代表字符數(shù)組第一個元素的地址,執(zhí)行“coutstr;”的過程是從str所指向的數(shù)組第一個元素開始逐個輸出字符,直到遇到0為止。 請注意: (1) 輸出的字符不包括結束符0。,(2) 輸出字符串時,cout流中用字符數(shù)組名,而不是數(shù)組元素名。 (3) 如果數(shù)組長度大于字符串實際長度,也只輸出到遇0結束。 (4) 如果一個字符數(shù)組中包含一個以上0,則遇第一個0時輸出就結束。 (5) 用cin從鍵盤向計算機輸入一個字符串時,從鍵盤輸入的字符串應短于已定義的字符數(shù)組的長度,否則會出現(xiàn)問題。,由于字符串使用廣泛,C和C+提供了
27、一些字符串函數(shù),使得用戶能很方便地對字符串進行處理。幾乎所有版本的C+都提供下面這些函數(shù),它們是放在函數(shù)庫中的,在string和string.h頭文件中定義。如果程序中使用這些字符串函數(shù),應該用#include命令把string.h或string頭文件包含到本文件中。下面介紹幾種常用的函數(shù)。,5.5.5 字符串處理函數(shù),1. 字符串連接函數(shù) strcat 其函數(shù)原型為 strcat(char,const char); strcat是string catenate(字符串連接)的縮寫。該函數(shù)有兩個字符數(shù)組的參數(shù),函數(shù)的作用是:將第二個字符數(shù)組中的字符串連接到前面字符數(shù)組的字符串的后面。第二個字符
28、數(shù)組被指定為const,以保證該數(shù)組中的內(nèi)容不會在函數(shù)調(diào)用期間修改。連接后的字符串放在第一個字符數(shù)組中,函數(shù)調(diào)用后得到的函數(shù)值,就是第一個字符數(shù)組的地址。例如 char str130=Peoples Republic of ; char str2=China; coutstrcat(str1,str2); /調(diào)用strcat函數(shù),2. 字符串復制函數(shù)strcpy 其函數(shù)原型為 strcpy(char,const char); strcpy是string copy(字符串復制)的縮寫。它的作用是將第二個字符數(shù)組中的字符串復制到第一個字符數(shù)組中去,將第一個字符數(shù)組中的相應字符覆蓋。例如 char
29、str110,str2=China; strcpy(str1,str2); 執(zhí)行后,str2中的5個字符China和0(共6個字符)復制到數(shù)組str1中。,說明: (1) 在調(diào)用strcpy函數(shù)時,第一個參數(shù)必須是數(shù)組名(如str1),第二個參數(shù)可以是字符數(shù)組名,也可以是一個字符串常量。 (2) 可以用strcpy函數(shù)將一個字符串中前若干個字符復制到字符數(shù)組中去。 (3) 只能通過調(diào)用strcpy函數(shù)來實現(xiàn)將一個字符串賦給一個字符數(shù)組,而不能用賦值語句將一個字符串常量或字符數(shù)組直接賦給一個字符數(shù)組。,3. 字符串比較函數(shù)strcmp 其函數(shù)原型為 strcmp(const char,const
30、 char); strcmp是string compare(字符串比較)的縮寫。作用是比較兩個字符串。由于這兩個字符數(shù)組只參加比較而不應改變其內(nèi)容,因此兩個參數(shù)都加上const聲明。以下寫法是合法的: strcmp(China,Korea); strcmp(str1,Beijing); 比較的結果由函數(shù)值帶回。 (1) 如果字符串1=字符串2,函數(shù)值為0。 (2) 如果字符串1字符串2,函數(shù)值為一正整數(shù)。 (3) 如果字符串1字符串2,函數(shù)值為一負整數(shù)。,注意:對兩個字符串比較,不能用以下形式: if(str1str2) cout0) coutyes;,4. 字符串長度函數(shù)strlen 函數(shù)原
31、型為 strlen(const char); strlen是string length(字符串長度)的縮寫。它是測試字符串長度的函數(shù)。其函數(shù)的值為字符串中的實際長度,不包括0在內(nèi)。如 char str10=China; coutstrlen(str); 輸出結果不是10,也不是6,而是5。 以上是幾種常用的字符串處理函數(shù),除此之外還有其他一些函數(shù)。,用字符數(shù)組來存放字符串并不是最理想和最安全的方法。 C+提供了一種新的數(shù)據(jù)類型字符串類型(string類型),在使用方法上,它和char、int類型一樣,可以用來定義變量,這就是字符串變量用一個名字代表一個字符序列。 實際上,string并不是C+
32、語言本身具有的基本類型,它是在C+標準庫中聲明的一個字符串類,用這種類可以定義對象。每一個字符串變量都是string類的一個對象。,*5.6 C+處理字符串的方法字符串類與字符串變量,1. 定義字符串變量 和其他類型變量一樣,字符串變量必須先定義后使用,定義字符串變量要用類名string。如 string string1; /定義string1為字符串變量 string string2=China; /定義string2同時對其初始化 應當注意: 要使用string類的功能時,必須在本文件的開頭將C+標準庫中的string頭文件包含進來,即應加上 #include /注意頭文件名不是strin
33、g.h,5.6.1 字符串變量的定義和引用,2. 對字符串變量的賦值 在定義了字符串變量后,可以用賦值語句對它賦予一個字符串常量,如 string1=Canada; 既可以用字符串常量給字符串變量賦值,也可以用一個字符串變量給另一個字符串變量賦值。如 string2=string1; /假設string2和string1均已定義為字符串變量 不要求string2和string1長度相同,假如string2原來是China,string1原來是Canada,賦值后string2也變成Canada。在定義字符串變量時不需指定長度,長度隨其中的字符串長度而改變。 可以對字符串變量中某一字符進行操作,
34、如 string word=Then; /定義并初始化字符串變量word word2=a; /修改序號為2的字符,修改后word的值為Than,3. 字符串變量的輸入輸出 可以在輸入輸出語句中用字符串變量名,輸入輸出字符串,如 cin string1; /從鍵盤輸入一個字符串給字符串變量string1 cout string2; /將字符串string2輸出,在上一節(jié)中可以看到: 在以字符數(shù)組存放字符串時,字符串的運算要用字符串函數(shù),如strcat(連接)、strcmp(比較)、strcpy(復制),而對string類對象,可以不用這些函數(shù),而直接用簡單的運算符。 (1) 字符串復制用賦值號 string1=string2; 其作用與“st
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6秋天的雨教學設計-2024-2025學年三年級上冊語文統(tǒng)編版
- 7《家務勞動我能理》(教學設計)-2023-2024學年三年級上冊綜合實踐活動魯科版(五四學制)
- 《測量-1千米有多長》(教學設計)-2023-2024學年二年級下冊數(shù)學北師大版
- 23《月光曲》(第二課時)(教學設計)- 2024-2025學年部編版語文六年級上冊
- Unit 3 Amazing animals Review(教學設計)-2024-2025學年人教PEP版(2024)英語三年級上冊
- Module 2 Unit 1 I helped my mum.(教學設計)-2024-2025學年外研版(一起)英語四年級上冊
- 18《富饒的西沙群島》教學設計-2024-2025學年語文三年級上冊統(tǒng)編版
- 《11 對人有禮貌》教學設計-2024-2025學年道德與法治一年級上冊統(tǒng)編版
- 27《巨人的花園》教學設計-2023-2024學年統(tǒng)編版語文四年級下冊
- 《8 人類的家園-地球》(教學設計)-2023-2024學年四年級下冊綜合實踐活動長春版
- 《榜樣9》觀后感心得體會二
- 2024年安全生產(chǎn)法律、法規(guī)、標準及其他要求清單
- 關于納粹德國元首希特勒的歷史資料課件
- 2024年家庭健康管理合同3篇
- 新媒體運營說課CHAPTER課件講解
- 2025年高考作文素材積累之《人民日報》4篇經(jīng)典時評結構賞析
- 衛(wèi)星定位導航原理知到智慧樹章節(jié)測試課后答案2024年秋哈爾濱工業(yè)大學
- 研究生學術英語寫作 課件 Chapter 7 Abstract;Chapter 8 Citation and Reference
- ISO45001管理體系培訓課件
- 心力衰竭患者利尿劑抵抗診斷及管理中國專家共識2024解讀
- 主任臨床查房程序規(guī)范及評分標準
評論
0/150
提交評論