數(shù)據(jù)與及數(shù)據(jù)運(yùn)算課件_第1頁
數(shù)據(jù)與及數(shù)據(jù)運(yùn)算課件_第2頁
數(shù)據(jù)與及數(shù)據(jù)運(yùn)算課件_第3頁
數(shù)據(jù)與及數(shù)據(jù)運(yùn)算課件_第4頁
數(shù)據(jù)與及數(shù)據(jù)運(yùn)算課件_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 數(shù)據(jù)及數(shù)據(jù)運(yùn)算 2022/7/191第一節(jié) 數(shù)據(jù)及其運(yùn)算 在Visual FoxPro系統(tǒng)中,數(shù)據(jù)可用常量、變量、數(shù)組表示。數(shù)據(jù)還可以用字段、記錄和對象表示,由它們存儲、使用各種類型的數(shù)據(jù)。2022/7/192一、Visual FoxPro的數(shù)據(jù)類型1字符型(character) 用字母C表示,用字母、數(shù)字、符號、漢字組成的字符串,常用于表示名稱,其長度最長不超過254個字符。2數(shù)值型(Numeric) 用字母N表示,用來表示數(shù)量并可以進(jìn)行算術(shù)運(yùn)算的數(shù)據(jù)類型。由阿拉伯?dāng)?shù)字、正負(fù)號、小數(shù)點(diǎn)組成。Visual FoxPro中,具有數(shù)值特征的數(shù)據(jù)類型還有整型、浮點(diǎn)型和雙精度型,但這三種數(shù)據(jù)類

2、型只用于字段變量。2022/7/1933日期型(Date) 用字母D表示,用來表示日期的數(shù)據(jù)類型。日期的默認(rèn) 格式為: mm/dd/yy 其中MM表示月,DD表示日,YY表示年。日期型數(shù)據(jù)的長度固定為8位。4日期時間型(Date Time) 用字母T表示,是用來表示日期和時間,默認(rèn)格式為: mm/dd/yy hh:mm:ss 其中mm,dd,yy的意義與日期型相同,hh,mm,ss分別表示時、分、秒。長度也固定為8位。 5邏輯型(Logic) 用字母L表示,用來描述客觀事物真假或是非判斷的數(shù)據(jù)類型。只有兩個取值:真(.t.或.T.)和假(.f或.F.),邏輯型數(shù)據(jù)長度固定為1位。2022/7/

3、1946貨幣型(Currency) 用字母Y表示,為存儲貨幣值而使用的一種數(shù)據(jù)類型,它默認(rèn)保留4位小數(shù),占據(jù)8字節(jié)的存儲空間。7備注型(Memo) 用字母M表示,用來存放較多字符的數(shù)據(jù)類型。只用于表中字段類型的定義。字段長度固定為4個字節(jié)。實(shí)際數(shù)據(jù)存放在與表文件同名的備注文件(.ftp)中,其長度依實(shí)際需要而定。8通用型(General) 用字母G表示,是用來存儲OLE對象的數(shù)據(jù)類型。可以是電子表格、文擋、圖形、聲音等,跟備注型數(shù)據(jù)一樣,它只用于表中字段類型的定義,通用型數(shù)據(jù)字段長度固定為4位。2022/7/195 二、常量 常量是在命令操作或程序執(zhí)行過程中,其值不變的量。 常用的常量有以下類

4、型:數(shù)值型常量、字符型常量、邏輯型常量、日期型常量、貨幣型常量。2022/7/196 1字符型常量 字符型常量又稱為字符串。Visual FoxPro要求將字符串中所有字符,用一對雙引號“ ”或單引號 或方括號 作為定界符對括起來。 如:在命令窗口中鍵入以下命令 ?“abc” ,數(shù)據(jù)庫文件、“123” 回車執(zhí)行后在屏幕上顯示結(jié)果以下: abc 數(shù)據(jù)庫文件 “123”。 2022/7/197 2日期型常量 日期型常量是表示日期值的數(shù)據(jù),其默認(rèn)格式是: mm/dd/yyyy 如10/01/02和10/01/2002均表示2002年10月1日這一日期常量值。 嚴(yán)格的日期格式是: yyyy-mm-dd

5、 符號表明該格式是嚴(yán)格的日期格式,并按照 YMD 的格式解釋日期型和日期時間型數(shù)據(jù),它是嚴(yán)格日期格式的標(biāo)志,不可缺少。有效的日期型和日期時間型數(shù)據(jù)分隔符為:連字符“-”、正斜杠“/”、句點(diǎn)“.”和空格。如2002-10-01、2002/10/01 /,分別表示2002年10月1日。2022/7/198 日期格式設(shè)置命令:(1)set mark to 日期分隔符 作用:輸出日期時分隔符號( 減號、小數(shù)點(diǎn)、空格、分號) 例:set mark to -(3) | set century on /off 作用:設(shè)置年份的位數(shù)on 為位、off為位。(2)set date to cy 功能:設(shè)置輸出的年

