第二課程序組成、基本數(shù)據(jù)類型、表達(dá)式_第1頁
第二課程序組成、基本數(shù)據(jù)類型、表達(dá)式_第2頁
第二課程序組成、基本數(shù)據(jù)類型、表達(dá)式_第3頁
第二課程序組成、基本數(shù)據(jù)類型、表達(dá)式_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余14頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第 二 課程序組成程序組成、基本數(shù)據(jù)類型、表達(dá)式我們以上一章練習(xí)題為例說明Pascal程序的結(jié)構(gòu)形式: program area_of_circle(input,output);程序首部 Declaration Part const pi=3.1416; 說明部分 var s,r:real; Excutable Part 分程序 begin readln(r); s:=pi*sqr(r); 執(zhí)行部分 writeln(S=,s) end. 每個Pascal程序均由程序首部和分程序組成,用句號表示結(jié)束,即: 程序 = 程序首部 + 分程序.第 二 課程序組成程序組成、基本數(shù)據(jù)類型、表達(dá)式程序首部程

2、序首部程 序 首 部 是 程 序 的 開 頭 部 分 , 由“program”這個固定的字及隨后的程序名和程序參數(shù)表組成,以分號結(jié)束。程序名由用戶自己定義,例如上述求圓面積的程序被定義為area_of_circle。程序參數(shù)表表示程序的輸入和輸出對象,對于通常的輸入設(shè)備(鍵盤)和輸出設(shè)備(屏幕)Turbo Pascal允許省略。甚至Turbo Pascal還允許將整個程序首部省略。此外,在一對大括號 內(nèi)的內(nèi)容為注釋,注釋可出現(xiàn)在Pascal程序的任何位置上,對程序的某一段或某一語句加以解釋,僅供用戶閱讀,對程序的運(yùn)行不起任何作用。Program Area_of_Circle Program A

3、rea_of_Circle (input,output); ; Declaration Part const pi = 3.1416;const pi = 3.1416;varvar s,r : real; s,r : real; Excutable Part beginbegin writeln(Please writeln(Please input radius: ); input radius: ); readln(r readln(r);); s := Pi s := Pi* *sqr(rsqr(r);); writeln(S writeln(S = ,s); = ,s); readl

4、n readln; ;end.end.第 二 課程序組成程序組成、基本數(shù)據(jù)類型、表達(dá)式分程序分程序由程序的說明部分和執(zhí)行部分組成。1、程序的說明部分程序的說明部分Pascal語言有一個與簡單語言的不同之處:凡在程序中使用的常量、變量等都需說明,即都必須在說明部分說明之后才能使用。在示例中,第三、第四行分別是常量和變量的說明:pi取不變量3.1416,s、r是二個實型變量。具體說明方法將在以后的有關(guān)內(nèi)容中作詳細(xì)介紹。2、程序的執(zhí)行部分程序的執(zhí)行部分自begin開始至end結(jié)束的這部分稱為程序的執(zhí)行部分。它由一系列的語句組成。語句之間用分號“;”隔開。執(zhí)行部分所有的語句完成整個程序設(shè)計的任務(wù)。示例

5、中的執(zhí)行部分由輸出提示語句、輸入半徑r,計算圓面積s及輸出圓面積s四條語句組成。begin和end僅作為起止標(biāo)志。Turbo Pascal的書寫格式比較靈活,允許一行寫幾條語句,也允許條一語句寫成多行。為了提高程序的可讀性和便于糾錯,Pascal程序提倡用鋸齒形書寫格式,本書中的程序書寫都將采用這種格式。Program Area_of_Circle Program Area_of_Circle (input,output); ; Declaration Part Const pi = 3.1416;Const pi = 3.1416;varvar s,r : real; s,r : real;

6、 Excutable Part beginbegin writeln(Please writeln(Please input radius: ); input radius: ); readln(r readln(r);); s := Pi s := Pi* *sqr(rsqr(r);); writeln(S writeln(S = ,s); = ,s); readln readln; ;end.end.第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式第二節(jié)第二節(jié) 基本語法單位基本語法單位 Pascal語言中任何復(fù)雜的語句都由一些基本的單位組成,這些基本語法單位有:一、保留字一、保留字(

7、(或關(guān)鍵字或關(guān)鍵字) ) 指Pascal中具有特定含義的一些符號,不能再另作它用。例如“begin”、“end”、“const”、“var”等都有專門的用途,不能作為程序名或變量名。Turbo Pascal 7.0共有51個保留字。二、標(biāo)識符二、標(biāo)識符 標(biāo)識符用來標(biāo)識(表示)各種對象的名稱。可以標(biāo)識常量、變量、程序等。例如示例中的area_of_circle(程序名)、pi(符號常量)、s和r(變量名)都屬標(biāo)識符。Turbo Pascal規(guī)定:標(biāo)識符必須由字母開頭的字母、數(shù)字和含下劃線組成,有效長度不超過63個字符,且不分大小寫。 標(biāo)識符又可分為兩種: 1 1、標(biāo)準(zhǔn)標(biāo)識符、標(biāo)準(zhǔn)標(biāo)識符:指Pas

