糯米文學吧

位置:首頁 > 計算機 > 計算機二級

2017計算機二級考試《VFP》第三章複習重點

以下是本站小編整理的2017計算機二級考試《VFP》第三章複習重點知識,希望對您的學習有所幫助!

2017計算機二級考試《VFP》第三章複習重點

第三章 數據與數據運算

VISUAL FOXPRO的基本數據元素:

(1) 常量、變量、表達式。

(2) 常用函數:字符處理函數、數值計算函數、日期時間函數、數據類型轉換函數、測試函數。

  1.常量

常量是指在程序運行過程中始終不變化的數據,又稱為常數。在VFP 中常量可分為六種類型:

常量名稱

説明

字符型常量

字符型常量是用定界符括起來的由字符、空格或數字所組成的字符串,定界符可以是單引號(’’)、雙引號(””)和方括號([])。如果一種定界符本身已是字符型常量的一個組成部分,則應選擇另一種定界符為該字符串定界。例如:’副教授’、”abc”、”[數據庫系統]”是合法常量,而””xyz””、’It’s’是非法常量。

數值型常量

數值型常量又稱為常數,可以是整數、實數或科學記數法。例如85,貨幣型常-56.2,1.256E+3,3.8E-2等在程序中都是數值型常量。

貨幣型常量

在數字前加上貨幣符號“$”就是貨幣型常量,小數位系統固定為4位。如$1254.56,表示貨幣值1254.5600。

邏輯型常量

邏輯型常量只有兩個邏輯值:“真”與“假”。用.T.(.t.)、.Y.(.y.)表示邏輯“真”,用.F.(.f.)、.N.(.n.)表示邏輯值“假”。在書寫時應注意.T.或.F.兩邊的小圓點不能省略。

日期型常量

日期型常量用於表示日期的常量值。在VisualFoxPro6.0中日期型常量用花括號“{}”作為定界符括起來,其書寫格式視SETDATE命令的設置而定,系統默認格式為:{^yyyy-mm-dd}(或{^yyyy/mm/dd}),例如:{^2003/08/18}(或{^2003-10-18})。

日期時間常量

日期時間型常量用於表示日期時間的常量值。日期時間常量也必須用花括號括起來,其書寫格式視SETDATE命令的設置而定,系統默認格式為:{^yyyy-mm-dd[hh[:mm[:ss]]][am|pm]}(或{^yyyy/mm/dd[hh[:mm[:ss]]][am|pm]}),例如:{^2004/09/1910:04am}、{^2004-06-2111:32:14pm}。需要注意的是日期和時間之間必須有空格。如果在時間日期型常量中只有時間,系統默認格式為:[hh:mm:mmam|pm],例如:[10:12:45pm]。

  2. 變量

變量是在操作過程中可以改變其取值或數據類型的數據項。在Visual FoxPro系統中變量分為字段變量、內存變量(簡單變量、數組變量)2類。此外,作為面向對象的程序語言,Visual FoxPro在進行面向對象的程序設計中引入了對象的概念,對象實質上也是一類變量。

確定一個變量,需要確定其三個要素:變量名、數據類型和變量值。

(1).命名約定

使用字母,下劃線和數字命名。內存變量一般建議不採用漢字命名;命名以字母或下劃線開頭;除自由表中字段名、索引的TAG 標識名最多隻能10 個字符外,其他的命名可使用1~128 個字符;

避免使用 Visual FoxPro 的保留字;文件名的命名應遵循操作系統的約定。

(2).字段變量

字段變量是數據庫管理系統中的一個重要概念。它與記錄一縱一橫構成了數據表的基本結構。一個數據庫是由若干相關的數據表組成,一個數據表是由若干個具有相同屬性的記錄組成,而每一個記錄又是由若干個字段組成。字段變量就是指數據表中已定義的任意一個字段。

我們可以這樣理解:在一個數據表中,同一個字段名下有若干個數據項,而數據項的值取決於該數據項所在記錄行的變化,所以稱它為字段變量。字段變量的數據類型與該字段定義的類型一致。字段變量的類型有數值型、浮點型、整型、雙精度型、字符型、邏輯型、日期型、時間日期型、備註型和通用型等。使用字段變量首先要建立數據表,建立數據表時首先定義的就是字段變量屬性(名字、類型和長度)。字段變量的定義及字段變量數據的輸入、輸出需要在表設計器中進行。

  3.內存變量