6、月日格式。 CY:各種常用日期格式短語,如下表:返回本章返回首頁2022/7/1992022/7/1910例:?date()Set mark to “-”?date()Set date to ymdSet mark to “ ”?date()Set century off?date()返回本章返回首頁2022/7/1911設(shè)置不同的日期格式在命令窗口中鍵入如下命令:set century off set mark to “.”set date to mdy ?2001-08-06 回車執(zhí)行后,屏幕顯示:08.06.01 2022/7/1912 3邏輯型常量 邏輯型常量就是表示邏輯判斷結(jié)果“真”

7、或“假”的邏輯值。邏輯常量只有真和假兩種,分別用(.t.或.y.)和(.f.或.n.)表示真和假。一般應(yīng)在表示邏輯常量的字母左右加注圓點(diǎn)符“.”以示區(qū)別。邏輯型常量在內(nèi)存中占用一個字節(jié)。2022/7/19134數(shù)值型常量 也稱常數(shù),用來表示一個數(shù)量的大小,由數(shù)字0-9、小數(shù)點(diǎn)和正負(fù)符號組成。例如,12.3,-67,3.14等。也可以使用科學(xué)計數(shù)法形式表示,例如:6.789*105可表示為6.789E5。2022/7/19145.貨幣型常量: 數(shù)值前前置一個符號$,如$23.45,$123.5678等,存儲時采用4位小數(shù) ,多于四位則自動對多余的小數(shù)四舍五入。2022/7/1915 三、 變量

8、變量是在操作過程中可以改變其取值或數(shù)據(jù)類型的數(shù)據(jù)項。在Visual FoxPro系統(tǒng)中變量分為字段變量、內(nèi)存變量2類。 確定一個變量,需要確定其三個要素:變量名、數(shù)據(jù)類型和變量值。2022/7/1916變量的特點(diǎn): 變量的類型取決于變量值的類型; 在使用前不必進(jìn)行特殊的聲明或定義; 變量的值和類型通過賦值來完成; 重新賦值將改變原來的值和類型; 例1.5:a=100 ?a 回車后拍屏幕顯示:100 a=“你好!” ?a 回車后屏幕顯示:你好!2022/7/1917 1命名規(guī)則(1) 使用字母,下劃線、漢字和數(shù)字命名。一般建議不采用漢字命名; 命名以字母或下劃線開頭;除自由表中字段名、索引的TA

9、G標(biāo)識名最多只能10個字符外,其他的命名可使用1128個字符; 避免使用 Visual FoxPro的保留字; 文件名的命名應(yīng)遵循操作系統(tǒng)的約定(2)當(dāng)前字段變量與內(nèi)存變量同名時字段變量優(yōu)先,此時內(nèi)存變量要以“M.變量名” 或“M變量名”表示。2022/7/1918 2內(nèi)存變量的賦值 內(nèi)存變量是在內(nèi)存中定義的一種單個數(shù)據(jù)元素的臨時性變量。 (1)內(nèi)存變量的數(shù)據(jù)類型 內(nèi)存變量的數(shù)據(jù)類型包括:數(shù)值型、字符型、邏輯型、日期型; (2)內(nèi)存變量的建立 建立內(nèi)存變量就是給內(nèi)存變量賦值。內(nèi)存變量賦值既可定義一個新的內(nèi)存變量,也可改變已有內(nèi)存變量的值或數(shù)據(jù)類型。 命令格式一: store to 命令功能:計

10、算的值并賦值給各個內(nèi)存變量。 命令格式二: = 命令功能:計算的值并賦值給指定內(nèi)存變量。2022/7/1919例: x=6+5store 6+3 to x store 6+3 to x,ystore 2 , 3 to x,y不正確2022/7/1920 3. 表達(dá)式的顯示輸出 可以用兩個命令在屏幕上顯示輸出內(nèi)存變量的值。 命令格式: ?| ? ?:先回車換行,再計算并輸出表達(dá)式的值; ?:在屏幕上當(dāng)前位置,計算并直接輸出表達(dá)式的值; 2022/7/1921 4內(nèi)存變量的顯示 格式一:list memory liketo printer/to file 格式二:display memory li

11、keto printer/to file如:a1=98A2=.t.X1=2003-5-6Abc=$456.78B2=“中華人民共和國”則命令list memory的顯示結(jié)果為:2022/7/19225.內(nèi)存變量的清除 格式1:release 內(nèi)存變量表 功能:清除指定的內(nèi)存變量。 格式2:release all like/except 通配符 功能:清除滿足條件的內(nèi)存變量。 格式3:clear memory 功能:清除當(dāng)前所有的內(nèi)存變量(同release all)。 格式4:clear all 功能:清除當(dāng)前所有內(nèi)存變量,同時關(guān)閉已打開的數(shù) 據(jù)庫表、索引文件等一系列文件。2022/7/1923

