C++數(shù)組和字符串_第1頁
C++數(shù)組和字符串_第2頁
C++數(shù)組和字符串_第3頁
C++數(shù)組和字符串_第4頁
C++數(shù)組和字符串_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、chap4 理解數(shù)組的定義和使用,掌握數(shù)組的理解數(shù)組的定義和使用,掌握數(shù)組的常用操作和字符串的處理。常用操作和字符串的處理。數(shù)組的應(yīng)用,字符串的處理方法。數(shù)組的應(yīng)用,字符串的處理方法。 講授與上機相結(jié)合。講授與上機相結(jié)合。chap4 數(shù)組的概念;數(shù)組的概念;數(shù)組的應(yīng)用;數(shù)組的應(yīng)用;數(shù)組的定義;數(shù)組的定義; 字符串字符串本章授課內(nèi)容本章授課內(nèi)容 常見錯誤常見錯誤chap44-1 數(shù)組數(shù)組的概念的概念 數(shù)組是一組有序數(shù)據(jù)的集合;數(shù)組中的每一個元素數(shù)組是一組有序數(shù)據(jù)的集合;數(shù)組中的每一個元素都屬于同一個數(shù)據(jù)類型。用一個統(tǒng)一的數(shù)組名和下標都屬于同一個數(shù)據(jù)類型。用一個統(tǒng)一的數(shù)組名和下標來唯一的確定數(shù)組中

2、的元素。來唯一的確定數(shù)組中的元素。 在科學(xué)計算和數(shù)據(jù)處理中,要用到成批數(shù)據(jù),這些在科學(xué)計算和數(shù)據(jù)處理中,要用到成批數(shù)據(jù),這些數(shù)據(jù)類型相同,且彼此間存在一定的順序關(guān)系,為了數(shù)據(jù)類型相同,且彼此間存在一定的順序關(guān)系,為了便于處理,引入了數(shù)組類型。便于處理,引入了數(shù)組類型。一維數(shù)組一維數(shù)組a0a1a2a3a4a5數(shù)列數(shù)列583296chap4例例4.1.1:4.1.1:某班有某班有8080名學(xué)生名學(xué)生, ,求該班成績的平均分求該班成績的平均分 #include void main( ) int j , sum , s ; float ave ; sum=0; for ( j=1; js; sum=s

3、um+s; ave=sum/80.0; cout “ave=”ave;假設(shè)現(xiàn)在要求保存每個學(xué)生的成績假設(shè)現(xiàn)在要求保存每個學(xué)生的成績, ,那就不能只使用一個變量那就不能只使用一個變量scorescore了了, ,而需要而需要4040個變量個變量, ,但這樣一來輸入、但這樣一來輸入、輸出、計算都會變得繁瑣輸出、計算都會變得繁瑣. . 在這種在這種情況下情況下, ,我們可以使用數(shù)組類型我們可以使用數(shù)組類型, ,說說明一個含有明一個含有4040個元素的數(shù)組個元素的數(shù)組, ,每個每個數(shù)組元素存放一個成績數(shù)組元素存放一個成績, ,成績的輸成績的輸入、輸出、計算都可通過循環(huán)來實入、輸出、計算都可通過循環(huán)來實

4、現(xiàn)現(xiàn)一、數(shù)組的引入一、數(shù)組的引入chap4#include void main( ) int j , sum , s80 ; float ave ; sum=0; for ( j=0; jsj; sum=sum+sj; ave=sum/80.0; cout “ave=”n;int an;._ 常量表達式中不能有變量常量表達式中不能有變量 常量表達式的值不能是實數(shù)常量表達式的值不能是實數(shù)_ 下標從下標從0開始開始, a0 , a1 a9,沒有,沒有a10;_ 常量表達式的值為元素的個數(shù)常量表達式的值為元素的個數(shù)錯誤錯誤chap4二、一維數(shù)組的存儲結(jié)構(gòu)二、一維數(shù)組的存儲結(jié)構(gòu)a_ 一個數(shù)組的所有元素

