數(shù)據(jù)類型函數(shù)表達式_第1頁
數(shù)據(jù)類型函數(shù)表達式_第2頁
數(shù)據(jù)類型函數(shù)表達式_第3頁
數(shù)據(jù)類型函數(shù)表達式_第4頁
數(shù)據(jù)類型函數(shù)表達式_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.5.1常量和變量1.常數(shù)常量是具有固定值的數(shù)據(jù)。VFP常量有六種茄子類型:(1)數(shù)字常數(shù)(Numeric,縮寫n型)數(shù)字常數(shù)是表示數(shù)字0到9、小數(shù)點和符號組成的數(shù)量大小的常數(shù)。表示法可以是整數(shù)(例如123)、小數(shù)(例如0.238)、負數(shù)(例如-7.69)或以科學(xué)記數(shù)法表示的數(shù)字(例如0.2158E6或0.2158106)。數(shù)字?jǐn)?shù)據(jù)在內(nèi)存中占用8字節(jié)存儲空間。(2)文字常數(shù)(Character,c型)基于字符的常量是用分隔符括起來的字符串。分隔符可以是單引號()、雙引號()或方括號()。例如Visual FoxPro 6.0、程式設(shè)計、關(guān)系數(shù)據(jù)庫等。定義和使用基于文字的常量時,請注意以下事項

2、:(1)必須在字符串的兩端附加分隔符。否則,系統(tǒng)會將字符串視為變量名。2)分隔符只能是ASCII代碼字符(即半角字符),不能是全角字符。3)左右分隔符必須匹配。也就是說,如果左側(cè)是雙引號,則右側(cè)也必須是雙引號。4)分隔符可以嵌套,但相同的分隔符不能徐璐嵌套。也就是說,如果特定分隔符本身也是字符串的內(nèi)容,則必須使用其他分隔符分隔字符串。例如:合法字符串:諺語云:“全世界都是兄弟”非法字符串:“諺語云:“全世界所有的兄弟?!弊址淖畲箝L度(包括最大字符數(shù))為254個字符。例如,Visual FoxPro 6.0的長度為17,關(guān)系數(shù)據(jù)庫的長度為10。不包含任何字符的字符串()稱為空字符串,該空字符

3、串與包含空格的字符串()不同。(3)邏輯常數(shù)(邏輯,簡稱l型)邏輯常量通常只有兩個值:真和假。輸入邏輯“真”值.t .t .或。y .y .可以輸入邏輯“false”值.f .f .或。n.使用前后兩個句點作為邏輯常數(shù)的分隔符是必要的。否則,可能被誤認為變量名。邏輯常量僅使用單字節(jié)存儲空間。(4)貨幣型常數(shù)(Currency,簡稱y型)貨幣常數(shù)用于表示貨幣值。寫入時以“$”符號開頭,可以保留小數(shù)位數(shù)。如果小數(shù)部分超過4位,前4位將自動四舍五入。例如,123美元。會儲存為123.4568美元。貨幣常數(shù)在內(nèi)存中占用8個字節(jié)。(5)基于日期的常量(Date,縮寫d型)基于日期的常量用于表示日期。該分

4、隔符用一對花括號()將括號中的年、月和日分隔成分隔符。常用的日期分隔符包括斜線(/)、連字符(-)和句號(.)和空格,默認情況下,系統(tǒng)使用斜線(/)分隔符?;谌掌诘某A坑袃煞N格式:1)現(xiàn)有日期格式系統(tǒng)默認日期類型數(shù)據(jù)采用美國日期格式mm/dd/yy(月/日/年)。其中月、日分別是2位數(shù)字,年可以是2位或4位數(shù)字。2)嚴(yán)格的日期格式嚴(yán)格的日期格式可以用yyyy-mm 651- DD表示精確的日期,使用嚴(yán)格的日期格式非常方便,尤其是在輸入基于日期的常量時。請注意,牙齒日期格式在寫入時,大括號內(nèi)的第一個字符必須是脫字符()。年度必須為4位數(shù)??梢杂谩?”替換-分隔符。不能顛倒年、月、日的順序,不能

5、設(shè)置默認值。3)影響日期格式的設(shè)置命令在牙齒書中,介紹命令時方括號()中的內(nèi)容表示選擇。尖括號()的內(nèi)容表示必需的選項。以豎線()分隔的內(nèi)容表示選項之一。格式1: set century on | off說明:用于設(shè)置年份的位數(shù)。ON設(shè)置年份是4位數(shù)字表示。OFF將年份設(shè)置為2位數(shù)字表示法。示例:SET CENTURY ON-嗯?2002-06-28結(jié)果為06/28/2002SET CENTURY OFF-嗯?2002-06-28結(jié)果為06/28/02其中的命令?expression表示計算和輸出表達式的值?!啊北硎狙例X命令行的注釋在后面。格式2: set strict date to 0 |