12、6.字段變量 (1)概念:表中的各條記錄在同一個字段名中有不同的取值,這個字段名稱為字段變量,字段名下的取值,稱為字段變量的取值。 例如:學(xué)生商品表中有“商品名稱”字段,該字段下有牛奶、署片等食品的名稱。 “食品名稱”稱為字段變量 具體食品(牛奶、署片 )稱為字段變量的取值。2022/7/1924(2)字段變量的數(shù)據(jù)類型(13種): 字符型、數(shù)據(jù)值型、浮點(diǎn)型、邏輯型、日期型、備注 型、通用型、貨幣型、日期時間型、雙精度型、整型、字符型(二進(jìn)制)、備注(二進(jìn)制)2022/7/19257、數(shù)組數(shù)組:一組內(nèi)存變量的集合(先定義后使用)1、定義數(shù)組:dimention 數(shù)組名 (數(shù)值1,數(shù)值2) 例:

13、dime a(4),b(2,3) 2、賦值:同內(nèi)存變量。3、特點(diǎn):1)各數(shù)組元素類型可以不同。 2)下標(biāo)計數(shù)從1開始。 3)數(shù)組各個元素的默認(rèn)值為 .F. 4)b(1,3)=b(3)返回本章返回首頁2022/7/1926數(shù)組實(shí)例dimension a(2,3)? a(4)? a(2,1)? a(6)? a(2,3) A(1,1) A(1,2) A(1,3) 1 2 3 A(2,1) A(2,2) A(2,3) 4 5 62022/7/1927dimension a(2,3),b(3)?a(1,2),a(2,3)a(1,1)=“武漢”a(1,2)=“黃岡”a(2,1)=“荊門”b=“計算機(jī)協(xié)會”

14、?a(1), a(2), a(3), a(4), a(5), a(6)? b(1),b(2),b(3)2022/7/1928表中數(shù)據(jù)與數(shù)組數(shù)據(jù)之間的交換: 將表的當(dāng)前記錄復(fù)制到數(shù)組 格式1:scatter fields memo to blank 格式2:scatter fields like 通配符 fields except memo to 數(shù)組名 blank 將數(shù)組數(shù)據(jù)復(fù)制到表的當(dāng)前記錄 格式1:gather from fields memo 格式2:gather from fields like/except memo2022/7/1929第二節(jié) Visual FoxPro的表達(dá)式 在

15、Visual FoxPro系統(tǒng)中,表達(dá)式是由常量、變量、函數(shù)與運(yùn)算符組成的有意義的運(yùn)算式子。 運(yùn)算符分為算術(shù)(數(shù)值)運(yùn)算符、字符運(yùn)算符、邏輯運(yùn)算符和關(guān)系運(yùn)算符五類,相應(yīng)的,表達(dá)式也分為算術(shù)表達(dá)式、字符表達(dá)式、邏輯表達(dá)式和關(guān)系表達(dá)式五類。 常量、變量和函數(shù)可以作為表達(dá)式的特例。2022/7/1930 運(yùn)算符兩側(cè)的數(shù)據(jù)對象必須具有相同數(shù)據(jù)類型,否則運(yùn)算將會出錯; 各類運(yùn)算的優(yōu)先順序如下: 圓括號算術(shù)運(yùn)算字符串運(yùn)算關(guān)系運(yùn)算邏輯運(yùn)算 2022/7/19311. 算術(shù)表達(dá)式 算術(shù)表達(dá)式又稱數(shù)值表達(dá)式,其運(yùn)算對象和運(yùn)算結(jié)果均為數(shù)值型數(shù)據(jù)。數(shù)值運(yùn)算符的功能及運(yùn)算優(yōu)先順序,如表2-2所示。表中運(yùn)算符按運(yùn)算優(yōu)先

16、級別從高到低順序排列。 表2-2 算術(shù)運(yùn)算符運(yùn)算符功 能表 達(dá) 式 舉 例運(yùn)算結(jié)果優(yōu)先級別( )圓括號(2-5)*(3+2)-15最高 | | | 最低-取相反數(shù)-(3-8)5*、乘冪2*5、3232、9*、/乘、除2*10、25/520、5%取余數(shù)20%50+、-加、減36+19、29-4755、-182022/7/1932例: 2*3+4 2*3+5 3+2(1+2) 15%4 15%-42022/7/1933 2. 字符表達(dá)式 字符表達(dá)式是由字符運(yùn)算符將字符型數(shù)據(jù)對象連接起來進(jìn)行運(yùn)算的式子。字符運(yùn)算的對象是字符型數(shù)據(jù)對象,運(yùn)算結(jié)果是字符常量或邏輯常量。表2-3為字符運(yùn)算符 的功能。 20