5、都是連續(xù)存儲的一個數(shù)組的所有元素都是連續(xù)存儲的_ 數(shù)組元素為數(shù)組元素為: a0,a1,a2.a9int a10;_ 所占空間為所占空間為: 類型長度類型長度*元素個數(shù)元素個數(shù) 84 : 66 80 95101010141018 :1046a0a1a2 :a9chap4三、數(shù)組元素的引用形式三、數(shù)組元素的引用形式_ 數(shù)組元素的引用數(shù)組元素的引用: 數(shù)組名數(shù)組名下標下標a0 = a2+a4*2240int a10;a0=2;下標下標 說明說明(1) 下標可以是整型常量或整型表達式下標可以是整型常量或整型表達式 如如: a1 , a2*3(2) 數(shù)組定義為數(shù)組定義為 int a5 , 數(shù)組長度為數(shù)組

6、長度為5 而下標在而下標在0 - 4之內(nèi)之內(nèi), 即即a0 - a4注意注意: 如果出現(xiàn)如果出現(xiàn) a5 = 72 ; 編譯時不會指出錯誤編譯時不會指出錯誤, 系統(tǒng)會系統(tǒng)會將將a4后下一個存儲單元后下一個存儲單元 賦值為賦值為72, 但這樣可能會破壞數(shù)但這樣可能會破壞數(shù)組以外其他變量的值。組以外其他變量的值。chap4四、一維數(shù)組的初始化四、一維數(shù)組的初始化概念概念 : 在定義一維數(shù)組時對各元素指定初始在定義一維數(shù)組時對各元素指定初始 值稱為數(shù)組的初始化值稱為數(shù)組的初始化如如: int a5 = 1 , 3 , 5 , 7 , 9 ;2. 說明說明 初值用初值用 括起來括起來, 數(shù)據(jù)之間用逗號分開

7、數(shù)據(jù)之間用逗號分開. 對數(shù)組的全體元素指定初值,可以不指明數(shù)組對數(shù)組的全體元素指定初值,可以不指明數(shù)組的長度的長度, 系統(tǒng)會根據(jù)系統(tǒng)會根據(jù) 內(nèi)數(shù)據(jù)的個數(shù)確定數(shù)組內(nèi)數(shù)據(jù)的個數(shù)確定數(shù)組的長度。的長度。 如如 : int a = 1 , 3 , 5 , 7 , 9 ;chap4(3) 對數(shù)組中部分元素指定初值對數(shù)組中部分元素指定初值 ( 這時不能這時不能 省略數(shù)組長度省略數(shù)組長度 ) 如如 : int a5 = 1 , 3 , 5 ; (4) 使數(shù)組中的全部元素初始值都為使數(shù)組中的全部元素初始值都為 0 如如: int a5 = 0 , 0 , 0 , 0 , 0 ;更簡單的寫法:更簡單的寫法: i

8、nt a5= 0 ;chap4例例4.2.1: 輸入輸入n個成績個成績,求平均分求平均分#includevoid main( )int s,n,i;float aver=0.0;cinn;for ( i=0; is; aver+=s;aver/=n;coutsi; aver+=si; aver/=n;for ( i=0 ; iaver) coutai;輸入整個數(shù)組元素輸入整個數(shù)組元素:for (i=0;iai;輸出方法:輸出方法:輸出第輸出第i個數(shù)組元素:個數(shù)組元素:coutai;輸出整個數(shù)組元素:輸出整個數(shù)組元素:for (i=0;i10;i+) coutai;chap4_例例4.2.2:用

9、一維數(shù)組求用一維數(shù)組求Fibonacci 數(shù)列數(shù)列#includevoid main() int i; int f 20 = 1,1; for ( i=2; i20; i+ ) f i = f i-2 +f i-1; for ( i=0; i20; i+) if ( i%5 = 0) coutn; cout“t”f i ; 六、一維數(shù)組程序設(shè)計舉例六、一維數(shù)組程序設(shè)計舉例 1 1 0 0 0 0 : 0f0f1f2f3f4f5 :f19i=2f2=f0+f1i=3f3=f1+f2i=4f4=f2+f323586765chap4例例4.2.3: 輸入一個數(shù)據(jù),在已知數(shù)組中查找是否有該數(shù)據(jù)輸入一個

