版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、11.1.掌握一維數(shù)組、二維數(shù)組、字符掌握一維數(shù)組、二維數(shù)組、字符數(shù)組的定義和引用數(shù)組的定義和引用 2.2.熟悉常用的字符串處理函數(shù)熟悉常用的字符串處理函數(shù)3.3.簡單的編程應(yīng)用簡單的編程應(yīng)用主要任務(wù):主要任務(wù):2022-5-2822022-5-2832022-5-284 構(gòu)造類型的每一個分量是一個變量,它可以是一個構(gòu)造類型的每一個分量是一個變量,它可以是一個簡單類型或者構(gòu)造類型。簡單類型或者構(gòu)造類型。 構(gòu)造類型分量的使用方法與簡單變量相同。構(gòu)造類型分量的使用方法與簡單變量相同。 構(gòu)造類型的分量占用相鄰的存儲空間。構(gòu)造類型的分量占用相鄰的存儲空間。 對于構(gòu)造類型來說,重點是訪問其分量的方法。對
2、于構(gòu)造類型來說,重點是訪問其分量的方法。 構(gòu)造類型的每一個分量是一個變量,它可以是一個構(gòu)造類型的每一個分量是一個變量,它可以是一個簡單類型或者構(gòu)造類型。簡單類型或者構(gòu)造類型。 構(gòu)造類型分量的使用方法與簡單變量相同。構(gòu)造類型分量的使用方法與簡單變量相同。 構(gòu)造類型的分量占用相鄰的存儲空間。構(gòu)造類型的分量占用相鄰的存儲空間。 對于構(gòu)造類型來說,重點是訪問其分量的方法。對于構(gòu)造類型來說,重點是訪問其分量的方法。2022-5-285隨溫度而改變的實驗數(shù)據(jù)隨溫度而改變的實驗數(shù)據(jù) 按學(xué)號排列的成績表按學(xué)號排列的成績表 線性方程組的線性方程組的m m* *n n系數(shù)矩陣系數(shù)矩陣u都是由若干個分量組成都是由若
3、干個分量組成u數(shù)據(jù)分量都是同一類型(可取任何數(shù)據(jù)類型)數(shù)據(jù)分量都是同一類型(可取任何數(shù)據(jù)類型)u這些分量是按一定順序排列的這些分量是按一定順序排列的2022-5-286 用一符號名(數(shù)組名)來表示這一組數(shù)用一符號名(數(shù)組名)來表示這一組數(shù) 用數(shù)組名后跟下標來唯一確定數(shù)組中的元素用數(shù)組名后跟下標來唯一確定數(shù)組中的元素 數(shù)組的首地址、數(shù)組元素的類型和個數(shù)數(shù)組的首地址、數(shù)組元素的類型和個數(shù)2022-5-287(D是符號常量是符號常量) 數(shù)組名命名規(guī)則遵循數(shù)組名命名規(guī)則遵循C C語言標識符的命名規(guī)則語言標識符的命名規(guī)則 數(shù)組名后只能用數(shù)組名后只能用括起來的括起來的表達式(常量或符號常量)表達式(常量或
4、符號常量) 常量表達式的值確定數(shù)組元素的個數(shù)(尺寸)常量表達式的值確定數(shù)組元素的個數(shù)(尺寸) 起始下標從起始下標從 開始,最大下標值為數(shù)組元素個數(shù)減一開始,最大下標值為數(shù)組元素個數(shù)減一2022-5-2882022-5-28910001002100410061008a0a1a2a3a4如:如:int a5,在內(nèi)存中的存儲為,在內(nèi)存中的存儲為l 保存數(shù)組所需內(nèi)存量與數(shù)組元素的基本類型和數(shù)組保存數(shù)組所需內(nèi)存量與數(shù)組元素的基本類型和數(shù)組大小有關(guān)大小有關(guān)總字節(jié)數(shù)總字節(jié)數(shù)= =sizeofsizeof(基本類型)(基本類型)* *數(shù)組元素個數(shù)數(shù)組元素個數(shù)下標為下標為i i元素地址元素地址= =第第1 1元
5、素地址元素地址+i+i* *sizeofsizeof( (基本類型基本類型) )2022-5-28102022-5-28119876543210數(shù)組元素下標數(shù)組元素下標常用循環(huán)變量常用循環(huán)變量來控制來控制2022-5-2812int a4=1,2,3,4;a0=1, a1=2, a2=3, a3=4int b5=1,2;b0=1, b1=2, b2=b3=b4=0int c =1,2,32022-5-2813int a5=0,1,2,3,4,5;2022-5-281412nn 2n 1F1F1FFF(n3) f1=1,f2=1 for i=1 to 20 f1=f1+f2 f2=f2+f1輸出
6、輸出f1,f2#includevoid main() int i; long int f1,f2; f1=1; f2=1; for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2); if(i%2=0) printf(n); f1=f1+f2; f2=f2+f1; #includevoid main() int i; long int f40=1,1; for(i=2;i40;i+) fi=fi-2+fi-1; for(i=0;i40;i+) if(i%4=0) printf(n); printf(%12d,fi); printf(n); fi=fi-2+fi-1
7、2=i=402022-5-2815反復(fù)掃描輸入序列,比較兩個相鄰元素,若發(fā)現(xiàn)反復(fù)掃描輸入序列,比較兩個相鄰元素,若發(fā)現(xiàn)他們構(gòu)成逆序,就將其換位。他們構(gòu)成逆序,就將其換位。 外循環(huán)外循環(huán)j j控制比較趟數(shù)(控制比較趟數(shù)(n-1n-1趟)趟) 內(nèi)循環(huán)內(nèi)循環(huán)i i控制一趟比較的次數(shù)(控制一趟比較的次數(shù)(n-jn-j次)次)2022-5-2816(1) 如果改變掃描如果改變掃描方向方向(自底向自底向上上),程序怎,程序怎樣改?樣改?(2) 此程序是否還此程序是否還有可以改進的有可以改進的地方?地方?#include #define N 10void main() int aN; int i,j,t;
8、printf(Input data:); for(i=0;iN;i+) scanf(%d,&ai); for(i=1;i=N-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; printf(Output data:n); for(i=0;iN;i+) printf(%3d,ai);printf(n);2022-5-2817從從10個數(shù)中選出最小個數(shù)中選出最小的數(shù)與的數(shù)與a0對換;再從對換;再從剩下的剩下的9個數(shù)中選出最個數(shù)中選出最小的數(shù)與小的數(shù)與a1對對換;換; 共應(yīng)選擇共應(yīng)選擇9輪輪課后完成程序編寫。課后完成程序編寫。2022-5-2818202
9、2-5-2819 若用簡單變量做,則需若用簡單變量做,則需8個變量分別存放個變量分別存放8個候選人的票數(shù)個候選人的票數(shù) 讀入一張選票,則進行判斷,累加(即讀入一張選票,則進行判斷,累加(即8條這樣的語句)條這樣的語句)用數(shù)組進行統(tǒng)計用數(shù)組進行統(tǒng)計定義一個數(shù)組定義一個數(shù)組n9,n1中存放中存放1號的票數(shù),號的票數(shù),n2中存放中存放2號的票號的票數(shù),數(shù),n8中存放中存放8號的票數(shù)號的票數(shù)可發(fā)現(xiàn)數(shù)組元素的可發(fā)現(xiàn)數(shù)組元素的下標下標與要統(tǒng)計的候選人的與要統(tǒng)計的候選人的編號編號相吻合,故可直相吻合,故可直接采用:接采用:nx=nx+12022-5-2820#includevoid main() int x
10、, n9=0; printf(input No.:); scanf(%d,&x); while(x) nx+=1; printf(input No.:); scanf(%d,&x); for(x=1;x=8;x+) printf(tNo.%d=%d,x,nx); if (x%4=0) printf(n); 利用數(shù)組作為一組計利用數(shù)組作為一組計數(shù)器,通過將數(shù)器,通過將統(tǒng)計對統(tǒng)計對象的值象的值與存放該統(tǒng)計與存放該統(tǒng)計值的值的下標下標聯(lián)系起來,聯(lián)系起來,這樣既可以使程序簡這樣既可以使程序簡潔,又提高程序效率。潔,又提高程序效率。2022-5-28212022-5-2822int a3
11、4 ;注意注意:: float x234;2022-5-2823int a34;aa0-a00 a01 a02 a03a1-a10 a11 a12 a13a2-a20 a21 a22 a23可以理解為:可以理解為:int a04,a14,a24把把a0,a1,a2看作一維數(shù)組名看作一維數(shù)組名2022-5-282410001004100810121016a00a01a02a10a111020a12如:如:float a23,在內(nèi)存中的存儲為,在內(nèi)存中的存儲為:總字節(jié)數(shù)總字節(jié)數(shù)= =sizeofsizeof( (基本類型基本類型) )* *第一維大小第一維大小* *第二維大小第二維大小2022-5
12、-2825如:如:int a24, b53; a2-12*2-1 (下標可以是整型表達式)(下標可以是整型表達式) b12=a13/2int a34;a00a232022-5-2826/按存放順序賦按存放順序賦/按行賦按行賦 int x23=6,2,5,0,6 int x23=,1,22022-5-28272022-5-2828一般一般二維數(shù)組的處理用二重循環(huán)二維數(shù)組的處理用二重循環(huán) 用循環(huán)變量的值控制數(shù)組元素的下標用循環(huán)變量的值控制數(shù)組元素的下標#includevoid main() int a33,i,j; for(i=0;i=2;i+) for(j=0;j=2;j+) scanf(%d,
13、&aij); for(i=0;i=2;i+) for(j=0;j=2;j+) printf(%5d,aij); printf(n); scanf(%d,&aij); for(i=0;i=2;i+)printf(%5d,aii); for(i=0;i=2;i+) for(j=0;j=2;j+) printf(%5d,aij); printf(“n”); 2022-5-2829123a=45614b= 2536思路思路:用二重循環(huán)進行轉(zhuǎn)置用二重循環(huán)進行轉(zhuǎn)置 bjibji=aijaij for( i = 0; i=1; i+) for( j = 0; j=2; j+) b j i =
14、a i j ;123a456789147a258369思路思路:對稱于主對角線的元素對稱于主對角線的元素進行兩兩交換進行兩兩交換 for( i=0; i3; i+) for( j=0; j=字符個數(shù)字符個數(shù)+12022-5-2836 逐個字符數(shù)組元素輸入輸出:用逐個字符數(shù)組元素輸入輸出:用%c格式符描述格式符描述如:如:scanf(“%c”,&ai); printf(“%c%c%c”,b0,b2,b3); 整個字符串(數(shù)組)輸入輸出:用整個字符串(數(shù)組)輸入輸出:用%s格式符描述格式符描述如:如:char a =“china”; scanf(“%s”,a); printf(“%s”,a
15、);2022-5-28372022-5-2838用用%s%s輸入時,遇輸入時,遇空格空格或或回車回車便認為一個字符串結(jié)束便認為一個字符串結(jié)束how0are0you0?s15s25s352022-5-2839#includevoid main( ) char c110,c226; int i; for (i=0; i10; i+) c1i=i+0; for (i=0; i26; i+) c2i=i+A; for (i=0; i10; i+) printf(%c ,c1i); printf(n); for (i=0; i26; i+) printf(%c ,c2i); printf(n); 202
16、2-5-2840puts(str); 等價于等價于 printf(“%sn”,str);puts(“ok!”); 等價于等價于 printf(“%sn”,”ok!”); 或或 printf(“ok!n”);2022-5-2841puts(gets(s);2022-5-2842 拷貝時連同拷貝時連同0一起拷貝一起拷貝 字符數(shù)組字符數(shù)組1的長度的長度字符數(shù)組字符數(shù)組2/字符串的長度字符串的長度 不能把字符串或字符數(shù)組直接賦給一個字符數(shù)組不能把字符串或字符數(shù)組直接賦給一個字符數(shù)組如:如:char str6; str=“china”; (strstr表示一個地址)表示一個地址) str0=c; str
17、1=h; strcpy(str,”china”); 2022-5-2843#include#includestring.hvoid main() char s140,s210,s310; gets(s1); gets(s2); gets(s3); strcat(s1,s2); strcat(s1,s3); puts(s1); this is a bluepenthis isa bluepen思考思考:對字符數(shù)組對字符數(shù)組1 1的長度有何限制?的長度有何限制?2022-5-2844char c;c=A+B;char c10;c=“A”+”B”;char c10;strcpy(c,“A”+”B”)
18、;2022-5-28452022-5-2846abcde0str1abcde0str2abcabcde0bcd0Abcde0str1str2str1str22022-5-2847注意:注意: 對兩個字符串的比較,不能用以下形式對兩個字符串的比較,不能用以下形式 str1=str2; str1str2; 或或 str10或或=0或或0來判斷來判斷2022-5-28482022-5-2849讀程序,寫出輸出結(jié)果。讀程序,寫出輸出結(jié)果。輸入輸入:How are you?2022-5-2850#includevoid main() char s180,s280; int i=0,j=0; puts(input two strings:); gets(s1); gets(s2); while(s1i!=0) i+; while(s1i+=s2j+)!=0); printf(result: %sn,s1); input two strings:ab cdefgresult: ab cdefg2022-5-2851 有序數(shù)列中的元素:有序數(shù)列中的元素:a0a8,插入數(shù),插入數(shù)k k從從a0開始依次和各元素比較,如果開始依次和各元素比較,如果kai,則讓則讓k占用占用ai的位置,后面的數(shù)依次往后挪,的位置,后面的數(shù)依次往后挪,并跳出循環(huán),轉(zhuǎn)到并跳出循環(huán),轉(zhuǎn)到 a9=k
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 居民區(qū)煤氣供應(yīng)與節(jié)能減排協(xié)議3篇
- 文字責(zé)任守則3篇
- 新版東莞市勞動合同模板3篇
- 新車墊資協(xié)議合同范本3篇
- 工程委托書丙方負責(zé)工程監(jiān)理3篇
- 掛車購車條件3篇
- 教育設(shè)備采購契約3篇
- 汽車制造工人合同
- 社區(qū)中心墻面施工合同
- 辦公樓地下停車場施工協(xié)議
- 《春秋》導(dǎo)讀學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 消防水域救援個人防護裝備試驗 大綱
- DL∕T 5210.2-2018 電力建設(shè)施工質(zhì)量驗收規(guī)程 第2部分:鍋爐機組
- 大數(shù)據(jù)與人工智能營銷智慧樹知到期末考試答案章節(jié)答案2024年南昌大學(xué)
- 歌舞表演專業(yè)論文范文
- 藝術(shù)創(chuàng)作勞動合同模板
- 天津市河北區(qū)2022-2023學(xué)年七年級上學(xué)期期末地理試題【帶答案】
- 河南省平頂山市舞鋼市2023-2024學(xué)年九年級上學(xué)期期末數(shù)學(xué)試題(含答案解析)
- 石油化學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(xué)(華東)
- 唐宋文學(xué)與中學(xué)語文智慧樹知到期末考試答案章節(jié)答案2024年紹興文理學(xué)院
- 手術(shù)后如何防止排尿困難
評論
0/150
提交評論