17、22/7/1934 表2-3 字符運(yùn)算符 兩個連接運(yùn)算的優(yōu)先級別相同,但高于$的比較運(yùn)算。運(yùn)算符功能表達(dá)式舉例運(yùn)算結(jié)果+串1+串2:兩串順序相連接12 +5612 56-串1-串2:串1尾空格移到串2尾后再順序相連接12 -561256 $串1$串2:串1是否為串2子串1234$ a123451234$ 34512.T.F.2022/7/1935例: a=”hello ” b=”everyone!” ?a+b,a-b 回車后屏幕顯示為: hello everyone! Helloeveryone!2022/7/19363. 日期/日期時間表達(dá)式 格式結(jié)果及類型 + 日期型。指定日期若干天后的日

18、期 日期型。指定日期若干天前的日期 數(shù)值型。兩個指定日期相差的天數(shù) + 日期時間型。指定日期時間若干秒后的日期時間 日期時間型。指定日期時間若干秒前的日期時間 數(shù)值型。兩個指定日期時間相差的秒數(shù)2022/7/1937 4. 關(guān)系表達(dá)式 由關(guān)系運(yùn)算符連接兩個同類數(shù)據(jù)對象進(jìn)行關(guān)系比較的運(yùn)算式稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的值為邏輯值,關(guān)系表達(dá)式成立則其值為“真”,否則為“假”。 表2-4 關(guān)系運(yùn)算符 運(yùn)算符功 能表 達(dá) 式 舉 例結(jié)果小于15大于A 1.T.=等于2+4 = 3*5.F.、#、!=不等于5 -10.T.=小于或等于abc =大于或等于10-10-02=10/01/02.T.=字符串恒同

19、abc=abcabc.F.2022/7/1938(1)單個字符 單個字符的比較是以字符ASCII碼的大小作為字符的“大小”,也就是先后順序。(2)字符串 兩個字符串進(jìn)行比較的基本原則是從左到右逐個字符進(jìn)行比較,但因系統(tǒng)相關(guān)設(shè)置狀態(tài)不同,比較的結(jié)果與預(yù)期的不完全相同。2022/7/1939 (3)字符串比較 設(shè)置字符比較次序的命令是:set collate to “” a. machine(機(jī)內(nèi)碼)次序:字符按ascii碼值比較(小寫字母大寫字母空格),漢字按拼音順序比較。 例如:“abc” “abcd”、“b” “b”、“c” “李” b. pinyin(拼音)次序:漢字按拼音順序比較,字符按

20、 大寫字符小寫字符空格進(jìn)行比較。 例如:“a”3 AND 53 OR a$ab AND .NOT.f. 主屏幕顯示: .t. ? (100%3=1) AND (15-4=0) OR 張=張三 主屏幕顯示: .f.2022/7/1946第三節(jié) Visual FoxPro常用函數(shù) Visual FoxPro系統(tǒng)中,按函數(shù)運(yùn)算、處理對象和結(jié)果的數(shù)據(jù)類型,可分為數(shù)值型函數(shù)、字符型函數(shù)、邏輯型函數(shù)、日期函數(shù)、數(shù)據(jù)轉(zhuǎn)換函數(shù)等。 2022/7/1947函數(shù)的分類: 函數(shù)分為:自定義函數(shù)和系統(tǒng)函數(shù) 表示方法:函數(shù)名(形參) 系統(tǒng)函數(shù)分類: (14類) 數(shù)值函數(shù)、字符函數(shù)、日期函數(shù)、類型轉(zhuǎn)換函數(shù)、 測試函數(shù)、表和數(shù)據(jù)庫函數(shù)、菜單函數(shù)、窗口函數(shù)、 SQL查詢函數(shù)、位運(yùn)算函數(shù)、對象特征函數(shù)、文件處 理函數(shù)、系統(tǒng)調(diào)用函數(shù)。2022/7/1948一、數(shù)值函數(shù) 絕對值函數(shù):abs(x) = |x| 求平方根函數(shù):sqrt(x)= 圓周率函數(shù):pi( ) 取整函數(shù):int(x) 四舍五入函數(shù):round(x, n) 求余函數(shù):mod(m,n) 求最大、最小值函數(shù):max( ), min( ) 取大整函數(shù)(求大于或等于表達(dá)式值的最小整數(shù)):Ceiling() 取小整函數(shù)(求小于或等于表達(dá)式值的最大整數(shù)):floor()2

溫馨提示

  • 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

提交評論