資源描述:
《pascal精要類型、變量及常量》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、PASCAL精要類型、變量及常量PASCAL精要--類型、變量及常量2010-04-2015:31最初的Pascal語言是以一些簡單的概念為基礎建立起來的,這些概念現在普遍出現在編程語言中。最重要的概念當屬數據類型,數據類型決定了變量可取的值,以及可在這些值上進行的操作。Pascal數據類型的概念強于C語言及早期的BASIC語言,在C語言中算術數據類型是可以互換的,而早期的BASIC語言中根本沒有與數據類型相似的概念。變量Pascal變量在使用前必須聲明,聲明變量時必須指定一種數據類型。下面是變量聲明的例子:varValue:Integ
2、er;IsCorrect:Boolean;A,B:Char;關鍵字var可以在許多地方使用,例如放在函數或過程的開始部分,用來聲明函數或過程的局部變量;也可以放在單元中,用于聲明全程變量。var關鍵字之后是一組變量名列表,每個變量名后跟一個冒號和數據類型名,一行中可以聲明多個變量,如上例中最后一句。一旦變量的類型被指定,你只能對變量執(zhí)行該變量類型支持的操作。例如,在判斷操作中用布爾值,在數字表達式中用整型值,你不能將布爾值和整型值混用(在C語言中可以這樣)。使用簡單的賦值語句,可寫出下面的代碼:Value:=10;IsCorrect:=
3、True;但下面的語句是不正確的,因為兩個變量數據類型不同:Value:=IsCorrect;//error在Delphi中編譯這句代碼,會出現錯誤信息:Incompatibletypes:'Integer'and'Boolean'.(類型不兼容:'整型'和'布爾型')。象這樣的錯誤通常是編程錯誤,因為把一個True或False的值賦給一個整型變量沒有什么意義。你不該責怪Delphi提示這樣的錯誤信息,代碼中有不對的地方Delphi當然要提出警告。把變量的值從一種類型轉換到另一種類型往往不難做到,有些情況下類型轉換會自動實現,不過一般情
4、況下需要調用特殊的系統(tǒng)函數,通過改變數據內部表示來實現類型轉換。在Delphi中,當你聲明全程變量時,你可以賦給它一個初值。例如,你可以這樣寫:varValue:Integer=10;Correct:Boolean=True;這種初始化方法只能用于全程變量,不能用于過程或方法的變量。常量對于在程序運行期間保持不變的值,Pascal允許通過常量來聲明。聲明常量不必特定數據類型,但需要賦一個初值。編譯器會根據所賦初值自動選用合適的數據類型。例如:constThousand=1000;Pi=3.14;AuthorName='MarcoCant
5、ù';Delphi根據常量的值來決定它的數據類型。上例中的Thousand變量,Delphi會選用SmallInt數據類型(短整型--能容納Thousand變量的最小整數類型)。如果你想告訴Delphi采用特定的類型,你可在聲明中加入類型名,方法如下:constThousand:Integer=1000;對于聲名的常量,編譯器有兩種編譯選擇:第一種為常量分配內存,并把常量的值放入內存;第二種在常量每次使用時復制常量值。第二種方法比較適合簡單常量。:16位的Delphi允許你在程序運行期間改變已定義的常量值,就象一個變量一樣。32位的De
6、lphi為了向后兼容仍容許這種操作,只要你附加$J編譯指令,或選擇工程選項對話框中Compiler(編譯器)頁的Assignabletypedconstants復選框就行。盡管如此,這里我還是要強烈建議萬不得以不要使用上述操作,因為把新值賦給常量將使編譯器不能對常量進行優(yōu)化,與其如此不如直接聲明一個變量。資源串常量當定義字符串常量時,你可這樣寫:constAuthorName='MarcoCantù';從Delphi3開始,你可以用另一種方式寫:resourcestringAuthorName='MarcoCantù';上面兩個語句都定
7、義了一個常量,也就是定義了一個在程序運行期間保持不變的值,但兩者的實現過程卻不同,用resourcestring指令定義的字符串變量將被保存到程序資源的字符串表中。從例子ResStr你可了解資源串的實際作用,例子中設置了一個按鈕,相應代碼如下:resourcestringAuthorName='MarcoCantù';BookName='EssentialPascal';procedureTForm1.Button1Click(Sender:TObject);beginShowMessage(BookName+#13+AuthorNam
8、e);end;以上代碼中的兩個字符串將分兩行輸出顯示,因為字符串被分行符#13隔開。有趣的是,當你用資源編輯器打開執(zhí)行文件時,你會在程序資源中看到你所定義的字符串。這意味著字符串并沒有進入編譯代碼,而是保存