內存變量可用來存儲數據,定義內存變量時需為它取名並賦初值,內存變量是一個臨時變量,內存變量建立後存儲於內存中,以便在需要時引用它的內容。當退出程序時,變量所佔的內存自動釋放。Visual FoxPro6.0中共定義了6種類型的內存變量:數值型、字符型、日期型、日期時間型、邏輯型和貨幣型。內存變量可分為簡單變量和數組變量兩類。

(1)內存變量的建立

建立內存變量就是給內存變量賦值。內存變量賦值既可定義一個新的內存變量,也可改變已有內存變量的值或數據類型。

【格式1】:〈簡單變量〉=<表達式〉

【格式2】:STORE <表達式> TO <簡單變量表>

【功能】: 計算〈表達式〉,然後將計算結果賦給簡單變量。使用格式1,一次可給一個簡單變量賦值;使用格式2,一次可給一批簡單變量賦值,各變量之間用逗號分隔。

(2).內存變量的輸出格式1: ? <表達式表>格式1: ?? <表達式表>功能: 計算表達式的值,並將表達式的值顯示在屏幕上。

【説明】

(1)命令格式中的? 表示從屏幕下一行的第一列起顯示結果 ,?? 表示從當前行的當前列起顯示結果。

(2)<表達式表>是表示用逗號隔開的多個表達式組,命令執行時遇逗號就空一格。

  4. 數組變量

數組是具有相同的變量名、不同下標值的一組變量。數組中的每個數據值稱為數組元素,數組中元素的

順序號稱為下標,每個數組元素在數組中的位置是固定的,數組中的元素可以通過下標來進行區分。

數組在使用時要用DIMENSION或DECLARE命令來定義。這兩個命令完全相同,都是用於建立一維或二維數組。在VisualFoxPro6.0中,同一個數組元素在不同時刻可以存儲不同類型的數據,在同一數組中,每個數組元素可以被賦予不同數據類型的值。

(1)數組的定義

數組必須先定義後使用,定義數組是向系統申請數組元素在內存中的存儲空間。

【格式】:

DIMENSION | DECLARE <數組名1>(<數值表達式1>[,<數值表達式2>])

[,<數組名2>(<數值表達式3>[,<數值表達式4>])…]

【功能】:定義指定的各個數組。

(2)數組的賦值與引用

數組元素的賦值與引用,與普通內存變量的規則相同。

  5.系統變量

系統變量是Visual FoxPro 系統特有的內存變量,它由Visual FoxPro 系統定義、維護。系統變量有很多,其變量名均以下劃線“_”開始,因此在定義內存變量和數組變量名時,不要以下劃線開始,以免與系統變量名衝突。系統變量設置、保存了很多系統的狀態、特性,瞭解、熟悉並且充分地運用系統變量,會給數據庫系統的操作、管理帶來很多方便,特別是開發應用程序時更為突出,學習時可對此有所關注。

  6.表達式在Visual FoxPro系統中,表達式是由常量、變量、函數及其他數據容器單獨或與運算符組成的有意義的運算式子。

運算符是對數據對象進行加工處理的符號,根據其處理數據對象的數據類型,運算符分為算術(數值)運算符、字符運算符、日期時間運算符、邏輯運算符和關係運算符五類,相應的,表達式也分為算術表達式、字符表達式、日期時間表達式、邏輯表達式和關係表達式五類。

在一個表達式中可能包含多個由不同運算符連接起來的、具有不同數據類型的數據對象,但任何運算符兩側的數據對象必須具有相同數據類型,否則運算將會出錯;由於表達式中有多種運算,不同的運算順序可能得出不同結果,甚至出現運算錯誤,因此當表達式中包含多種運算時,必須按一定順序施行相應運算,才能保證運算的合理性和結果的正確性、惟一性。用户也可以通過給表達式加圓括號的方式,改變其默認運算順序。在Visual FoxPro 系統中,各類運算的優先順序如下:

圓括號>算術和日期運算>字符串運算>關係運算>邏輯運算同一類運算符也有一定的運算優先順序,這在各類表達式中分別介紹。如果多個同一級別的運算,則按在表達式中出現的先後順序進行運算。

(1)算術表達式

算術表達式又稱數值表達式,其運算對象和運算結果均為數值型數據。數值運算符的功能及運算優先順序,如表所示。表中運算符按運算優先級別從高到低順序排列。

表算術運算符