10、數(shù)據(jù),在已知數(shù)組中查找是否有該數(shù)據(jù) 5 8 0 1 9 2 6 3 7 49a0a1a2a3a4a5a6a7a8a9#include void main() int i , x ; int a10= 5, 8, 0, 1, 9, 2, 6, 3, 7, 4 ; cinx; for ( i=0 ; i10 ; i+) if ( x=ai ) cout“find!”endl; break; if ( i=10 ) cout “no find!” endl; chap4課堂練習(xí):課堂練習(xí):有一個數(shù)列有一個數(shù)列,它的第一項為它的第一項為0,第二項為第二項為1,以后以后每一項都是它的前兩項之和每一項都是

11、它的前兩項之和, 試生成此數(shù)列試生成此數(shù)列的前的前20項項,并按逆序顯示出來并按逆序顯示出來.chap4練習(xí)答案:練習(xí)答案:#include Void main( ) int f20=0,1, j; for(j=2;j=0; j- -) / 逆序顯示逆序顯示 coutfj; coutaij;輸入整個數(shù)組的元素:輸入整個數(shù)組的元素:for ( i=0; i2; i+ ) for ( j=0; jaij;輸出方法:輸出方法:輸出第輸出第i行第行第j列元素:列元素:coutaij;輸出整個數(shù)組的元素:輸出整個數(shù)組的元素:for ( i=0; i2; i+) for ( j=0; j3; j+) co

12、utaij;chap4六、二維數(shù)組程序設(shè)計舉例六、二維數(shù)組程序設(shè)計舉例例例4.2.4: 有一個有一個3*4的矩陣的矩陣, 編編程求出其中的最大值及其所在程求出其中的最大值及其所在的行號和列號。的行號和列號。chap452093712610418maxrowcol1212#include void main( ) int i , j, row=0, col=0 , max ; int a34= 5, 2, 0, 9, 3, 7, 12, 6,10, 4, 1, 8 ; max=a00; for ( i=0 ; i3 ; i+ ) for ( j=0 ; jmax ) max=aij ; row=

13、i ; col=j ; cout“max=” max; cout“max=a”row col;輸出輸出:max=12max=a12chap4例例4.2.5: 將一個矩陣進行轉(zhuǎn)置將一個矩陣進行轉(zhuǎn)置(即原來的行變?yōu)榱屑丛瓉淼男凶優(yōu)榱?5209371261041840#includevoid main( ) int a34, b43 , i , j ; for ( i=0 ; i3 ; i+ ) for ( j=0 ; jaij ; for ( i=0 ; i3 ; i+ ) for (j=0 ; j4 ; j+) bji=aij; for ( i=0 ; i4 ; i+ ) for ( j=0 ;

14、 j3 ; j+ ) cout bij ; cout endl; 輸入數(shù)組輸入數(shù)組a進行矩陣轉(zhuǎn)置進行矩陣轉(zhuǎn)置輸出數(shù)組輸出數(shù)組ba02b20a21b12chap4課堂練習(xí):課堂練習(xí):1. 數(shù)組元素數(shù)組元素ai是該數(shù)組中的第是該數(shù)組中的第個元素個元素.2 . 元素類型為元素類型為int的數(shù)組的數(shù)組a10共占用共占用字節(jié)的存儲字節(jié)的存儲空間,其中元素空間,其中元素a5的字節(jié)地址為的字節(jié)地址為.3 .元素類型為元素類型為double的數(shù)組的數(shù)組a46共占用共占用字節(jié)的字節(jié)的存儲空間,其中元素存儲空間,其中元素a25的字節(jié)地址為的字節(jié)地址為.4.元素類型為元素類型為char的數(shù)組的數(shù)組a1030共占用共