8、cal系統(tǒng)預(yù)先定義好的標(biāo)識符,故又稱預(yù)定義標(biāo)識符,具有特定含義。例如:integer、real用于標(biāo)識類型,read、write用于標(biāo)識過程等等。 2 2、用戶定義標(biāo)識符、用戶定義標(biāo)識符:由用戶自己定義的標(biāo)識符。例如定義一個變量名或一個程序名。在定義標(biāo)識符時應(yīng)注意,盡量用具有一定含義的英文單詞(或漢語拼音)命名,讓人一看到某個變量名或程序名就知道表示什么,即所謂的“見名知義”。例如sum表示求和,sub表示子程序等等。但要禁止使用保留字或標(biāo)準(zhǔn)標(biāo)識符作為用戶標(biāo)識符。第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式第三節(jié)第三節(jié) 數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)是程序設(shè)計的一個重要內(nèi)容,其重要特征-數(shù)據(jù)類型

9、,確定了該數(shù)據(jù)的形式、取值范圍及所能參與的運(yùn)算。Turbo Pascal語言提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型可分為以下三大類:整型標(biāo)準(zhǔn)類型實型字符型 簡單類型 布爾型用戶自定義類型枚舉型 子界型 數(shù)組類型(包含字符串類型) 記錄類型 數(shù)據(jù)類型 結(jié)構(gòu)類型 集合類型 文件類型 指針類型簡單類型、結(jié)構(gòu)類型和指針類型。在本節(jié)先介紹屬于簡單類型中的整數(shù)、實型、字符型和布爾型四種標(biāo)準(zhǔn)數(shù)據(jù)類型。第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式一、整數(shù)類型一、整數(shù)類型通常的整數(shù)類型包括正整數(shù)、負(fù)整數(shù)和零。整數(shù)只能由正負(fù)號和數(shù)字組成,正整數(shù)可以省去符號“+”。Pascal語言用標(biāo)識符integer表示整數(shù)

10、類型。整型數(shù)范圍為-32768,32767。例如: 385、0、+4334、-6785 都是合法的整數(shù)。 78,542、7.00、45A 都是非法的整數(shù)。Turbo Pascal還支持另四種預(yù)定義整型,它們是shortint(短整型)、 longint(長整型)、 byte(字節(jié)型)和 word(字類型),Turbo Pascal分別用相同的名字作為他們的標(biāo)識符。每一種類型規(guī)定了相應(yīng)的整數(shù)取值范圍以及所占用的內(nèi)存字節(jié)數(shù)。從中可以看出取值范圍大或有效位數(shù)多的類型占用的內(nèi)存字節(jié)數(shù)也多,有些類型不包括負(fù)數(shù)。第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式類型數(shù)值范圍占字節(jié)數(shù)格式shortint-

11、128.1281帶符號8位inteter-32768.327672帶符號16位longint-2147483648.21474836474帶符號32位byte0.2551帶符號8位word0.655352帶符號16位Turbo Pascal規(guī)定了兩個預(yù)定義整型常量標(biāo)識符maxint和maxlonint,它們各表示確定的常數(shù)值,maxint為32767, longint為2147483647,他們的類型分別是integer 和longint。第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式二、實數(shù)類型二、實數(shù)類型實數(shù)類型的數(shù)據(jù)包括正實數(shù)、負(fù)實數(shù)和實數(shù)零。Pascal語言中以二種方法表示實數(shù):

12、1、通常帶小數(shù)的實數(shù)表示法。例如: 4.51、-3.87、+0.0都是合法的。2、科學(xué)記數(shù)法。例如: 4.85E+2 表示4.85102 -1.384E2 表示-1.384102 -7.65E-5 表示-7.6510-5 在科學(xué)記數(shù)法中,字母“E”表示10這個“底數(shù)”,而E之前為一個十進(jìn)制表示的小數(shù),稱為尾數(shù),E之后必須為一個整數(shù),稱為“指數(shù)”。 如-1234.56E+26 , +0.268E-5 , 1E5是合法形式,而 .34E12 、2.E5 、E5、E、1.2E+0.5都不是合法形式的實數(shù)。 第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式Pascal語言用標(biāo)識符real表示實數(shù)類

