-
1.字串用於儲存整批字元資料。 字串在程式設計中通常用於儲存特徵化的數值資料。
例如,在執行高精度運算時,會儲存運算元和計算結果。 字串可以被視為字串的特殊陣列。 當然,它也有自己的特點。
以下是字串定義的格式:
vars:string;
s1:string[15];
如果未指定字串的長度,則根據型別的最大長度(255 個字元)分配空間,最大可用長度為 255。 如果在括號中給出特定值(介於 1 和 255 之間),則根據值的大小分配空間。 使用時,最大可用長度為此值。
2.字串的輸入、輸出:
字串型別可以作為陣列輸入和輸出,也可以直接輸入和輸出:readln(s); writeln(s);當輸入多個字串時,回車符用作資料之間的分隔符; 每個 readln 語句只能讀取乙個字串。
3.對字串的操作(由 pascal 帶來):
length(s)
功能。 求字串 s 的長度。
返回值為整數。
s:='123456789';
l:=length(s);
copy(s,w,k)
功能。 複製從 s 中 w 開始的 k 位。
返回值是乙個字元。
s:='123456789';
s1:=copy(s,3,5);
val(s,k,code)
過程。 將字串 s 轉換為數值並儲存在 k 中; 程式碼是錯誤**(一般不考慮使用val(s,k))。
s:='1234';
val(s,k);
str(i,s)
過程。 將值 i 轉換為字串 s
i:=1234;
str(i,s);
delete(s,w,k)
過程。 刪除從 s 中的第 w 位開始的 k 個字元。
s:=honest
abelincoln';
delete(s,8,4);
運算元。 連線兩個字串。
s1:='1234';s2:='5678';
s:=s1+s2;
-
program
ex8_5;
vars1,s,o:string;
i:integer;
beginwrite('the
text:');
readln(s1);
write('find:');readln(s);
write('replace:');readln(o);
i:=pos(s,s1);
whilei<>0
dobegin
delete(s1,i,length(s));
insert(o,s1,i);
i:=pos(s,s1);
end;writeln(s1);
readln;
end.1. 字串的定義。
字串是無限的字元序列,由字串型別定義:
typeString 型別識別符號》=string[n];
var string variable:字串型別識別符號;
其中:n為定義的字串長度,必須是介於0 255之間的自然整數,字串的實際長度儲存在單元0中,由系統在程式執行時自動提供,字串的字元儲存在單元1 n中,如果string[n]寫成字串, 預設值 n 值為 255。
例如:type
man=string[8];
line=string;
varname:man;
screenline:line;
定義字元型別的另一種方法是組合型別描述的變數定義。
例如:var
name:string[8];
screenline:string;
在 TurboPascal 中,字串中的字元可以由其對應的下標靈活使用。
例如:var
name:string;
beginreadln(name);
fori:=1
toord(name[0])
dowriteln(name[i]);
end.
-
Turbo Pascal 語言提供以下標準函式,其中引數是字元,其中 CHR 是字元。
後繼函式 succ(ch):例如,succ('8')='9’ succ (’e’)='f’
對於字符集的最後乙個字元,succ 函式沒有意義。
Pred (ch):例如,pred ('7')='6’ pred (’b’)=' a’
序數函式 ord (ch):給出 ASCII 字符集中字元 ch 的序號,結果為整數。
注:ord ('7')<7,正確的是:ord ('7')=ord('0')+7=48+7=55
如果 ch 是數字字元,則 ord (ch) - ord ('0') 是數值字元的數值,例如:ord ('7')-ord('0')=7
前面描述的字元函式 chr (i) 是 ord (ch 的倒函式),例如 chr (55) = '7' chr (ord('a'))='a’
4.布林型別函式。
Turbo Pascal 語言提供了布林函式,主要是幾個字元函式。
ord (b) 例如 ord (false)=0 ord (true)=1。
我不敢做noi大師,但我參與過noip。
val(copy(s,pos('=',s)+1,pos(' ',s)-pos('=',s)-1),p,t); >>>More