15、占用字節(jié)的字節(jié)的存儲空間,其中元素存儲空間,其中元素a34的字節(jié)地址為的字節(jié)地址為.答案答案: 1. i+1 2. 40 a+20 3. 192 a+136 4. 300 a+94 chap4 第一方面:利用數(shù)組進行數(shù)值計算第一方面:利用數(shù)組進行數(shù)值計算: :書中給出了三個例子,一個是計算個人所得稅,二是進行書中給出了三個例子,一個是計算個人所得稅,二是進行矩陣求和,三是按月進行公司產(chǎn)值計算,都具有代表性矩陣求和,三是按月進行公司產(chǎn)值計算,都具有代表性 P103(2)P103(2)4-3 數(shù)組的應(yīng)用數(shù)組的應(yīng)用 第二方面:利用數(shù)組進行統(tǒng)計第二方面:利用數(shù)組進行統(tǒng)計: : 書中給出了兩個例子,一是

16、統(tǒng)計每個候選人的選票,書中給出了兩個例子,一是統(tǒng)計每個候選人的選票, 二是統(tǒng)計每個用電區(qū)間的居民戶數(shù)二是統(tǒng)計每個用電區(qū)間的居民戶數(shù):P105(1):P105(1) 第三方面:數(shù)據(jù)排序:第三方面:數(shù)據(jù)排序:/數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 書中介紹了兩種方法:選擇排序和插入排序書中介紹了兩種方法:選擇排序和插入排序( (見后見后) ) 第四方面:查找數(shù)據(jù):第四方面:查找數(shù)據(jù):/數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 書中介紹了兩種方法:順序查找(不要求數(shù)組元素有序書中介紹了兩種方法:順序查找(不要求數(shù)組元素有序 排列)和二分查找(要求數(shù)組元素有序排列)排列)和二分查找(要求數(shù)組元素有序排列)P109(1)P109(1)chap4基

17、本算法舉例基本算法舉例1.排序排序(1)冒泡法排序冒泡法排序例例4.3.1:輸入:輸入5個數(shù)個數(shù),進行由小到大排序進行由小到大排序: 9 8 5 4 2算法:兩兩比較,大數(shù)向后移,找到最大數(shù)放在最后,再在剩余的的4個數(shù)中進行兩兩比較,找到最大數(shù),以此類推.最后,小數(shù)排在開始,相當于浮起,故稱之為:冒泡法冒泡法chap485429542842524比較4次第一輪比較3次第二輪比較2次第三輪比較1次第四輪9854289542859428549285425842548254242452對 個數(shù),則要進行趟掃描,在第 趟掃描中要進行 次比較。可以推知:chap4/*排序排序*/ for (i=0; i

18、N-1; i+) for ( j=0;jaj+1) t =aj; aj=aj+1; aj+1=t;chap4#include#define N 10void main() int i, j, aN, t; for(i=0;iai; for(i=0;iN;i+)/輸出輸出 coutai ;/*排序排序*/for (i=0;iN-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t;for(i=0;iN;i+) /輸出輸出 coutai ;源程序源程序: 例例4.3.1 chap4(2)選擇法排序選擇法排序特點:比較后不立即互換元素,而是記下其位置并在每一輪比較完畢

19、后和()互換首先,比較的元素不同,以降序為例,是當前元素與上次比較後的最大元素進行比較,因此,在進行比較之前,要有一個初始化最大元素的過程其次,確定完畢的元素的互換是在每一輪完成后進行的,而不是在比較后進行的再次,互換元素的不同,為(i)和(iMax)舉例原始數(shù)據(jù): 3,5,7,9,4 要求:降序chap4第一輪比較,初始化設(shè)最大元素下標為第一輪比較,初始化設(shè)最大元素下標為 k03579k=0 3579 k=13579 k=23579k=3k=3A(0) 與與 A(k)交換交換的結(jié)果的結(jié)果:9573chap4#include const int N=10;void main( ) int aN

