




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第3章數(shù)值與數(shù)值運算,3-1數(shù)據(jù)類型、常量和變量3-2VisualFoxPro6.0的常用函數(shù)3-3操作符及表達式3-4小結,第3章數(shù)據(jù)與數(shù)據(jù)運算,3-1數(shù)據(jù)類型、常量和變量,3-1-1數(shù)據(jù)類型在VisualFoxPro中所有的數(shù)據(jù)都具有類型,數(shù)據(jù)類型決定數(shù)據(jù)的存儲方式和使用方式,即數(shù)據(jù)的取值范圍和可以進行的操作。,VisualFoxPro定義了13種字段類型和7種數(shù)據(jù)類型。字段類型是:字符型、數(shù)值型、浮點型、雙精度型、整型、貨幣型、日期型、日期時間型、邏輯型、備注型、通用型、二進制字符型和二進制備注型。數(shù)據(jù)類型是:字符型、數(shù)值型、貨幣型、日期型、日期時間型、邏輯型和通用型。,表達式,表達式具
2、有計算、判斷和數(shù)據(jù)類型轉換等作用,廣泛用于命令、函數(shù)、對話框、控件及其屬性之中。表達式可以是常量、變量、函數(shù)和運算符的組合。,例:表達式S=2*PI()*R,表達式值顯示命令命令格式:?|?功能:計算表達式的值,并將其顯示在屏幕上。?表示從屏幕下一行的第一列起顯示結果;?表示從當前行的當前列起顯示結果。,3-1-2常量,常量:在程序的運行過程中不改變其值的量常量的種類:數(shù)值型常量字符型常量邏輯型常量日期型常量貨幣型常量,1.數(shù)值型常量,用整數(shù)、小數(shù)、科學計數(shù)法表示的數(shù)舉例:85,-56.2,1.256E3,3.8E-2等,2.字符型常量,由一串字符組成的字符串表示:用“”(雙引號)、(單引號)
3、、(方括號)括起來舉例:副教授、”boy”、數(shù)據(jù)庫系統(tǒng)是合法常量,而”Iamaboy”、Itsabest是非法常量。注意:最長只能為254個字符,3.邏輯型常量,表示“真”或“假”的量表示方法:“真”.T.、.Y.、.t.、.y.“假”.F.、.N.、.f.、.n.注意:兩邊的點不能少,4.貨幣型常量,表示貨幣值的量表示:以$開頭,4舍5入到小數(shù)點4位舉例:$123.456789結果為123.4568,5.日期型常量,在VisualFoxPro6.0中日期型常量用花括號“”作為定界符括起來,格式為:YYYY-MM-DD例如:2005/05/18,或2005-05-18。命令:setdateam
4、ericansetdateymd,6.日期時間型常量,日期時間常量也必須用花括號括起來,格式為:YYYY-MM-DDhh:mm:ssa|p例如:2005/05/1910:04am、2005-05-2111:32:14pm。但必須注意日期和時間之間必須有空格。,3-1-3變量,在命令操作和程序運行過程中其值允許變化的量稱變量,在VisualFoxPro6.0中使用的變量分為字段變量、內(nèi)存變量兩種。每個變量都必須有一個變量名,變量名是由字母、漢字、數(shù)字和下劃線組成,但必須以字母或漢字。,字段變量是數(shù)據(jù)表結構中的任意一個數(shù)據(jù)項。在一個數(shù)據(jù)表中,一個字段就是一個字段變量。字段變量是一種多值變量,假設一
5、個數(shù)據(jù)表中有10條記錄,那么該數(shù)據(jù)表的每一字段就有10個取值,當用字段作變量時,它的當前值隨著記錄指針的移動而不斷變化。,1字段變量,內(nèi)存變量是表結構之外獨立存在于內(nèi)存中的變量。內(nèi)存變量可用來存儲數(shù)據(jù),定義內(nèi)存變量時需為它取名并賦初值,內(nèi)存變量建立后存儲于內(nèi)存中。VisualFoxPro6.0中共定義了6種類型的內(nèi)存變量:數(shù)值型、字符型、日期型、日期時間型、邏輯型和貨幣型。可分為簡單變量和數(shù)組變量。,2內(nèi)存變量,內(nèi)存變量賦值命令格式1:內(nèi)存變量=TO功能:計算表達式,然后將計算結果賦給內(nèi)存變量。,3.系統(tǒng)內(nèi)存變量,由VFP自動生成和維護的變量一般以下劃線開頭舉例:_DIARYDATE&當前日期
6、_CLIPTEXT&剪貼板文本例通過_calcvalue系統(tǒng)變量將一個數(shù)字傳到計算器中,激活計算器窗口并計算結果。clear_calcvalue=20activatewindowcalculator例往剪貼板中寫入信息_CLIPTEXT=hello!“查看剪貼板,數(shù)組是具有相同名字、不同下標值的一組變量。數(shù)組中的每個數(shù)據(jù)值稱為數(shù)組元素,每個數(shù)組元素在數(shù)組中的位置是固定的,可以通過稱為下標的編號來進行訪問。在VisualFoxPro6.0中,同一個數(shù)組元素在不同時刻可以存儲不同類型的數(shù)據(jù),在同一數(shù)組中,每個數(shù)組元素可以被賦予不同數(shù)據(jù)類型的值。,4.數(shù)組變量,數(shù)組的定義,格式:DIMENSION|
7、DECLARE(),()(),()例如:DIMENSIONc(4)DECLAREa(3),b(2,3),數(shù)組的賦值,SZ(1)=”ABCD”&給SZ(1)賦值,字符型,值:ABCDSZ(2)=23.45&給SZ(2)賦值,數(shù)值型,值:23.45SZ(3)=2005/09/02&給SZ(3)賦值,日期型,值:2005年9月2日SZ(4)=2005/11/029:00am&給SZ(4)賦值,日期時間型,值:2005年11月2日上午9點SZ(5)=T&給SZ(5)賦值,邏輯型,值:真,3-2VisualFoxPro常見函數(shù),函數(shù)的概念:VisualFoxPro6.00系統(tǒng)為用戶提供了十分豐富的函數(shù),
8、靈活運用這些函數(shù),不僅可以簡化許多運算,而且能夠加強和完善VisualFoxPro的許多功能。函數(shù)的一般格式:()函數(shù)的三要素:函數(shù)名、參數(shù)、函數(shù)值如:ABS(-2),3-2-1數(shù)學運算函數(shù),1平方根函數(shù)SQRT()【格式】SQRT(數(shù)值表達式)【功能】計算并返回數(shù)值表達式的算術平方根?!纠?】?SQRT(5*5)5.002絕對值函數(shù)ABS()【格式】ABS()【功能】計算并返回數(shù)值表達式的絕對值?!纠?】?ABS(-43.29)43.29,3四舍五入函數(shù)ROUND()【格式】ROUND(數(shù)值表達式,有效位數(shù))【功能】對數(shù)值表達式的值按指定的有效位數(shù)進行四舍五入。【例3】?R0UND(3.14
9、159,4),ROUND(1234.9962,0),ROUND(1234.567,-1)3.141612351230,4取整函數(shù)INT()【格式】INT(數(shù)值表達式)【功能】計算并返回數(shù)值表達式的整數(shù)部分?!纠?】?INT(-76.93)-76,5求模函數(shù)MOD()【格式】MOD(,)【功能】返回除以得到的余數(shù)值?!菊f明】在求摸運算中應注意以下幾點:(1)除數(shù)不能為0。(2)除數(shù)為正數(shù),返回正數(shù);如果為負數(shù),返回負數(shù)。(3)如果被除數(shù)與除數(shù)能夠整除,結果為0。(4)如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)同號,則結果為被除數(shù)除以除數(shù)而得到的余數(shù)。即:MOD(X1,X2)=X1-INT(X1/X
10、2)*X2。(5)如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)異號,則結果為被除數(shù)除以除數(shù)而得到的余數(shù)再加上除數(shù)。即:MOD(X1,X2)=X1-INT(X1/X2)*X2+X2?!纠?】?MOD(10,3)&結果為:1?MOD(-10,-3)&結果為:-1?MOD(-10,3)&結果為:2?MOD(10,-3)&結果為:-2,3-2-2字符處理函數(shù),1取子串函數(shù)SUBSTR()【格式】SUBSTR(字符串表達式,起始位置,長度)【功能】從字符串表達式中的起始位置截取子字符串,長度為所截取的子串的長度。【例1】store”ABCDEFG”toCN?SUBSTR(CN,4,2),SUBS(CN,1,
11、4),SUBS(CN,6,3)DEABCDFG若省略長度,或者長度超過從起始位置到末尾的長度,則截取的子字符串為從起始位置到字符串表達式末尾的所有字符。例如:?SUBSTR(”計算機程序設計教程”,11)設計教程,2求字符串長度函數(shù)LEN()【格式】LEN字符串表達式【功能】返回字符串表達式中所包含的字符個數(shù),即字符串長度?!纠?】?LEN(”VisualFoxPro6.0”)16,3搜索子串位置函數(shù)AT()【格式】AT(字符串1,字符串2,)【功能】尋找字符串1在字符串2中首次出現(xiàn)的起始位置。若字符串2中不包含字符串1,則返回值為零。若有“數(shù)值表達式”(假設數(shù)值表達式為K),則尋找字符串1在
12、字符串2中第K次出現(xiàn)的位置。【例3】X=”VisualFoxPro6.0”?AT(”Fox”,X)&顯示結果為8?AT(”fox”,X)&顯示結果為0?AT(”o”,X)&顯示結果為9?AT(”o”,X,2)&顯示結果為13,4空格函數(shù)SPACE()【格式】SPACE(數(shù)值表達式)【功能】產(chǎn)生與數(shù)值表達式的值相同的空格數(shù)?!纠?】?”學生”+SPACE(4)+”情況”學生情況在“學生”和“情況”之間產(chǎn)生了4個空格字符。,3-2-3轉換函數(shù),1數(shù)值轉換為字符串函數(shù)STR()【格式】STR(數(shù)值表達式,長度,小數(shù)位如)【功能】將數(shù)值表達式的值轉換為由長度和小數(shù)位數(shù)指定的字符串。如果長度值比數(shù)值表達
13、式的整數(shù)位數(shù)還要小,則返回由長度個“*”組成的字符串?!纠?】?STR(1324.46,6,1)1324.5?STR(1324.46,3,1),STR(1324.46,8,3)*1324.460,2字符串轉換為數(shù)值函數(shù)VAL()【格式】VAL(字符串表達式)【功能】將字符串表達式轉換為數(shù)值型數(shù)據(jù)。【例2】?VAL(”32”+”18”)321800?VAL(”112GH”),VAL(”AB204”),VAL(”ASD”)112.000.000.00,3字符轉日期函數(shù)CTOD()【格式】CTOD(字符串表達式)【功能】將“月/日/年”格式的字符串表達式轉換為日期型數(shù)據(jù)?!纠?】DA=”12/12/
14、04”?CTOD(DA)12/12/04,4日期型轉換為字符串函數(shù)DTOC()【格式】DTOC(日期)【功能】將日期轉換為相應的字符串?!纠?】D=2004/11/24DT=DTOC(D)?DT?LEN(DT)11/24/048,3-2-4日期和時間函數(shù),格式:DATE()功能:返回系統(tǒng)日期格式:TIME()功能:返回系統(tǒng)時間格式:DATETIME()功能:返回系統(tǒng)日期時間格式:YEAR()功能:返回中的年份,4位整型,格式:month()功能:返回中的月份格式:day()功能:返回中的日期,舉例?YEAR(2001-10-23)&返回2001?month(date()&返回當天的月份,3-2
15、-5測試函數(shù),1測試文件頭函數(shù)BOF()【格式】BOF()【功能】該函數(shù)用于測試指定文件中的記錄指針是否指向文件頭。如果是則返回真值,否則返回假值?!纠繙y試文件記錄是否指向文件頭。USE學生表.dbf?BOF()&顯示結果為:.F.SKIP-1&移動記錄指針到上一條記錄命令?BOF()&顯示結果為:.T.,2測試文件尾函數(shù)EOF()【格式】EOF()【功能】該函數(shù)用于測試指定文件中的記錄指針是否指向文件尾。如果是則返回真值,否則返回假值?!纠繙y試文件記錄是否指向文件尾。USE學生表.dbfGOTOBOTTOM?EOF()&顯示結果為:.F.SKIP&移動記錄指針到上一條記錄命令?EOF()
16、&顯示結果為:.T.,【格式】RECNO()【功能】測試指定表文件中的記錄指針指向的記錄號。若指定的工作區(qū)無打開的表文件,函數(shù)返回值為:0;若指定的表文件無記錄或記錄指針位于文件頭,函數(shù)返回值為:1;若記錄指針指向文件尾,函數(shù)返回值為末記錄號加1?!纠繙y試記錄指針的當前位置(假設學生檔案表中有10條記錄)。USE學生表.dbfGOTOBOTTOM&指向最后一條記錄?RECNO()&顯示結果為:10SKIP&指針移到下一條記錄?RECNO()&顯示結果為:11GOTOP&指向第一條記錄?RECNO()&顯示結果為:1SKIP-1&指針向上移一條記錄?RECNO()&顯示結果為:1,3測試當前記
17、錄號函數(shù)RECNO(),字符處理函數(shù)(補充),格式:LTRIM()功能:刪除字符表達式值前的空格格式:RTRIM(或TRIM()功能:刪除字符表達式值后的空格格式:ALLTRIM()功能:將前后的空格去掉舉例?“AB”+SPACE(4)+”CD”&返回ABCD?ALLTRIM(“ABCD”)&返回ABCD?len(“abcd”)&返回5?len(alltrim(“ABCD“)&返回4,3-3操作符及表達式,操作符是表示數(shù)據(jù)之間運算方式的運算符號,一般根據(jù)處理數(shù)據(jù)類型不同可分為算術運算符、字符運算符、關系運算符、邏輯運算符四種。表達式是由常量、變量、函數(shù)、操作符及圓括號組成的算式。表達式中的操作
18、對象必須具有相同的數(shù)據(jù)類型,如果表達式中有不同類型的操作對象,則必須將它們轉換成同種數(shù)據(jù)類型。,3-3-1算術表達式算術表達式是由數(shù)值型變量、常量、函數(shù)和數(shù)值操作符組成的。用于對數(shù)值型數(shù)據(jù)進行常規(guī)的算術運算。,算術運算符,舉例:?5/3結果:1.67?5%3結果:2?-3*2-5結果:4.00?2*7%32+3結果:8,高,算術運算符,舉例?3/2&返回1.5?5.5%3&返回2.5?Int(5/3)&1,取得數(shù)值的整數(shù)部分?62&返回36,3-3-2字符表達式:,字符表達式是由字符型變量、常量、函數(shù)和字符操作符組成的。用于字符串的連接或者比較。字符串操作符為:+:連接兩個字符串。-:連接兩個
19、字符串,并將第一個字符串尾部的空格移到第二個字符串的尾部。$:判斷第一個字符串是否是第二個字符串的子字符串。,例如:LEN1=”VisualFoxPro6.0”LEN2=”數(shù)據(jù)庫教程”?LEN1+LEN2&結果為:VisualFoxPro6.0數(shù)據(jù)庫教程?LEN1-LEN2&結果為:VisualFoxPro6.0數(shù)據(jù)庫教程?len(LEN1-LEN2)&結果為:28,3-3-3日期時間表達式,日期時間表達式是由日期時間型變量、常量、函數(shù)和日期時間操作符組成的。日期時間操作符有:+:添加一個天數(shù)或秒數(shù)-:減少一個天數(shù)或秒數(shù)PM,例如:?2005-04-04+10&結果為:04/14/05?200
20、5-04-30-15&結果為:04/15/05?2003-08-0410:10a+10&結果為:08/04/0310:10:10AM?2003-08-0410:35p-10&結果為:08/04/0310:34:50,3-3-4關系表達式,關系表達式用于數(shù)值、字符、日期型數(shù)據(jù)的比較運算。關系表達式的運算優(yōu)先級相同。,例如:?”xyz”#”XYZ”&值為.T.?”abcd”=”abc”&值為.T.?”abc”=”abcd”&值為.F.?”abcd”=”abc”&值為.F.setexacton|off,邏輯表達式是由邏輯型變量、常量、函數(shù)和字符運算符組成的。用來對邏輯型數(shù)據(jù)進行各種邏輯運算,形成各種
21、簡單的邏輯結果。,3-3-5邏輯表達式,高,運算符OR或.OR.:邏輯或,只有兩個運算對象均為.F.時,返回.F.;其余均返回.T.AND或.AND.:邏輯與,只有兩個運算對象均為.T.時,返回.T.;其余均返回.F.NOT或.NOT.:邏輯非,運算對象為.T.時,返回.F.;運算對象為.F.時,返回.T.,例如?1733.AND3412&值為.F.?6/27.0R.”abc”#”ABC”.AND.NOT.F&值為.T.,運算符同級:從左到右運算符不同級,表達式的運算順序,表達式舉例:,?(SQRT(32*2)/4+6)*5-20?(SQRT(32*2)/4+6)*5-2030?“cd”$“abc”+”def”?Date()=2002-3-8A=5b=4c=6?abandac?Abanda+bc,在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 急救系統(tǒng)運行效果評估計劃
- 培養(yǎng)員工責任感的策略計劃
- 如何利用反饋促進成長計劃
- 學習競賽在班級中的推廣計劃
- 如何借助跨界合作增強品牌力量計劃
- 如何通過媒體關系提升品牌曝光計劃
- 統(tǒng)籌調(diào)度部資源配置與效率提升計劃
- 化學-河南金太陽2024-2025學年高二上學期第二次月考
- 2025年發(fā)動機基本件:飛輪項目合作計劃書
- 2025年船用法蘭合作協(xié)議書
- 工程回訪記錄單
- 住房公積金投訴申請書
- 輔警報名登記表
- 外研版英語五年級下冊第一單元全部試題
- 檢驗科生物安全風險評估報告
- 京頤得移動門診產(chǎn)品輸液
- 部編版四年級語文下冊課程綱要
- 華文出版社三年級下冊書法教案
- GB_T 30789.3-2014 色漆和清漆 涂層老化的評價 缺陷的數(shù)量和大小以及外觀均勻變化程度的標識 第3部分:生銹等級的評定
- 藥物非臨床研究質(zhì)量管理規(guī)范(共113頁).ppt
- 19、白居易在杭州(四年級人自然社會)
評論
0/150
提交評論