C程序設(shè)計數(shù)組PPT學(xué)習(xí)教案_第1頁
C程序設(shè)計數(shù)組PPT學(xué)習(xí)教案_第2頁
C程序設(shè)計數(shù)組PPT學(xué)習(xí)教案_第3頁
C程序設(shè)計數(shù)組PPT學(xué)習(xí)教案_第4頁
C程序設(shè)計數(shù)組PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學(xué)1C程序設(shè)計數(shù)組程序設(shè)計數(shù)組變量:杯子,一個變量只能存放一個數(shù)據(jù)數(shù)組:帶多個杯子的托盤,一個數(shù)組可以存放多個數(shù)據(jù)第1頁/共94頁第2頁/共94頁第3頁/共94頁E4.1 一維數(shù)組 4.2 二維數(shù)組 4.3 字符數(shù)組第4頁/共94頁第5頁/共94頁int,char等都可以, 說明此數(shù)組中每個 元素都屬于此類型命名規(guī)則與變量一致不能和其他變量重名指定元素的個數(shù),最小為0,不能是變量#define N 3int aN;int a3+5;int a1.5;int n;scanf(“%d”,&n);int an;int a;int a3;int a,b3;int n = 3;int an;第6頁/

2、共94頁a;n int a N; int a3;n(7)int a2 + 3; (8)int i, a3, b0;第7頁/共94頁 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9注意:1. 數(shù)組必須先定義,再使用。 2. 只能逐個引用數(shù)組元素,不能一次引用整個數(shù)組。例如:int a10; 可以使用a0、a1.a9 。若有 a=1; 或者a10 = 1; 出錯。a10不代表整個數(shù)組,它是下標(biāo)為10的元素,越界!1第8頁/共94頁3. 下標(biāo)可以是常量或變量,它表示元素的序號。例如:int i=3, a10; ai=1; 表示給下標(biāo)為3的元素賦值為1。 4.一維數(shù)組在內(nèi)存中連續(xù)存放,先存

3、放下標(biāo)為0的元素,再存放下標(biāo)為1的元素,依次直至存放完所有元素。第9頁/共94頁只定義數(shù)組,不給數(shù)組元素賦值,數(shù)組元素中存放的是隨機(jī)值。一般要先給數(shù)組元素賦值,再使用。第10頁/共94頁第11頁/共94頁第12頁/共94頁第13頁/共94頁初值2, 初值N;n其中,N是表示數(shù)組元素個數(shù)的常量。第14頁/共94頁在對數(shù)組的所有元素賦初值時,可以不指定數(shù)組長度。系統(tǒng)自動定義其長度為5初值個數(shù)不能超過數(shù)組長度。否則,會出現(xiàn)語法錯誤。第15頁/共94頁將a0a2依次初始化為0、1、2。未賦值的元素a3a9值全部被初始化為int中表示假的值0。 將元素a0a9 全部初始化為0將a0a1依次初始化為0、1

4、。未賦值的元素a2a9值全部被初始化為char中表示假的值0 。若想全部初始化為1int a10=1; 錯誤第16頁/共94頁第17頁/共94頁第18頁/共94頁414135241 交換43 交換342 交換1 13 不交換34 32 交換513245 12 交換12345 12不交換結(jié)果 12345R 第0趟 第1趟 第2趟 第3趟第0次第1次第2次第3次for(i=0;iRj+1 的值)則交換 j增1 for(j=0;j4i;j+) / 內(nèi)循環(huán) 如果( Rj的值R2的值) temp R1; R1 R2; R2 temp; j增加1,比較Rj 和 Rj+1的大小 如果(Rj的值Rj+1的值)