6、 1說明:您可以設(shè)置是否檢查日期格式。0表示不執(zhí)行嚴(yán)格的日期格式檢查。1表示執(zhí)行嚴(yán)格的日期格式檢查,這是系統(tǒng)默認設(shè)置。示例:SET STRICTDATE TO 0-嗯?05/01/03結(jié)果為05/01/03SET STRICTDATE TO 1-嗯?05/01/03結(jié)果是錯誤提示:模糊的日期常數(shù)日期常量以8字節(jié)存儲,范圍為0001-01-01至9999-12-31。(6)日期時間常數(shù)(Date Time,t-type)這包括兩部分日期和時間,嚴(yán)格的格式為yyyy 651- mm 651- DD , hh :mm :ss a | p。其中hh、mm和ss分別代表小時、分鐘和秒,A和P分別代表上午

7、和下午。例如,2001-10-01,01,10:10336010a 表示2001年十月一日上午10:10點10分10秒。日期時間數(shù)據(jù)以8字節(jié)存儲。2.變量在命令操作或節(jié)目執(zhí)行過程中值可以更改的量稱為變量。在VFP中,變量可以分為四類:字段變量、內(nèi)存變量、數(shù)組變量和系統(tǒng)變量。(1)字段變量字段變量是數(shù)據(jù)庫中定義的變量,每個字段名稱都是字段變量。字段變量是多值變量,其當(dāng)前值成為表中的當(dāng)前唱片值。字段變量在設(shè)置表的結(jié)構(gòu)時定義,必須附加到數(shù)據(jù)表,打開和關(guān)閉數(shù)據(jù)表時必須存儲在內(nèi)存中并釋放。(2)內(nèi)存變量內(nèi)存變量是內(nèi)存中的臨時存儲設(shè)備,用于存儲在命令或節(jié)目執(zhí)行過程中臨時使用的輸入、輸出或中間數(shù)據(jù),并根據(jù)需

8、要定義或刪除。1)定義內(nèi)存變量命名內(nèi)存變量時,必須先指定名稱。內(nèi)存變量的命名約定如下:從字母、漢字或下劃線開始。由字母、漢字、下劃線或數(shù)字組成。長度不超過128個字符。例如,x1、Number_2、名稱等都是有效的內(nèi)存變量名稱。2)內(nèi)存變量分配自定義內(nèi)存變量包含7種茄子類型:n、c、l、d、t、y、s(基于屏幕),其類型由分配的值的類型決定。內(nèi)存變量的分配命令有兩種茄子格式:格式1:內(nèi)存變量名=表達式格式2: sTOre表達式到內(nèi)存變量名稱表說明:賦值命令的功能是計算表達式的值,并將結(jié)果分配給內(nèi)存變量。兩種形式的分配命令的區(qū)別在于“=”命令只能將表達式的值分配給一個內(nèi)存變量,而STORE命令可

9、以將同一表達式的值分配給多個內(nèi)存變量(各個變量名稱之間以逗號分隔)。在VFP中,如果在使用內(nèi)存變量之前沒有預(yù)先聲明或定義內(nèi)存變量,并且使用分配命令為變量賦值時變量不存在,則在指定值時會自動設(shè)置內(nèi)存變量的值和類型。相同的內(nèi)存變量可以多次指定值,最后可以基于指定的值。例如:x=1內(nèi)存變量x為n形,值為8Name=“張華”內(nèi)存變量Name是c型的,值是張華STORE x 2 TO y,z計算x 2,并將結(jié)果3分別分配給內(nèi)存變量y,z注意:“=”是指定編號,內(nèi)存變量名稱必須放置在指定編號的左側(cè)。3)內(nèi)存變量的輸出格式1:內(nèi)存變量名稱表格式2:-嗯?內(nèi)存變量表說明:格式1的功能是通過換行來輸出每個變量值

10、。如果未指定內(nèi)存變量,格式只能輸出一個回車符換行符。格式2的功能是將每個變量的值直接輸出到當(dāng)前行的光標(biāo)位置。例如:a,b將光標(biāo)從當(dāng)前行移動到下一行的開頭,以顯示a和b的值-嗯?-嗯?a,b顯示從光標(biāo)當(dāng)前位置開始的a和b的值-嗯?計算2*3,4 5 2*3,4 5的值,并將其顯示在下一行的開頭。6 94)內(nèi)存變量和字段變量之間的區(qū)別字段變量是表格結(jié)構(gòu)的一部分,因此要使用字段變量,必須先打開包含字段的表格。內(nèi)存變量獨立于數(shù)據(jù)庫文件存在,與表無關(guān)。內(nèi)存變量和字段變量可以同名。在牙齒情況下,可以優(yōu)先訪問字段變量。要顯式指定訪問內(nèi)存變量,必須在內(nèi)存變量名稱前加上M .或M-前綴以指示差異。例如:-嗯?m

