版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Pascal語言第7課字符類型字符類型為由一個字符組成的字符常量或字符變量。字符常量定義:
const
字符常量='字符'字符變量定義:
Var
字符變量表:char;字符類型是一個有序類型,字符的大小順序按其ASCⅡ代碼的大小而定。函數(shù)succ、pred、ord適用于字符類型。例如:后繼函數(shù):succ('a')='b'
前繼函數(shù):pred('B')='A'
序號函數(shù):ord('A')=65【字符與字符串處理】
Programa1(input,output);Var
ch:char;Begin
For
ch:=‘a(chǎn)’to‘z’dowrite(ch:3);Writeln;{換行輸出下面的內(nèi)容}
For
ch:=‘z’downto
‘a(chǎn)’dowrite(ch:3);Writeln;End.參考程序:★例1:按正序和反序輸出26個英文字母。分析:程序中,我們可以利用字符類型是順序類型這一特性,直接將字符類型變量作為循環(huán)變量,使程序處理起來比較直觀?!锢?:按字母表順序和逆序每隔一個字母打印輸出。Programa2;
var
ch:char;
begin
for
ch:='a'to'z'do
if(ord(ch)-ord('a'))mod2=0then
write(ch:3);writeln;
for
ch:='z'
downto'a'do
if(ord(ch)-ord('z'))mod2=0then
write(ch:3);writeln;
end.參考程序:字符串類型字符串是由字符組成的有窮序列。字符串類型定義:
type<字符串類型標識符>=string[n];var
字符串變量:字符串類型標識符;其中:n是定義的字符串長度,必須是0~255之間的自然整數(shù),第0號單元中存放串的實際長度,程序運行時由系統(tǒng)自動提供,第1~n號單元中存放串的字符。若將string[n]寫成string,則默認n值為255。例如:typeman=string[8];
line=string;
var
name:man;
s:line;【字符與字符串處理】另一種字符串類型的定義方式為把類型說明的變量定義合并在一起。例如:VARname:string[8];s:string;Pascal中,一個字符串中的字符可以通過其對應的下標靈活使用。例如:var
name:string;beginread(name);fori:=1toord(name[0])do
writeln(name[i]);end.
語句writeln(name[i])輸出name串中第i個字符。【字符與字符串處理】字符串的運算和比較由字符串常量、變量和運算符組成的表達式稱為字符串表達式。字符串運算符包括:1.+(連接運算符)例如:'Turbo'+'PASCAL'的結(jié)果是'TurboPASCAL'。(1)若連接的結(jié)果字符串長度超過255,則被截成255個字符;(2)若連接后的字符串存放在定義的字符串變量中,當其長度超過定義的字符串長度時,超過部份字符串被截斷。例如:var
str1,str2,str3:string[8];
begin
str1:='Turbo';
str2:='PASCAL';
str3:=str1+str2;
end.
則str3的值為:'TurboPA'。【字符串的操作】2.=.<>.<.<=.>.>=(關(guān)系運算符)兩個字符串的比較規(guī)則為,從左到右按照ASCⅡ碼值逐個比較,遇到ASCⅡ碼不等時,規(guī)定ASCⅡ碼值大的字符所在的字符串為大。例如:'AB'<'AC'結(jié)果為真;'12'<'2'結(jié)果為真;‘PASCAL’=‘PASCAL’結(jié)果為假;在程序中,當執(zhí)行到兩個字符串進行比較時,Pascal會自動將兩個字符串中的每一個字符逐個比較,直至遇到不等而決定其大小。這種比較方式是計算機中字符串比較的一般方式。【字符串的操作】例3對給定的10個國家名,按其字母的順序輸出。參考程序:programa3;var
name:array[1..10]ofstring[20];
i,j,k:integer;
t:string[20];beginfori:=1to10doreadln(name[i]);fori:=1to9do
{選擇排序}
begink:=i;forj:=i+1to10doifname[k]>name[j]thenk:=j;ifk<>ithenbegint:=name[i];
name[i]:=name[k];
name[k]:=t;end;end;fori:=1to10dowriteln(name[i]);end.字符串的函數(shù)和過程Pascal提供了八個標準函數(shù)和標準過程,見下表,利用這些標準函數(shù)與標準過程,一些涉及到字符串的問題可以靈活解決。函數(shù)和過程名功能說明copy(s,m,n)取s中第m個字符開始的n個字符若m大于s的長度,則返回空串;否則,若m+n大于s的長度,則截斷l(xiāng)ength(s)求s的動態(tài)的長度返回值為整數(shù)pos(sub,s)在s中找子串sub返回值為sub在s中的位置,為byte型insert(sour,s,m)在s的第m個字符位置處插入子串sour若返回串超過255,則截斷delete(s,m,n)刪除s中第m個字符開始的n個字符串若m大于s的長度,則不刪除;否則,若m+n大于s的長度,則刪除到結(jié)尾str(x[:w[:d]],s)將整數(shù)或?qū)崝?shù)x轉(zhuǎn)換成字符串sw和d是整型表達式,意義同帶字寬的write語句val(s,x,code)將字符串S轉(zhuǎn)換成整數(shù)或?qū)崝?shù)x若S中有非法字符,則code存放非法字符在S中的下標;否則,code為零。code為整型upcase(ch)將字母ch轉(zhuǎn)換成大寫字母若ch不為小寫字母,則不轉(zhuǎn)換例4:對輸入的一句子實現(xiàn)查找且置換的功能。參考程序:programa4;
var
se,s,o:string;
i:integer;
beginwrite('Thetext:');readln(se);write('Find:');
readln(s);write('Replace:');
readln(o);i:=pos(s,se);whilei<>0dobegindelete(se,i,length(s));insert(o,se,i);i:=pos(s,se);end;
writeln(se);end.
另一種字符串類型的定義方式是使用一維數(shù)組定義成緊縮字符數(shù)組的形式。
例如:VARa:array[1..10]ofchar;b:packedarray[1..10]ofchar;
其中變量a為一般的一維數(shù)組,b為緊縮字符數(shù)組。緊縮字符數(shù)組存放字符串,除了可以節(jié)約存儲空間之外,還使得字符串的讀、寫、比較、賦值等運算變得簡單了?!咀址c字符串處理】練習1:從鍵盤上隨意輸入20個字母,按照字母表的順序?qū)⑺鼈冚敵觥?/p>
練習2:讀入10個單詞,按照字典次序排列單詞。
練習參考參考返回programlianxi1(input,output);
var
a:string;i,j:integer;beginread(a);fori:=97to122doforj:=1to20doiford(a[j])=ithenwrite(a[j]);end.練習1:從鍵盤上隨意輸入20個字母,按照字母表的順序?qū)⑺鼈冚敵觥⒖汲绦颍悍祷鼐毩?:讀入10個單詞,按照字典次序排列單詞。programlianxi2(input,output);typeword=packedarray[1..15]ofchar;
var
a:array[1..10]ofword;t:word;i,j:integer;beginfori:=1to10do
readl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年旅游公司浮動抵押合同
- 個人住宅租借押金及季度租金合同樣本(2024版)一
- 二零二五年度專業(yè)印刷品設計、印刷與打印服務合同3篇
- 事業(yè)單位基本建設粉刷工程分包合同2024版B版
- 2025年度烘焙連鎖面包磚供應鏈合作協(xié)議4篇
- 二零二五年度干股虛擬股分紅激勵方案合同范本
- 2025年度玩具貨物運輸委托服務協(xié)議
- 二零二五年度物業(yè)小區(qū)個人承包社區(qū)物業(yè)服務綜合解決方案協(xié)議
- 2025年度家用空調(diào)拆裝安全操作規(guī)范及應急處理合同
- 二零二五年度家政服務公司保姆雇傭協(xié)議
- 海外資管機構(gòu)赴上海投資指南(2024版)
- 山東省青島市2023-2024學年七年級上學期期末考試數(shù)學試題(含答案)
- 墓地銷售計劃及方案設計書
- 從偏差行為到卓越一生3.0版
- 優(yōu)佳學案七年級上冊歷史
- 鋁箔行業(yè)海外分析
- 紀委辦案安全培訓課件
- 超市連鎖行業(yè)招商策劃
- 城市道路智慧路燈項目 投標方案(技術(shù)標)
- 【公司利潤質(zhì)量研究國內(nèi)外文獻綜述3400字】
- 工行全國地區(qū)碼
評論
0/150
提交評論