20、 , i , j , k , t; for ( i=0 ; iai; for ( i=0 ; iN-1 ; i+) k=i ; for ( j=i+1 ; jak ) k=j ; if ( k!=i ) t=ai ; ai=ak ; ak=t ; 源程序源程序:例例4.3.2for ( i=0 ; iN ; i+) coutai;A0 A1 A2 A n-1 A0 A1 A2 A n-1 A0 A i-1 A i . . A n-1 A0 A1 . . A n-2 A n-1 chap42.在有序數(shù)組中插入一個數(shù)后使原數(shù)組仍在有序數(shù)組中插入一個數(shù)后使原數(shù)組仍然有序。然有序。例如:例如: 3 5

21、 7 12 18(m=5),), 將將b=10插入插入步驟:步驟:(1)要找到要找到b在數(shù)組中的位置在數(shù)組中的位置(2)給給b讓位置讓位置(3)將將b放到該位置上放到該位置上(4)數(shù)組元素的個數(shù)數(shù)組元素的個數(shù) m 加加 1chap43571218(2)357121218(3)for(i=0;ib)break;for(j=m-1;j=i;j-) aj+1=aj;ai=b;121810(1)3571218a0a1a2a3a4a5程序見例程序見例4.3.3m=m+1;(4)chap43 5 7 10 12 18 (m=6), 將將b=10刪除刪除步驟:步驟:(1) 要找到要找到b在數(shù)組中的位置在數(shù)組