運算符 功能 表 達 式 舉 例 運算結果 優先級別

( ) 圓括號 (2-5)*(3+2) -15 最高

- 取相反數 -(3-8) 5

**、^ 乘冪 2**5、3^2 32、9

*、/ 乘、除 2*10、25/5 20、5

% 取餘數 20%5 0

+、- 加、減 36+19、29-47 55、-18 最低

(2).字符表達式

字符表達式是由字符運算符將字符型數據對象連接起來進行運算的式子。字符運算的對象是字符型數據對象,運算結果是字符常量或邏輯常量。"+"與 "-"都是字符連接運算符,都將兩字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部後再連接;“$”運算實質上是比較兩個串的包含關係,因此有些書籍中將其歸於關係運算,其作用是比較、判斷串1 是否為串2的子串,如果串1是串2的子串,運算結果為“真”,否則為“假”。所謂子串,如果串1中所有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串。

表字符運算符

運算符 功能 表達式舉例 運算結果

+ 串1+串2:兩串順序相連接 ’12 ‘+’56’ ’12 56’

- 串1-串2:串1尾空格移到串2尾

後再順序相連接 ’12 ‘-‘56’ ‘1256 ‘

$ 串1$串2:串1是否為串2子串 ‘1234’$ ‘12345’ .T.

‘ 1234’$‘34512’ .F.

兩個連接運算的優先級別相同,但高於$的比較運算。

例: LEN1=”Visual FoxPro6.0 ” LEN2=”數據庫教程” ?

LEN1+LEN2 &&結果為:Visual FoxPro6.0 數據庫教程 ?

LEN1-LEN2 &&結果為:Visual FoxPro6.0數據庫教程

? len(LEN1-LEN2) && 結果為:28

(3).日期表達式

由日期運算符將一個日期型或日期時間型數據與一個數值型數據連接而成的運算式稱為日期表達式。日期運算符分為“+”和“-”兩種,其作用分別是在日期數據上增加或減少一個天數,在日期時間數據上增加或減少一個秒數。兩個運算的優先級別相同。

日期時間操作符有:

+:添加一個天數或秒數

-:減少一個天數或秒數

注意:日期和日期、日期時間和日期時間只能相減,不能相加。(p64)

(4).關係表達式

由關係運算符連接兩個同類數據對象進行關係比較的運算式稱為關係表達式。關

系表達式的值為邏輯值,關係表達式成立則其值為“真”,否則為“假”。

表 關係運算符

運算符 功能 表 達 式舉例 結果

< 小於 15<4*6 .T.

> 大於 ‘A’ > ‘1’ .T.

= 等於 2+4 = 3*5 .F.

<>、#、!= 不等於 5 <> -10 .T.

關係運算符的優先級別相同。關係表達式運算時,就是比較同類兩數據對象的“大小”,對於不同類型的數據,其“大小”或者是值的大小,或者是先後順序。日期或日期時間數據以日期或時間的先後順序為序。在Visual FoxPro系統中,字符型數據的比較相對複雜,默認規則為:

1)單個字符

單個字符的比較是以字符ASCII碼的大小,作為字符的“大小”,也就是先後順序;

2)漢字

系統默認按漢字的拼音排列漢字的順序,也就是以漢字的拼音順序比較“大小”

3)字符串

兩個字符串進行比較的基本原則是從左到右逐個字符進行比較。

當兩串做“==”和“=”比較時,運算結果與SET EXACT ON/OFF的設置有關。默認是OFF狀態。

● 精確比較:用運算符==進行兩串的精確比較時,只有當兩串長度相同,字符相同,排列一致時才成立;(EXACT ON或OFF)

● 相等比較:用運算符=進行兩串比較,當處於OFF狀態時,只要右邊的字符串與左邊字符串的前部分內容相匹配,結果就為真.T.。例如:“abc”=“abd”為假, “abc”=“abcde”為假,“abcde”=“abc”為真;當處於ON狀態時,先在較短字符串的尾部加上若干個空格,使兩個字符串長度相等,然後再進行比較。例如: “abc”=“abcde”為假,“ab”=“ab ”為真;

● 大小比較:用運算符< 或 >進行兩串比較時,比較到第1個不相同字符為止,否則,長度較長的串較“大”;

● 其他比較:除上述運算符之外的其他運算符<>、<=和>=的比較,均可看作是兩個運算符以邏輯“或”的關係構成的複合運算;