5、 j增加1,比較Rj 和 Rj+1 的大小實現(xiàn)交換43 交換R1R243 不交換4R25R32R4temp 2. 交 換 過 程 與 核 心 程 序434第20頁/共94頁 int i; int j; for(i=0;i=3;i+)for(j=0;jRj+1的大小)temp Rj;Rj Rj+1;Rj+1 temp;3. 循 環(huán) 與 核 心 程 序 的 組 合 int i, j;類型一樣,合并在一起外循環(huán),將處理5個數(shù)推廣到處理n個數(shù) for(i=0;i=n-2;i+)內(nèi)循環(huán)for(j=0;jRj+1)滿足交換條件,則交換;在程序中將賦值箭頭轉(zhuǎn)換為賦值等號temp=Rj;Rj=Rj+1;Rj+

6、1=temp;標(biāo)出交換的起始位置標(biāo)出內(nèi)循環(huán)的起始位置標(biāo)出外循環(huán)的起始位置第21頁/共94頁4. 冒 泡 算法整理第22頁/共94頁第23頁/共94頁第24頁/共94頁第25頁/共94頁第26頁/共94頁第27頁/共94頁313124531 交換32 交換224 不交換451 13 不交換23 34 不交換45 45 不交換 12不交換結(jié)果 12345R i=0 i=1j=0j=1j=2j=3排好設(shè)置一個標(biāo)識量,若某趟中一次交換也沒有進(jìn)行,設(shè)置標(biāo)識量的值,代表數(shù)據(jù)已完全排好,不需要進(jìn)行后面的排序。第28頁/共94頁第29頁/共94頁第30頁/共94頁第31頁/共94頁第32頁/共94頁第33頁/

7、共94頁 4.1 一維數(shù)組E4.2 二維數(shù)組 4.3 字符數(shù)組第34頁/共94頁n1門課程成績。n方法二:為3名學(xué)生各定義3個數(shù)組,每個數(shù)組可以存n放4門成績。n方法三:用一個3行4列的二維數(shù)組來存儲。成績表成績表數(shù)學(xué)數(shù)學(xué)英語英語計算機(jī)計算機(jī)C語言語言學(xué)生學(xué)生1928996.580學(xué)生學(xué)生288.5679070學(xué)生學(xué)生371908860第35頁/共94頁0120 1 2 3M和N只能是正整數(shù)第36頁/共94頁例:float a34第37頁/共94頁第38頁/共94頁a1212 15 365 8 13常出現(xiàn)的錯誤:下標(biāo)越界!a23=3; /*應(yīng)為a12=3;*/第39頁/共94頁2、全部數(shù)據(jù)寫在

8、一個花括號內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x初值:例:int a34 = 1,2,3,4,5,6,7,8,9,10,11,12;賦初值時,數(shù)組的行下標(biāo)可以省略,例如:int a 4 = .。第40頁/共94頁(2)int a34 = 1,5,6,9; 1 0 0 0 5 6 0 0 9 0 0 0 功能:僅對a00、a10、a11、a20賦值,其余為0第41頁/共94頁第42頁/共94頁第43頁/共94頁第44頁/共94頁第45頁/共94頁第46頁/共94頁第47頁/共94頁nn例: a000=100; a012=20; a222=50;一個n維數(shù)組可以看成由多個n-1維數(shù)組構(gòu)成。第48頁/共94

9、頁 4.1 一維數(shù)組 4.2 二維數(shù)組E4.3 字符數(shù)組第49頁/共94頁n沒有專門的字符串變量,如果要存儲字符串,需要n用到字符數(shù)組。字符數(shù)組是專門用來存放字符數(shù)據(jù)n的。字符數(shù)組中的一個元素存放一個字符。第50頁/共94頁n例如:第51頁/共94頁這四種方式,字符數(shù)組c存儲的是字符串第52頁/共94頁這種方式,字符數(shù)組c存儲的是普通字符序列第53頁/共94頁n內(nèi)存空間,就會出錯。為了防止這類的錯誤發(fā)生,n習(xí)慣上將字符數(shù)組長度設(shè)置大一些。例如:nchar c20 = “fish”;第54頁/共94頁n誤的。n可以對c中的元素逐個重新賦值:c0= c; c1= a; nc2= t; c3= 0;