22、中的位置(2) 后面的數(shù)組元素依次前移后面的數(shù)組元素依次前移,覆蓋該位置覆蓋該位置 上的數(shù)組元素即可實現(xiàn)刪除上的數(shù)組元素即可實現(xiàn)刪除(3) 數(shù)組元素的個數(shù)數(shù)組元素的個數(shù) m 減減 13.在有序數(shù)組中刪除一個數(shù)在有序數(shù)組中刪除一個數(shù),例如例如:chap4357101218(1)357101218(2)357121218for(i=0;im;i+) if (ai=b)break;101218for(j=i;jc0c1c2 ; for ( i=0 ; i ci ;2. 整個數(shù)組的輸入輸出,即按數(shù)組名輸入輸出整個數(shù)組的輸入輸出,即按數(shù)組名輸入輸出 (僅用于字符數(shù)組僅用于字符數(shù)組),因數(shù)組名本身代表數(shù)組

23、的,因數(shù)組名本身代表數(shù)組的 首地址首地址四、字符數(shù)組的輸入和輸出四、字符數(shù)組的輸入和輸出chap4注意注意 : (1) 輸入、輸出字符串時不包括輸入、輸出字符串時不包括“ ”(2) cin輸入時系統(tǒng)一直讀取字符,直到遇到輸入時系統(tǒng)一直讀取字符,直到遇到“空白空白 符符”為止。為止。例如:輸入數(shù)據(jù)例如:輸入數(shù)據(jù) hello world C數(shù)組中內(nèi)容為數(shù)組中內(nèi)容為hellocoutc;cinsetw(20)c;chap4補充補充get( )函數(shù)函數(shù)(包含在包含在“iostream.h”) 如想輸入含空格的字符串,如如想輸入含空格的字符串,如“hello world”hello world” 只能使

24、用只能使用get( )get( )函數(shù)函數(shù),使用格式如下:,使用格式如下: cin.getcin.get( (字符數(shù)組名,字符串長度,規(guī)定的結(jié)束符字符數(shù)組名,字符串長度,規(guī)定的結(jié)束符) ) 其中,規(guī)定的結(jié)束符省略時,默認為回車鍵。其中,規(guī)定的結(jié)束符省略時,默認為回車鍵。 如:如: char str20;char str20; cin.getcin.get(str,20)(str,20)chap4五、字符串處理函數(shù)五、字符串處理函數(shù)字符串函數(shù)的原型保存在字符串函數(shù)的原型保存在中中v 字符串連接函數(shù)字符串連接函數(shù): strcat(s1,s2); char *strcat ( char *s1, c

25、onst char *s2 ); 連接連接s1和和s2兩個字符串賦給兩個字符串賦給s1,返回,返回s1的值的值v 字符串拷貝函數(shù)字符串拷貝函數(shù): strcpy(s1,s2); char *strcpy ( char *s1, const char *s2 ); 將將s2中的字符串賦給中的字符串賦給s1,返回,返回s1的值的值v 字符串比較函數(shù)字符串比較函數(shù): strcmp(s1,s2)v 求字符串長度函數(shù):求字符串長度函數(shù):strlen(s) 函數(shù)值為整數(shù)函數(shù)值為整數(shù)(返回字符個數(shù)返回字符個數(shù))(參數(shù)為字符數(shù)組名)(參數(shù)為字符數(shù)組名)chap4六、字符數(shù)組程序應(yīng)用六、字符數(shù)組程序應(yīng)用v 字符串

26、的長度字符串的長度v 逆序逆序v 字符串函數(shù)字符串函數(shù)chap4_例例4.4.1:求字符串長度:求字符串長度掃描數(shù)組掃描數(shù)組,只要不是只要不是0,計數(shù)器就加計數(shù)器就加1源程序源程序:#includevoid main() int i; char s50; cins; for (i=0;i50 & si!= 0; i+) ; cout“Lengh of “s“is”i ;ac d0bifor (i=0; i50& si+ != 0 ;) ;ii=0chap4_字符串函數(shù)字符串函數(shù)/*例例4.4.2: STRCAT*/#includevoid main() int i , j; c

27、har s140, s220; cins1s2; for( i=0; i40 & s1i!=0;i+) ; for( j=0; j20 & s2j!=0;j+)s1i+=s2 j; s1i=0; /*s1i=s2j;*/ couts1;s1s2acd0beg0facdebfg0s1/ i=strlen(s1);chap4/*例例4.4.3: STRCPY*/#include void main() char p180,p280; int i; cinp2; for (i=0;p2i!=0;i+) p1i=p2i; p1i=0; cout“p1=“p1“np2=“p2“n”;ch

28、ap4 例例 4.4.4(綜合舉例)(綜合舉例) 某班有某班有50個個學(xué)生,期終考試學(xué)生,期終考試8門課程。求每個學(xué)門課程。求每個學(xué)生總成績、平均成績,并按總成績高生總成績、平均成績,并按總成績高分到低分輸出。分到低分輸出。( 上機作業(yè)上機作業(yè) ) skipchap4char name5112; /*采用外部數(shù)組實現(xiàn)數(shù)據(jù)傳遞采用外部數(shù)組實現(xiàn)數(shù)據(jù)傳遞*/float cj519; float tacj513; #includevoid input( ); /*函數(shù)聲明函數(shù)聲明*/void count( ); void sort( ); void output( );void main( ) inp

29、ut( ); /*調(diào)用輸入函數(shù)調(diào)用輸入函數(shù)*/ count( ); /*調(diào)用計算函數(shù)調(diào)用計算函數(shù)*/ sort( ); /*調(diào)用排序函數(shù)調(diào)用排序函數(shù)*/ output( ); /*調(diào)用輸出函數(shù)調(diào)用輸出函數(shù)*/ chap4void input( ) /*輸入函數(shù)輸入函數(shù)*/ int i, j; for(i=1; i=50; i+) cout“請輸入第請輸入第”inamei; for(j=1; jcjij; chap4void count( ) /*計算函數(shù)計算函數(shù)*/ int i, j; for(i=1; i=50; i+) tacji1=0; for(j=1; j=8; j+) tacji1+

30、= cjij; tacji2= tacji1/ 8; chap4 void sort( ) /*排序函數(shù)排序函數(shù)*/ int i , flag; char ts12; float tc; do flag=0; for(i=1; itacji1) strcpy(ts, namei);); strcpy(namei,namei+1);); strcpy(namei+1,ts);); /交換姓名交換姓名 chap4 for(j=1; j=8; j+)/*交換交換8門課程成績門課程成績*/ t=cj i j; cj i j=cj i+1 j; cj i+1 j=t; t= tacj i 1; tacj

