pascal編程語言中的變量和常量

pascal編程語言中的變量和常量

ID:15390698

大?。?39.00 KB

頁數(shù):13頁

時間:2018-08-03

pascal編程語言中的變量和常量_第1頁
pascal編程語言中的變量和常量_第2頁
pascal編程語言中的變量和常量_第3頁
pascal編程語言中的變量和常量_第4頁
pascal編程語言中的變量和常量_第5頁
資源描述:

《pascal編程語言中的變量和常量》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、變量Pascal變量在使用前必須聲明,聲明變量時必須指定一種數(shù)據(jù)類型。下面是變量聲明的例子:varValue:Integer;IsCorrect:Boolean;A,B:Char;關(guān)鍵字var可以在許多地方使用,例如放在函數(shù)或過程的開始部分,用來聲明函數(shù)或過程的局部變量;也可以放在單元中,用于聲明全程變量。var關(guān)鍵字之后是一組變量名列表,每個變量名后跟一個冒號和數(shù)據(jù)類型名,一行中可以聲明多個變量,如上例中最后一句。一旦變量的類型被指定,你只能對變量執(zhí)行該變量類型支持的操作。例如,在判斷操作中用布爾值,在數(shù)字表達式中用整型值,你不能將布爾值和整型值混用(在C語言中可以這樣)。使用簡單的賦值語

2、句,可寫出下面的代碼:Value:=10;IsCorrect:=True;但下面的語句是不正確的,因為兩個變量數(shù)據(jù)類型不同:Value:=IsCorrect;//error在Delphi中編譯這句代碼,會出現(xiàn)錯誤信息:Incompatibletypes:'Integer'and'Boolean'.(類型不兼容:‘整型’和‘布爾型’)。象這樣的錯誤通常是編程錯誤,因為把一個True或False的值賦給一個整型變量沒有什么意義。你不該責怪Delphi提示這樣的錯誤信息,代碼中有不對的地方Delphi當然要提出警告。把變量的值從一種類型轉(zhuǎn)換到另一種類型往往不難做到,有些情況下類型轉(zhuǎn)換會自動實現(xiàn),不

3、過一般情況下需要調(diào)用特殊的系統(tǒng)函數(shù),通過改變數(shù)據(jù)內(nèi)部表示來實現(xiàn)類型轉(zhuǎn)換。在Delphi中,當你聲明全程變量時,你可以賦給它一個初值。例如,你可以這樣寫:varValue:Integer=10;Correct:Boolean=True;這種初始化方法只能用于全程變量,不能用于過程或方法的變量。常量對于在程序運行期間保持不變的值,Pascal允許通過常量來聲明。聲明常量不必特定數(shù)據(jù)類型,但需要賦一個初值。編譯器會根據(jù)所賦初值自動選用合適的數(shù)據(jù)類型。例如:constThousand=1000;Pi=3.14;AuthorName='MarcoCantù';Delphi根據(jù)常量的值來決定它的數(shù)據(jù)類型

4、。上例中的Thousand變量,Delphi會選用SmallInt數(shù)據(jù)類型(短整型--能容納Thousand變量的最小整數(shù)類型)。如果你想告訴Delphi采用特定的類型,你可在聲明中加入類型名,方法如下:constThousand:Integer=1000;對于聲名的常量,編譯器有兩種編譯選擇:第一種為常量分配內(nèi)存,并把常量的值放入內(nèi)存;第二種在常量每次使用時復制常量值。第二種方法比較適合簡單常量。注意:16位的Delphi允許你在程序運行期間改變已定義的常量值,就象一個變量一樣。32位的Delphi為了向后兼容仍容許這種操作,只要你附加$J編譯指令,或選擇工程選項對話框中Compiler(

5、編譯器)頁的Assignabletypedconstants復選框就行。盡管如此,這里我還是要強烈建議萬不得以不要使用上述操作,因為把新值賦給常量將使編譯器不能對常量進行優(yōu)化,與其如此不如直接聲明一個變量。資源串常量當定義字符串常量時,你可這樣寫:constAuthorName='MarcoCantù';從Delphi3開始,你可以用另一種方式寫:resourcestringAuthorName='MarcoCantù';上面兩個語句都定義了一個常量,也就是定義了一個在程序運行期間保持不變的值,但兩者的實現(xiàn)過程卻不同,用resourcestring指令定義的字符串變量將被保存到程序資源的字符

6、串表中。從例子ResStr你可了解資源串的實際作用,例子中設(shè)置了一個按鈕,相應(yīng)代碼如下:resourcestringAuthorName='MarcoCantù';BookName='EssentialPascal';procedureTForm1.Button1Click(Sender:TObject);beginShowMessage(BookName+#13+AuthorName);end;以上代碼中的兩個字符串將分兩行輸出顯示,因為字符串被分行符#13隔開。有趣的是,當你用資源編輯器打開執(zhí)行文件時,你會在程序資源中看到你所定義的字符串。這意味著字符串并沒有進入編譯代碼,而是保存在執(zhí)行

7、文件(EXE文件)的一個單獨區(qū)域。注意:簡而言之,采用資源的好處一方面可讓Windows來完成有效的內(nèi)存處理,另一方面不用更改源代碼就可實現(xiàn)程序的本地化(把字符串翻譯成不同的語言)。數(shù)據(jù)類型Pascal中有多種預(yù)定義的數(shù)據(jù)類型,它們可分為三大類:有序數(shù)據(jù)類型,實數(shù)類型和字符串類型。下面我們先討論有序類型和實數(shù)類型,字符串類型放在以后討論。同時這一節(jié)還將介紹幾種Delphi庫中定義的類型(不是編譯器預(yù)定義的類型

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。