90 likes | 239 Vues
Pascal porject. 題目 : Chp. 字符串. 目錄 :. 1) 字符串數據類型 ……………………………………… p.1 2) 字符串的基本運算 …………………………………… p.2 3) 字符串運算符 …… …………………………………… p.3 4) 字符串函數 …… ……………………………………… p.4 5) 字符串過程 …………………………………………… p.5. 1) 字符串數據類型. 字符串數據類型這名詞在程序編為中是可以指下列兩種情況 : 字符串常量 及 字符串變量 . 現在讓我們分別說明. 1.1) 字符串常量
E N D
Pascal porject 題目:Chp.字符串 目錄: 1)字符串數據類型………………………………………p.1 2)字符串的基本運算……………………………………p.2 3)字符串運算符…………………………………………p.3 4)字符串函數……………………………………………p.4 5)字符串過程……………………………………………p.5
1)字符串數據類型 字符串數據類型這名詞在程序編為中是可以指下列兩種情況:字符串常量及字符串變量.現在讓我們分別說明. 1.1)字符串常量 字符串常量是放在單引號內的字符序列.只有引號之間才是字符串的內容,而引號本身不是字符串一分.它亦可以在const 說明部分,以命名常量來說明. Example : ‘pascal’ , ’my name is computer ’…… 1.2)字符串變量 在Pascal 中,字符串變量是指在引號中,字符串的長度.它放在保留字,string後.如我們無設定長度,則假設變量預設的最大長度為225個字符. Example : Var Name : String[25]; Class : String[2];
2)字符串的基本運算 我們可以用賦值語句來將值賦予字符串變量: Var Name : String[25]; Class : String[2]; Name := ‘Tam Suk Ching’; Class:=4E 2.1)賦值 被賦的值可以是比變量的說明長度短的字符串.如 : Name和Class的長度分別為13和2個字符.但是如果賦的值比變量的說明為長,此值將被截斷為變量的長度,(只會保留最左邊的字符). 2.2)輸入/輸出 除了賦值語句,我們還可以用readln語句從鍵盤讀取字符串變量的值: Example:Readln ( Name ); Readln(Class); 輸入 的字符串的值不需要用引號括起來,除非此字符包含一個或多個前導空格. 除了可用reandln語句讀取字符串變量的值外,還可以用wrientln和write語句來列印,字符串變量的值及字符串常量. Example:writeln(‘My name is ‘, Name ); writelm (‘ I live in ‘ , Adress );
2.3)存取字符串內的個別符 怎樣先可以引用字符串中的個別字符呢?其實我們可以將字符串當成特別的字符陣列來處理,我們 可以像引用陣列處理的, 引用陣列中的個別元素一樣,引用字符串中的個別字符. Example:我們可以用表示法Name[1]來存取字符串Name的第一個字符.如果字符的值是‘May’ 存取的字符為‘M’. WHY???……… Name[1] Name[2] Name[3] 圖1.1 我們睇左圖便會知: Name代表所選取的字符串變量. 數字代表字符串中的字符位置 這種存方法可用於更改字符串中個別字符的值.我們可以用賦值語句來將字符賦予給字符串變量. Name[1] := ‘ S’ ; Name[2] : =‘U’ ; Name [3] : = ‘ e’ 這樣Name 會變成‘Sue’ 我們更可以用陣列索引一樣的方式,用索引I來存取字符串第I個字符.若要逐個輸出字符串中的字符,我們便可寫成 : :for i:= 1 to 3 writeln ( name[i] ) ; 注意:Pascal中,我們必須留心不要把長度為1的字符串變量, 跟類型char的變量弄混洧,兩者並非互相兼容.
2.4)比較 和數字一樣, 字符串也可以作出比較.我們可以用以下符號進行比較 : < , > , = ,<= ,.=>,和 <> 我們會用字符的ACII值比較字符的值.如果字符的ACII值比另一字符大,則此字符的值較大 Example:‘A’比‘F’小,因為‘A’的ASCII值是65,而‘F’的ASCII值是70. 不如我們比較一不‘Apple’ 和 ‘About’: 首一個相同 所以Apple>About. p大於b 注意:在比較字符串,前導與尾隨的都是有意義的,好似字符串‘Apple ’就大過 ‘Apple’因為前 者 較長.除了這樣外,我們還要留意大寫字母的ASCII值與小寫字母的ASSCII值是有分別.因為大寫字 母的ASCII值是小於小寫字母的ASSCII值. 2.5)字符串變量初始化 字符串與其他任何數據類型一樣,只要未賦值,字符串變量都是未初始化的 .未被初始化的字符串可能含有未知的值 若要將字符串變量初值設為空字符串,我們可寫成: Sentence := ‘ ’ 字符串變量 代表空格
3)字符串運算符 將字符串連接,組成長的字符串的過程稱連接.我們可以用字符串運算符[+]來連接字符串. 字符串的表達式 是 : <字符串 1> + <字符串 2> + <字符串 3 >+……+ <字符串 n >回 送一字符串.這字符串是按次序連接而成的. Example:現在我們將‘home’和 ‘work’連埋一起. 我們可以在‘home’與 ‘work’之間加上一個‘+’號.即係‘home’+’work’.在運算後就成‘homework’ 在程序段: String 1 := ‘home’; String 2 := ‘work’ ; String 3 :=‘Strinr 1’ + ‘String 2’ Writeln ( String 3); 會輸出: homework 如果我們要在兩個字符串中間加上空格,可將語句寫成: String := ‘String 1’ + ‘ ’ + ‘ String 2 ’ 這樣便輸出: 代表空格 home work
4)字符串函數 4.1)length length是用來回送<字符串>的長度.字符串的長度是指字符串中的字符數目. L := length ( ‘computer’ ) 這樣便將值8賦予給 L 同樣地,語句 Name := ‘Mary Chan’; writeln( length ( Name ) ); 將空字符串賦予Instr.空字符串就是有零個符的字符串.因此,函數length(Instr)回送的值為零. 輸出便會是9 Instr := ‘ ’ 注意:千萬不要將空字符串與含有空格的字符串混淆. 4.2)copy