13、型。實數(shù)的范圍為10-381038。無論實數(shù)是用十進(jìn)制表示法還是科學(xué)表示法,在計算機(jī)內(nèi)的表示形式是一樣的,總是用“浮點(diǎn)方式”存儲。和整數(shù)相比,實數(shù)能表示的范圍大得多,但值得注意的是實數(shù)的運(yùn)算比整數(shù)的運(yùn)算速度慢且無法像整數(shù)那樣精確表示,只能近似表示。 Turbo Pascal還支持另四種預(yù)定義實型,它們是single(單精度實型)、double(雙精度實型)、extended(擴(kuò)展實型)、comp(裝配實型),Turbo Pascal分別用相同的名字作為他們的標(biāo)識符。每一種類型規(guī)定了相應(yīng)的實數(shù)取值范圍、所占用的內(nèi)存字節(jié)數(shù)以及它們所能達(dá)到的精度。同樣,實型類型取值范圍大相應(yīng)的占用內(nèi)存字節(jié)數(shù)也多。類

14、型數(shù)值范圍占字節(jié)數(shù)有效位數(shù)real2.9e-39.1.7e38611.12single1.5e-45.3.4e3847.8double5.0e-324.1.7e308815.16extended3.4e-4932.1.1e49321019.20comp-263+1.263-1819.20第 二 課程序組成、基本數(shù)據(jù)類型基本數(shù)據(jù)類型、表達(dá)式三、字符類型三、字符類型在Pascal語言中,字符常量是由單個字符組成,所有字符來自ASCII字符集,共有256個字符。在程序中,通常用一對單引號將單個字符括起來表示一個字符常量。如:a,A,9 等。特殊地,對于單引號字符,則要表示成(四個單引號)。對于ASC

15、II字符集中,按每個字符在字符集中的位置,將其編為0255,稱為對應(yīng)字符的序號。Pascal語言中用標(biāo)識符char表示字符類型。四、布爾類型四、布爾類型 布爾類型的數(shù)據(jù)只有兩個:真,用true表示;假,用false表示。 它們的序號分別為1和0。 布爾類型的標(biāo)識符為boolean。 這四種標(biāo)準(zhǔn)類型中,除實數(shù)類型外的其他類型均屬順序類型,即在該類型的任意兩個相鄰常量中不可能插入第三個量介于這兩個量之間。第 二 課常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式一、一、常量常量和和符號常量符號常量一個常量即可以直接用字面形式表示(稱為直接常量,124、156.8),也可以用一個標(biāo)識符來代表

16、一個常量,稱為“符號常量”。但符號常量必須在程序中的說明部分定義,也就是說先定義,后使用。定義符號常量的一般格式:const =說明:常量說明部分以關(guān)鍵字const開頭, 后面的標(biāo)識符為常量標(biāo)識符,其中“=”號后的常量為整數(shù)、實數(shù)、字符。而且,在常量說明部分可以將幾個常量說明成符號常量,共用一個關(guān)鍵字“const”。在本程序中pi作為符號常量,代表實數(shù)3.14159。也就是說,常量說明部分既定義了常量名及其值,又隱含定義了常量的類型。關(guān)于符號常量,應(yīng)注意下列幾點(diǎn):符號常量一經(jīng)定義,在程序的執(zhí)行部分就只能使用該常量標(biāo)識符,而不能修改其值。使用符號常量比直接用數(shù)值更能體現(xiàn)“見名知義”的原則,也便于

17、修改其值,故一個較好的程序中,應(yīng)盡量使用符號常量。例如例如: : program ex; program ex; const const pi=3.14159; pi=3.14159; begin begin readln(r readln(r);); s:=pi s:=pi* *r r* *r;r; writeln(s writeln(s) ) end. end.第 二 課常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式二、二、變量變量變量代表了一個存儲單元,其中的值是可變的,故稱為變量。如游戲“魂斗羅”中玩者命的個數(shù)最初為3,當(dāng)你死了一次命減少1,這里命的個數(shù)就是一個變量(或者說命

18、的個數(shù)存儲在一個存儲單元中)。在程序運(yùn)行過程中,其值可以改變的量,稱為變量。作為變量有三個要素:變量名、變量類型、變量值。一個程序中可能要使用到若干個變量,為了區(qū)別不同的變量,必須給每個變量(存貯單元)取一個名(稱為變量名),該變量(存貯單元)存放的值稱為變量的值,變量中能夠存放值的類型為變量的類型。例如 “魂斗羅”游戲中用于存放“命”的變量,在游戲程序中的名字可取為N,它的類型為整型,游戲初始時這個變量的值為3。 1、變量名用一個合法的標(biāo)識符代表一個變量。如n、m、rot、total 等都是合法變量名。在程序中用到的變量必須在說明部分加以說明,變量名應(yīng)遵循自定義標(biāo)識符的命名規(guī)則,并注意“見名

