版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 字符與字符串字符與字符串東城八小 李計(jì)綢字符型用字符型用char作為標(biāo)識(shí)符。字符型必需用單引號(hào)括起來,作為標(biāo)識(shí)符。字符型必需用單引號(hào)括起來,字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號(hào)中有一個(gè)字符,否那么就是字符串。引號(hào)中有一個(gè)字符,否那么就是字符串。Var a:char;a:=b;a:=B;a:=2;一、字符型一、字符型知識(shí)點(diǎn):知識(shí)點(diǎn):1、字符的、字符的ASCII碼序號(hào):一一對(duì)應(yīng)關(guān)系碼序號(hào):一一對(duì)應(yīng)關(guān)系字符字符0123456789ASCII48495051525354555657字符ABCZASCII65666790字符a
2、bczASCII 979899122、函數(shù):、函數(shù):ord(x) chr(x) 、ord(x):前往字符前往字符x的的ASCII碼。碼。i:=ord(A); j:=ord(B);n:=ord(1); write(I,j,n); 65 66 49 、 chr(x):前往:前往ASCII碼為碼為x的字符。的字符。 var a:char; a:=chr(98); writeln(a); write(chr(97); 3、字符大小的比較、字符大小的比較(相應(yīng)字符相應(yīng)字符ASCII碼大小的比較碼大小的比較):ASCII碼大的字符大。碼大的字符大。ba 51 aA4、數(shù)字字符轉(zhuǎn)換為相應(yīng)的數(shù)字的方法。、數(shù)字
3、字符轉(zhuǎn)換為相應(yīng)的數(shù)字的方法。 var x:char; a:integer; x:=3; a:=ord(x)-48; 練習(xí)標(biāo)題:練習(xí)標(biāo)題: 從鍵盤上輸入一串字符能夠含數(shù)字、小寫字母,以從鍵盤上輸入一串字符能夠含數(shù)字、小寫字母,以# #作為輸入作為輸入終了標(biāo)志。終了標(biāo)志。編程完成:編程完成:統(tǒng)計(jì)輸入字符中每個(gè)小寫字母出現(xiàn)的次數(shù)沒有出現(xiàn)的不輸出。統(tǒng)計(jì)輸入字符中每個(gè)小寫字母出現(xiàn)的次數(shù)沒有出現(xiàn)的不輸出。樣例:樣例:輸入:輸入:2bcdaab33wycc#2bcdaab33wycc#輸出:輸出:a 2a 2b 2b 2c 3c 3d 1d 1w 1w 1y 1 y 1 算算法法一一:var ch:char
4、; n,i:integer; a:array1.26 of integer; 統(tǒng)計(jì)字母出現(xiàn)的次數(shù)統(tǒng)計(jì)字母出現(xiàn)的次數(shù)begin for i:=1 to 26 do ai:=0; read(ch); while ch# do begin if(ch=a)and(ch0 then writeln(chr(i+96), ,ai);end.var ch:char; n,i:integer; a:array97.122 of integer; 統(tǒng)計(jì)字母出現(xiàn)的次數(shù)統(tǒng)計(jì)字母出現(xiàn)的次數(shù)begin for i:=97 to 122 do ai:=0; read(ch); while ch# do begin if
5、(ch=a)and(ch0 then writeln(chr(i), ,ai);end.算算法法二二:算算法法三三:var ch:char; n,i:integer; a:arraya.z of integer; 統(tǒng)計(jì)字母出現(xiàn)的次數(shù)統(tǒng)計(jì)字母出現(xiàn)的次數(shù)begin for ch:=a to z do ach:=0; read(ch); while ch# do begin if(ch=a)and(ch0 then writeln(ch, ,ach);end.字符串用于存放批量字符的一串字符。字符串用于存放批量字符的一串字符。 VarVar:a a:string;string;或或VarVar:a
6、a:stringn;stringn;A:=helloA:=hello其中正整數(shù)其中正整數(shù)n(1=n=255)n(1=n=255)表示構(gòu)成字符串的字符最多個(gè)數(shù)。表示構(gòu)成字符串的字符最多個(gè)數(shù)。假設(shè)字符串闡明中沒有指定長(zhǎng)度,缺省值為假設(shè)字符串闡明中沒有指定長(zhǎng)度,缺省值為255255。FreepascalFreepascal中新添加的字符串類型:中新添加的字符串類型:ansistring;ansistring;默許長(zhǎng)度可達(dá)默許長(zhǎng)度可達(dá)2562 -1=655352562 -1=65535Var St:ansistring;Var St:ansistring;二、字符串二、字符串操作操作 類型類型 作用作
7、用 返回值返回值 例子例子 length(s)函數(shù)函數(shù) 求字符串求字符串s的長(zhǎng)度的長(zhǎng)度整型整型s:=123456789;l:=length(s); l的值為的值為9copy(s,w,k)函數(shù)函數(shù) 復(fù)制復(fù)制s中從中從w開始的開始的k位位字符串字符串s:=123456789;s1:=copy(s,3,5); s1的值是的值是34567pos(c, S)函數(shù)函數(shù) 求字符求字符(串串)c在串在串s中的位中的位置置整型整型S := 126.5;i :=Pos(6 , S); i的值為的值為3+運(yùn)算符運(yùn)算符 將兩個(gè)字符串連接起來將兩個(gè)字符串連接起來 s1:=1234; s2:=5678;s:=s1+s2;
8、 12345678val(s,k,code)過程過程 將字符串將字符串s轉(zhuǎn)為數(shù)值,存轉(zhuǎn)為數(shù)值,存在在k中;中;code是錯(cuò)誤代碼是錯(cuò)誤代碼 var s:string;k,code:integer;s:=1234;val(s,k,code);write(k); k=1234str(i,s)過程過程 將數(shù)值將數(shù)值i轉(zhuǎn)為字符串轉(zhuǎn)為字符串s i:=1234;str(i,s); write(s); s=1234delete(s,w,k)過程過程 在在s中刪除從第中刪除從第w位開始位開始的的k個(gè)字符個(gè)字符 s := Honest Abe Lincoln;Delete(s,8,4);Writeln(s);
9、Honest Lincoln insert(s1, S, w)過程過程 將將s1插到插到s中第中第w位位 S := Honest Lincoln;Insert(Abe , S, 8); Honest Abe Lincoln 字符串的有關(guān)操作字符串的有關(guān)操作字符串運(yùn)用中的有關(guān)闡明和本卷須知字符串運(yùn)用中的有關(guān)闡明和本卷須知: :1 1、字符串的輸入和輸出、字符串的輸入和輸出: :輸入輸入: :字符串是以回車作為的終了標(biāo)志字符串是以回車作為的終了標(biāo)志. .所以輸入必需所以輸入必需readln(s)readln(s);每個(gè)每個(gè)readlnreadln語句只能讀入一個(gè)字符串。不能語句只能讀入一個(gè)字符串。
10、不能readln(s1,s2); readln(s1,s2); 輸出輸出:writeln(s); :writeln(s); 2 2、字符串可以和數(shù)組一樣操作:、字符串可以和數(shù)組一樣操作: a:=nabcdeg;a:=nabcdeg; 那么:那么:a1:=n;a3:=b;a1:=n;a3:=b; 輸出:輸出:writeln(a);writeln(a); 或:或:for i:=1 to length(a) do write(ai);for i:=1 to length(a) do write(ai);3 3、從鍵盤只能接受、從鍵盤只能接受127127個(gè)字符個(gè)字符; ;普通都是文件輸入。普通都是文件
11、輸入。4 4、嚴(yán)厲區(qū)分?jǐn)?shù)字字符、數(shù)字字符串與數(shù)值的區(qū)別,但可以相互、嚴(yán)厲區(qū)分?jǐn)?shù)字字符、數(shù)字字符串與數(shù)值的區(qū)別,但可以相互轉(zhuǎn)化。轉(zhuǎn)化。 44 1326132644 13261326 如:如:var a:char; i:integer;var a:char; i:integer; a:=4;i:=ord(a)-48; writeln(i); i=4 a:=4;i:=ord(a)-48; writeln(i); i=45、字符串大小的比較。、字符串大小的比較。 123=123 1234512325 123451234 4561234566、數(shù)字串轉(zhuǎn)化為數(shù)值型、數(shù)字串轉(zhuǎn)化為數(shù)值型 兩種方法:兩種方法:
12、 一、過程一、過程 val 二、直接轉(zhuǎn)化二、直接轉(zhuǎn)化1、輸入一個(gè)正整數(shù)、輸入一個(gè)正整數(shù)n10250,求它的各位數(shù)字之和求它的各位數(shù)字之和S。var n:string; s,k,i:integer;begin readln(n); k:=length(n); s:=0; for i:=1 to k do s:=s+ord(ni)-48; writeln(s);end.字符串運(yùn)用舉例:字符串運(yùn)用舉例:2、編寫一個(gè)程序,統(tǒng)計(jì)從鍵盤輸入的、編寫一個(gè)程序,統(tǒng)計(jì)從鍵盤輸入的n(100)個(gè)英個(gè)英文單詞中以文單詞中以c開頭的單詞開頭的單詞,并輸出個(gè)數(shù)。并輸出個(gè)數(shù)。樣例:樣例:輸入:輸入:4ancatbeeCo
13、w輸出:輸出:catCow2var a:array1.100 of string; 記錄輸入的單詞記錄輸入的單詞 n,i,s:integer;begin readln(n); 輸入單詞個(gè)數(shù)輸入單詞個(gè)數(shù) for i:=1 to n do 輸入單詞輸入單詞 readln(ai); s:=0; 記錄單詞中一記錄單詞中一c開頭的數(shù)開頭的數(shù)目目 for i:=1 to n do if (ai,1=c)or(ai,1=C) then begin s:=s+1; 累加累加 writeln(ai); 輸出以輸出以c開頭的單詞開頭的單詞 end; writeln(s);end.3、編程驗(yàn)證一個(gè)數(shù)是不是是回文數(shù)、
14、編程驗(yàn)證一個(gè)數(shù)是不是是回文數(shù)10250一個(gè)數(shù)的第一位和倒數(shù)第一位一樣,第二位和倒數(shù)第二位一一個(gè)數(shù)的第一位和倒數(shù)第一位一樣,第二位和倒數(shù)第二位一樣樣如:如:31,3443。樣例:樣例:輸入:輸入:123456435400565654656565輸出:輸出:novar a:string; n,i,len:integer; yn:boolean;begin readln(a); len:=length(a); n:=len div 2; yn:=true; for i:=1 to n do if aialen+1-i then begin yn:=false; break; end; if yn t
15、hen writeln(yes) else writeln(no);end.方法一方法一var a:string; i,j,k:integer;begin readln(a); k:=length(a); i:=1; j:=k; while (ai=aj)and(i=j then writeln(yes) else writeln(no);end.方法二方法二4、完成計(jì)算器功能:完成、完成計(jì)算器功能:完成30000以內(nèi)的正整數(shù)加法運(yùn)算。以內(nèi)的正整數(shù)加法運(yùn)算。樣例樣例:輸入輸入:130+100輸出輸出:230算法:算法:1找到找到+的位置的位置k。2將運(yùn)算符前的字符轉(zhuǎn)化為數(shù)值將運(yùn)算符前的字符轉(zhuǎn)化
16、為數(shù)值a,運(yùn)算,運(yùn)算符后的字符串轉(zhuǎn)化為符后的字符串轉(zhuǎn)化為b。3求求a+b的值。的值。var a,b,k,c:integer;ab:longint; s:string;begin readln(s); k:=pos(+,s); val(copy(s,1,k-1),a,c); val(copy(s,k+1,length(s)-k),b,c); ab:=a+b; writeln(ab);end.過程:過程:val(s,a,c)中,中,c只能是整型數(shù),假設(shè)只能是整型數(shù),假設(shè)轉(zhuǎn)化勝利轉(zhuǎn)化勝利:c=0。a可以是實(shí)數(shù)也可以是整數(shù)可以是實(shí)數(shù)也可以是整數(shù).Val(12.6,a,c);a:=12.6方法一方法一v
17、ar a,b,k,c,n,i:integer;ab:longint; s:string;begin readln(s); k:=pos(+,s); n:=length(s); a:=0; for i:=1 to k-1 do a:=a*10+ord(si)-48; b:=0; for i:=k+1 to n do b:=b*10+ord(si)-48; ab:=a+b; writeln(ab);end.方法二方法二5、編程完成、編程完成30000以內(nèi)的正整數(shù)的以內(nèi)的正整數(shù)的+、-、*、/一種運(yùn)算,只一種運(yùn)算,只含一個(gè)運(yùn)算符號(hào)。含一個(gè)運(yùn)算符號(hào)。樣例樣例:輸入輸入:130*100輸出輸出:1300
18、0var a,b,k,c,len:integer; s:string; op:char;begin readln(s); len:=length(s); for k:=1 to len do if not(sk=0) then break; op:=sk; val(copy(s,1,k-1),a,c); val(copy(s,k+1,length(s)-k),b,c); case op of +:writeln(a+b); -:writeln(a-b); *:writeln(a*b); /:if b=0 then writeln(no answer) else writeln(a/b:0:2); end;end.6 6、刪數(shù)問題、刪數(shù)問題 鍵盤輸入一個(gè)正整數(shù),去掉其中恣意鍵盤輸入一個(gè)正整數(shù),去掉其中恣意個(gè)數(shù)字后剩下的數(shù)字按原左右次序?qū)⒔M成一個(gè)個(gè)數(shù)字后剩下的數(shù)字按原左右次序?qū)⒔M成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防用電課件教學(xué)課件
- 2024「銷售代理」合同標(biāo)的與代理商責(zé)任義務(wù)
- 2024年度租賃合同標(biāo)的及租賃期限的詳細(xì)約定
- 2024年度供應(yīng)鏈管理服務(wù)合同協(xié)同操作與風(fēng)險(xiǎn)控制
- 2024年建筑工程項(xiàng)目安全協(xié)議
- 2024年度石油化工企業(yè)BIM模型設(shè)計(jì)與安全評(píng)估合同
- 2024年度園林綠化工程施工合同范例
- 2024標(biāo)準(zhǔn)勞務(wù)合同書3
- 2024年土地暫時(shí)使用協(xié)議
- 2024年度技術(shù)開發(fā)成果共享協(xié)議
- 市場(chǎng)主體遷移申請(qǐng)書
- 2023科室醫(yī)療質(zhì)量、安全管理持續(xù)改進(jìn)記錄本
- (完整word)大學(xué)西門子plcs7-1200考試復(fù)習(xí)習(xí)題
- 中考數(shù)學(xué)復(fù)習(xí)微專題:有理數(shù)運(yùn)算中的錯(cuò)解及對(duì)策
- DB11-972-2013保險(xiǎn)營(yíng)業(yè)場(chǎng)所風(fēng)險(xiǎn)等級(jí)與安全防范要求
- 高中政治部編版教材高考雙向細(xì)目表
- 輪扣式模板支撐架安全專項(xiàng)施工方案
- 酒店裝飾裝修工程驗(yàn)收表
- 中國(guó)行業(yè)分類代碼表
- 社會(huì)組織協(xié)會(huì)換屆選舉會(huì)議主持詞
- 呼吸科(呼吸與危重癥醫(yī)學(xué)科)出科理論試題及答案
評(píng)論
0/150
提交評(píng)論