11、 .名稱顯示內(nèi)存變量名稱的值(3)陣列變數(shù)陣列是經(jīng)過排序的記憶體變數(shù)集合,每個記憶體變數(shù)都是陣列元素。陣列元素會顯示為陣列名稱和對齊陣列中位置的下標(biāo)。下標(biāo)的數(shù)量稱為數(shù)組的維數(shù)。可以用括號“()”或方括號“”括住數(shù)組下標(biāo)。例如,A(1)表示一維數(shù)組A的第一個元素,B(2,5)表示二維數(shù)組B的第二行、第五列元素。VFP僅使用一維數(shù)組和二維數(shù)組,并且必須在使用數(shù)組之前定義。1)陣列的定義格式:DIMENSION|DECLARE陣列名稱(下標(biāo)上限1,下標(biāo)上限2) ,說明:牙齒命令的功能是定義一維陣列或二維陣列及其下標(biāo)的上限。下標(biāo)的下限系統(tǒng)規(guī)定總是1。例如:DIMENSION a(5),b(2,3)定義

12、一維陣列a和二維陣列b2)分配陣列定義陣列后,會自動將初始值. f .指定給每個陣列元素。整個數(shù)組的數(shù)據(jù)類型為A(Array),使用分配命令可以為數(shù)組中的每個元素分配相同的值,也可以徐璐為每個元素分配不同類型的值。例如,如果,A(1)= yumi 賦予陣列元素a(1)表示名稱的字符串“yumi”A(2)=20為數(shù)組元素A(2)分配數(shù)字20以表示年齡B=1將相同的數(shù)字1分配給數(shù)組b中的六個元素一維數(shù)組中的每個元素按下標(biāo)順序存儲在內(nèi)存中。二維數(shù)組的每個元素以行順序存儲在內(nèi)存中,使用時,還可以作為一維數(shù)組訪問二維數(shù)組。例如,二維數(shù)組B的元素b(2,1)位于第2行1列中。也可以顯示為b(4),因為每行

13、有三個元素。(4)系統(tǒng)變量系統(tǒng)變量是在VFP系統(tǒng)本身中定義的內(nèi)存變量。系統(tǒng)變量名稱全部由系統(tǒng)定義,以下劃線(_)開頭。系統(tǒng)變量控制外部設(shè)備(例如打印機、鼠標(biāo)等)、屏幕輸出格式和有關(guān)日歷、計算器、剪貼板等的信息處理。例如:_DIARYDAT存儲當(dāng)前日期接受_CLIPTEXT文本并將其放在剪貼板上_PWAIT確定替換頁面時打印機是否暫停1.5.2表達式表達式是特定意義上的表達式,由常量、變量和函數(shù)通過運算符連接。根據(jù)表達式中使用的運算符和操作結(jié)果的類型,表達式可以分為五個:數(shù)字表達式、字符表達式、日期時間表達式、關(guān)系表達式和邏輯表達式。下面分別介紹。1.數(shù)值表達式數(shù)值表達式由數(shù)值常量、變量、函數(shù)和

14、算術(shù)運算符組成,結(jié)果仍然是數(shù)值。數(shù)字?jǐn)?shù)據(jù)可以是數(shù)字常量、變量或函數(shù)。算術(shù)運算符及其優(yōu)先級如下表所示:表1-15算術(shù)運算符和優(yōu)先級表1-16字符運算符和優(yōu)先級運算符優(yōu)先順序說明()1在表達式中形成子表達式* *或2乘法*、/、%3乘法、除法、馀數(shù)計算,-4加,減運算符優(yōu)先順序說明1完整連接,前后兩個字符串的前后連接新建字符串-1壓縮連接,連接前后兩個字符串,連接前面的字符字符串中的尾部空格將移動到新合并字符串的末尾。示例:-嗯?3*6-2顯示結(jié)果:16-嗯?(1 2 (1 2)/(2 2)結(jié)果顯示為2.25-嗯?顯示15%4的結(jié)果:3-嗯?顯示15%-4結(jié)果:-1說明:剩馀計算也稱為模塊運算,與

15、剩馀函數(shù)MOD()的作用相同。其余的符號與除數(shù)一致。2.文字表達式文字表達式由文字常量、變量、函數(shù)和文字運算符組成,結(jié)果仍然是基于文字的數(shù)據(jù)。字符運算符及其優(yōu)先級如下:例如:“Visual”“FoxPro”顯示名為Visual FoxPro的結(jié)果-嗯?“visual”-“FoxPro”顯示以下結(jié)果:“Visual”-“FoxPro”-嗯?“關(guān)系型”“數(shù)據(jù)庫系統(tǒng)”顯示以下結(jié)果:關(guān)系數(shù)據(jù)庫系統(tǒng)-嗯?“關(guān)系”-“數(shù)據(jù)庫系統(tǒng)”顯示以下結(jié)果:關(guān)系數(shù)據(jù)庫系統(tǒng)3.日期時間表達式日期時間表達式可以由日期時間常量、變量、函數(shù)和日期時間運算符組成。結(jié)果是日期時間或數(shù)字?jǐn)?shù)據(jù)。日期時間運算符也有“”和“-”,兩者的優(yōu)先級相同?;谌掌跁r間的表達式的格式有限制,不能隨機組合。例如,表達式-日期日期沒有意義。有效的日期時間表達式如表1-17所示。其中天數(shù)和秒數(shù)都是數(shù)字表達式。表1-17日期時間表達式的格式格式說明結(jié)果類型日期天數(shù)指定日期幾天后的日期日期類型日期-日指定日期

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論