當前位置:才華齋>計算機>計算機二級>

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

計算機二級 閱讀(1.67W)

以下是本站小編整理的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個不相同字元為止,否則,長度較長的串較“大”;

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