31、 i 1= tacj i+1 1; tacj i+1 1 =t; /*交換總成績交換總成績*/ t= tacj i 2; tacj i 2 = tacj i+1 2; tacj i+1 2 = t; /*交換平均成績交換平均成績*/ flag=1; while(flag=1);); chap4void output( ) /*輸出函數(shù)輸出函數(shù)*/ int i; cout50個學(xué)生成績處理結(jié)果如下:個學(xué)生成績處理結(jié)果如下: n; cout 姓名姓名 課程課程1 課程課程2 課程課程3 課程課程4 課程課程5 課程課程6 課程課程7 課程課程8 總成績總成績 平均成績平均成績 名次名次n; for

32、(i=1; i=50; i+) coutnamei; for(j=1; j=8; j+) coutcjij; couttacji1 tacji2 i; coutn; chap4常見錯誤常見錯誤1、數(shù)組下標越界。、數(shù)組下標越界。如:如: int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10;for (i=1; i=10; i+) cout ai;C+規(guī)定定義時用規(guī)定定義時用a10,表示數(shù)組有,表示數(shù)組有10 個元素,個元素,而不是可以用的最大下標值為而不是可以用的最大下標值為10。數(shù)組只包括。數(shù)組只包括a0到到a910 個元素,因此用個元素,因此用a10超出范圍。超出范圍。

33、for (i=0; i=9; i+) cout ai;chap42、數(shù)組整體賦值。、數(shù)組整體賦值。int a10;int b10=1, 2, 3, 4, 5, 6;a=b;+不允許對數(shù)組進行整體操作,如果把數(shù)不允許對數(shù)組進行整體操作,如果把數(shù)組組 a 賦值給數(shù)組賦值給數(shù)組 b ,需要用循環(huán)語句來實現(xiàn)。,需要用循環(huán)語句來實現(xiàn)。for (i=0; i10; i+) ai=bi;chap43、誤以為數(shù)組名代表數(shù)組中全部元素。、誤以為數(shù)組名代表數(shù)組中全部元素。main( ) int a4=1, 2, 3, 4; cout a;企圖用數(shù)組名代表全部元素。企圖用數(shù)組名代表全部元素。+中,數(shù)組名代表數(shù)組首地

34、址,不能通過中,數(shù)組名代表數(shù)組首地址,不能通過數(shù)組名輸出數(shù)組名輸出4個整數(shù)。個整數(shù)。cout a0 a1 a2 a3);或:或:for (i=0; i=3; i+) cout ai;chap44、引用數(shù)組元素時使用圓括號。、引用數(shù)組元素時使用圓括號。cout a(5);5、向一個字符數(shù)組賦字符串。、向一個字符數(shù)組賦字符串。char str20;str=I am a boy.;這種錯誤和第二種錯誤為一種錯誤,即不支這種錯誤和第二種錯誤為一種錯誤,即不支持對數(shù)組的整體操作。持對數(shù)組的整體操作。strcpy(str, I am a bpy.);chap46、構(gòu)造字符串時忘記在末尾應(yīng)加、構(gòu)造字符串時忘記在末尾應(yīng)加0。i=0;while (ch=getchar( )!=n) stri+=ch;cout str;由于構(gòu)造的字符串沒有加結(jié)束標志,當用由于構(gòu)造的字符串沒有加結(jié)束標志,當用cout函函數(shù)輸出數(shù)輸出str時,從時,從str的起始地址開始一個個的輸出,的起始地址開始一個個的輸出,輸出完讀入的字符后,沒有遇到輸出完讀入的字符后,沒有遇到0,繼續(xù)輸出,這,繼續(xù)輸出,這時的內(nèi)容已不再是字符串中的字符。因此,時的內(nèi)容已不再是字符串中的字符。因此, 在自己

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論