10、 n注意:不要省略給c3賦值為 0,否則c中新的字符n串內(nèi)容為“cath”。第55頁/共94頁1, n &s2,&s3, &s4);數(shù)組元素跟普通變量一樣,前面要加取地址符第56頁/共94頁n2. 輸入字符串時,空格或者回車鍵是輸入結(jié)束符,不能作為有效的字符輸入。第57頁/共94頁n例如:從鍵盤輸入catcat ,數(shù)組c中存入catca,沒有 0的位n置,容易出現(xiàn)內(nèi)存錯誤。第58頁/共94頁第59頁/共94頁n名寫在輸出表列中。n例如:char c5;n printf(“%s”, c); 第60頁/共94頁n(2) 如果一個字符數(shù)組中包含一個以上0,則遇第一個0時輸出就結(jié)束。第61頁/共94頁

11、第62頁/共94頁數(shù)組。n例如:定義char c35 ; 相當(dāng)于定義了3個字符串變量。nc0、 c1、 c2分別是3個字符串的起始地址。可以使n用scanf 和 printf 函數(shù)為其輸入、輸出字符串。第63頁/共94頁第64頁/共94頁第65頁/共94頁string.h 中定義,n要使用這些函數(shù),需將此文件包含進(jìn)來。n有的編譯器會自動包含。第66頁/共94頁 例如:char c6=“China”; 執(zhí)行函數(shù):puts(c); 等價于: printf(%sn,c); puts函數(shù)也可以直接輸出字符串常量。例如:puts(“China”);第67頁/共94頁例如:char s10; 執(zhí)行函數(shù) :

12、 gets(s); 從鍵盤輸入:China 將包括0在內(nèi)的6個字符送到字符數(shù)組s中。第68頁/共94頁n1. gets(s1); gets(s2); puts(s1); puts(s2); n2 . s c a n f ( “ % s % s ” , s 1 , s 2 ) ; printf(“%sn%sn”,s1,s2);第69頁/共94頁n執(zhí) 行 結(jié) 果 : s 1 中 存 入 字 符 串“HELLO WORLD!”,光標(biāo)n等待用戶再次輸入字符串,從鍵盤輸入hello world!ns2中獲得字符串“hello world!”。第70頁/共94頁第71頁/共94頁注 意:1)數(shù)組1必須足夠

13、大,以容納連接后的新字符串。2)連接時串1后面的0被覆蓋,只在新串后保留1個0字符數(shù)組2可為字符串常量,1呢?第72頁/共94頁例如:char s10 = “te”; strcat(s, “st!”); 執(zhí)行過程中數(shù)組s的存儲情況:第73頁/共94頁第74頁/共94頁第75頁/共94頁nn(1)字符數(shù)組1必須足夠大,能容納復(fù)制過來的字符串n(2)復(fù)制時連同0一起復(fù)制到字符數(shù)組1中。第76頁/共94頁n:n char str230 = Beijing; n strncpy(str1,str2,2); n執(zhí)行結(jié)果:str1為Beengdu。第77頁/共94頁第78頁/共94頁第79頁/共94頁n到

14、不同字符或0,比較的結(jié)果由函數(shù)值帶回。n字符串1 字符串2, 函數(shù)返回正整數(shù) , 1例如:strcmp(“a”, “b”); 函數(shù)返回-1 即:“a”“compare”第80頁/共94頁n注意:字符串只能用strcmp 函數(shù)比較,不能用關(guān)系n運算符“= =”、“”等直接比較。n例如:要判斷str1是否比str2大,若使用str1str2就n會出錯,應(yīng)該使用strcmp(str1,str2)0。第81頁/共94頁第82頁/共94頁第83頁/共94頁第84頁/共94頁nprintf(“%d”, strlen(str); n說明:輸出結(jié)果不是 20,也不是5,而是4。第85頁/共94頁第86頁/共94頁第87頁/共94頁格 式: strupr(字符數(shù)組)功 能:將字符數(shù)組中字符串的小寫字母轉(zhuǎn)換成大寫字母。例 如:char str1“abcdef”; strupr(str1);puts(str1); 結(jié)果:ABCDEF第88頁/共94頁格

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論