19、知義”的原則。2、變量的類型常量是有類型的數(shù)據(jù),變量在某一固定時刻用來存放一個常量,因此也應(yīng)有相應(yīng)的類型。如整型變量用來存放整數(shù),實型變量用來存放實數(shù)。第 二 課常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式例如:varvar age,day : integer, age,day : integer, amount,average : real; amount,average : real; 其中,integer(整型)、real(實型)是標(biāo)準(zhǔn)標(biāo)識符,它們是用來說明變量類型的“類型標(biāo)識符”,代表了確定的類型,如age和 day 被定義為整型變量,amount和average被定義為實

20、型變量。一旦定義了變量,就確定了它的類型,也就是確定了該變量的取值范圍和對該變量所能進(jìn)行的運(yùn)算。3、變量說明在程序中若要使用變量,變量的名稱及類型在程序的變量說明部分加以定義,變量的值則在程序的執(zhí)行部分中才能賦給。變量說明的一般格式:var ,: : ; (中括號內(nèi)部分表示可省去)其中var是pascal保留字,表示一個變量說明段的開始, 每個變量標(biāo)識符或由逗號隔開的多個變量標(biāo)識, 必須在它的冒號后面說明成同一類型。一個程序中,可以說明許多不同類型的變量,每種類型變量之間用分號隔開,共用一個var符號。第 二 課常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式三、算術(shù)表達(dá)式三、算術(shù)表達(dá)

21、式1、算術(shù)表達(dá)式的定義pascal語言中的算術(shù)表達(dá)式是由符合pascal語法規(guī)定的運(yùn)算對象(包括常量、變量、函數(shù))、算術(shù)運(yùn)算符、圓括號組成的有意義的式子。如:A+3.14159*5/8.4-Abs(-1123)2、算術(shù)運(yùn)算符常用的有以下6個算術(shù)運(yùn)算符: (加) (減) (乘) (實數(shù)除)得到結(jié)果為實型.如5.0/2.0=2.5, 5/2= 2. 5,4/2=2.0而不等于2。DIV (整除) DIV它要求除數(shù)和被除數(shù)均為整型, 結(jié)果也為整型。如10 DIV 2=5、10 DIV 3=3、 5 DIV 10=0、 -15 DIV 4= -3。DIV運(yùn)算只取商的整數(shù)部分,參與DIV運(yùn)算的兩個對象不

22、能為實型。MOD (求余),也只能用于整數(shù)運(yùn)算,結(jié)果為整數(shù)。例如:10 mod 4 = 2 、-17 mod 4= -1、4 mod (-3) = 1、- 4 mod 3 = -1,即 a mod b = a - (a div b) * b。第 二 課常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式3、運(yùn)算優(yōu)先順序如果一個表達(dá)式里出現(xiàn)兩個或兩個以上的運(yùn)算符, 則必須規(guī)定它們的運(yùn)算次序。pascal規(guī)定:表達(dá)式中相同優(yōu)先級的運(yùn)算符,按從左到右順序計算;表達(dá)式中不同優(yōu)先級的運(yùn)算符,按從高到低順序計算;括號優(yōu)先級最高,從內(nèi)到外逐層降低。 在算術(shù)運(yùn)算中運(yùn)算符的優(yōu)先順序與數(shù)學(xué)上的四則運(yùn)算一致,即“先乘除后加減”(注:“MOD”、“DIV”運(yùn)算的優(yōu)先級與“”、“/”相同)。 概括起來,算術(shù)表達(dá)式中各運(yùn)算符的次序為: ()()函數(shù)函數(shù)* *、/ /、divdiv、mod+mod+、- - 算術(shù)表達(dá)式是用算術(shù)運(yùn)算符聯(lián)結(jié)常量、變量、函數(shù)的式子。其中變量必須有確定的值。一個常量、一個變量或一個函數(shù)也看作是一個表達(dá)式。 例如:a=21,b=4,c=3,d=2,e=3時, a-b*c div d mod e 的結(jié)果為21。第 二 課常量、變量、標(biāo)準(zhǔn)函數(shù)和表達(dá)式常量、變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論