第三章VF資料與資料運算

2022-10-15 15:48:14 字數 5636 閱讀 1415

第三章 vfp資料與資料運算(一)

visual foxpro的基本資料元素:

(1)常量、變數、表示式。

(2)常用函式:字元處理函式、數值計算函式、日期時間函式、資料型別轉換函式、測試函式。

1.常量常量是指在程式執行過程中始終不變化的資料,又稱為常數。在vfp中常量可分為六種型別:

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:??《表示式表》功能:計算表示式的值,並將表示式的值顯示在螢幕上。

【說明】:①命令格式中的?表示從螢幕下一行的第一列起顯示結果,??表示從當前行的當前列起顯示結果。

②《表示式表》是表示用逗號隔開的多個表示式組,命令執行時遇逗號就空一格。

4.陣列變數

陣列是具有相同的變數名、不同下標值的一組變數。陣列中的每個資料值稱為陣列元素,陣列中元素的順序號稱為下標,每個陣列元素在陣列中的位置是固定的,陣列中的元素可以通過下標來進行區分。

陣列在使用時要用dimension或declare命令來定義。這兩個命令完全相同,都是用於建立一維或二維陣列。在visualfoxpro6.

0中,同乙個陣列元素在不同時刻可以儲存不同型別的資料,在同一陣列中,每個陣列元素可以被賦予不同資料型別的值。

(1)陣列的定義

陣列必須先定義後使用,定義陣列是向系統申請陣列元素在記憶體中的儲存空間。

【格式】:

dimension|declare《陣列名1>(《數值表示式1>[,《數值表示式2>])[,《陣列名2>(《數值表示式3>[,《數值表示式4>])…]

【功能】:定義指定的各個陣列。

(2)陣列的賦值與引用

陣列元素的賦值與引用,與普通記憶體變數的規則相同。

5.系統變數系統變數是visual foxpro系統特有的記憶體變數,它由visual foxpro系統定義、維護。系統變數有很多,其變數名均以下劃線「_」開始,因此在定義記憶體變數和陣列變數名時,不要以下劃線開始,以免與系統變數名衝突。系統變數設定、儲存了很多系統的狀態、特性,了解、熟悉並且充分地運用系統變數,會給資料庫系統的操作、管理帶來很多方便,特別是開發應用程式時更為突出,學習時可對此有所關注。

例題(1)下面關於常量的敘述,不正確的一項是____。

a.常量用以表示乙個具體的、不變的值

b.常量是指固定不變的值

c.不同型別的常量的書寫格式不同

d.不同型別的常量的書寫格式相同

【解析】本題考查的知識點是常量。在visual foxpro中,常量用以表示乙個具體的、不變的值,值固定不變。常量的型別共有6種:

數值型、字元型、貨幣型、日期型、日期時間型、邏輯型,不同型別的常量,書寫格式不相同。本題的4個選項中,a,b,c的敘述都正確,選項d中認為不同型別常量的書寫格式相同是錯誤的,因此正確答案為d。

【答案】d

(2)數值型常量在記憶體中用____個位元組表示。

a.4 b.6 c.8 d.10

【解析】本題考查的知識點是數值型常量。系統規定,數值型在記憶體中用8個位元組表示。掌握這一點,一看便知選擇選項c。這種型別的題主要靠記憶,沒有技巧可言。

【答案】c

(3)貨幣型常量與數值型常量的書寫格式類似,但也有不同,表現在____。

a.貨幣型常量前面要加乙個「$」符號

b.數值型常量可以使用科學計數法,貨幣型常量不可以使用科學計數法

c.貨幣資料在儲存和計算時採用4位小數,數值型常量在此方面無限制

d.以上答案均正確

【解析】本題考查的知識點是貨幣型常量同數值型常量書寫格式的不同之處。在visualfoxpro中,貨幣型常量與數值型常量的書定格式大體相似,但也有區別:貨幣型常量前面需要加乙個前置符號;數值型常量可以用科學計數法表示,貨幣型常量不可以用科學計資料法表示;貨幣資料在儲存和計算時採用4位小數,多餘的小數按四捨五入處理。

選項a,b,c敘述都正確,因此正確答案為d。

【答案】d

(4)字元型常量的定界符不包括____。

a.單引號 b.雙引號

c.花括號 d.方括號

【解析】本題考查的知識點是字元型常量的定界符。在visual foxpro中,字元型常量的定界符有三種:單引號、雙引號、方括號。

選項a,b,d都是字元型常量的定界符,只有選項c中的花括號是日期型常量的定界符,因此正確答案為c。

【答案】c

(5)下列關於字元型常量的定界符書寫格式,不正確的是____。

a.'我愛中國'

b.['20387']

c.'¥#123'

d.["visual foxpro 6.0"]

【解析】本題考查的知識點是字元型常量的定界符的使用。visual foxpro規定,字元型常量的定界符必須成對匹配,不能有一邊單引號一邊雙引號等定界符不匹配的情況出現,選項a和d符合要求。此外,如果某種定界符本身也是字串的內容,則可以使用其他定界符,因此選項b正確;選項c中的定界符不匹配,一邊是單引號一邊是雙引號,不符合要求。

因此正確答案為c。

【答案】c

(6)在命令視窗中輸入下列命令:

?"visual foxpro",'程式設計',[好幫手]

??[學習visual foxpro],"的",『好方法'。

主螢幕上顯示的結果是____。

a.visual foxpro程式設計好幫手

b.學習visual foxpro的好方法

c.visual foxpro程式設計好幫手學習visual foxpro的好方法

d.visual foxpro程式設計好幫手學習visual foxpro的好方法

【解析】本題考查的知識點是單問號命令與雙問號命令的區別。在visual foxpro中,單問號命令的功能是在下一行顯示若干個表示式的值,雙問號命令的功能是在同一行顯示表示式的值。選項a和b只是顯示結果的一部分。

選項c中顯示的方式不正確,由於第2行是雙問號命令,所以顯示結果應該與第l行的顯示結果在同一行中,所以選項c不正確。選項d中兩個命令的顯示結果在同一行內,符合雙問號命令的規則,因此正確答案為d。

【答案】d

(7)下列符號中____不能作為visual foxpro中的變數名。

a.abc b.xyz

c.口xyz7 d.good22luck

【解析】本題考查的知識點是變數名的書寫規則。題目中的口表示空格。visualfoxpro變數名的命名規則是變數名必須以字母、漢字、下劃線開頭,變數名中不能包括小數點,在同乙個範圍內必須是惟一的。

此題中的4個變數中,只有選項c中的口xyz7是以空格開頭,它不可以作為變數名。其他選項中的變數名都滿足visual foxpro中變數名的命名規則,是合法的變數名。因此正確答案為c。

【答案】c

(8)日期型常量的定界符是____。

a.單引號 b.花括號 c.方括號 d.雙引號

【解析】本題考查的知識點是日期型常量的定界符。visual foxpro規定,日期型常量的定界符是一對花括號。本題選項a,c,d都是字元型常量的定界符,因此正確答案為b。

【答案】b

(9)下列符號中,不能作為日期型常量的分隔符的是____。

a.斜槓(/) b.連字型大小(-) c.句點(.) d.脫字元(^)

【解析】本題考查的知識點是日期型常量的分隔符的形式。在日期型常量中,系統預設的分隔符為斜扛,常用的其他分隔符還有連字型大小、句點和空格。本題4個選項中的a,b,c都可作為分隔符,只有選項d中的脫字元雖然是嚴格的日期格式中不可缺少的一部分,但它不可以作為分隔符。

因此正確答案為d。

【答案】d

(10)下面貨幣型常量的書寫格式,正確的一項是____。

a.$666.666 b.1323.4228$

c.$123.45321 d.$123.45e4

【解析】本題考查的知識點是貨幣型常量的書寫格式。在visual foxpro中,貨幣型常理的書寫格式要求如下:前面需加乙個前置符($)、小數點保留4位小數、不可以使用科學計數法。

本題中的選項b錯誤在於$符號寫在了後面;選項c錯誤在於小數點後面沒保留4位小數;選項d錯誤在於使用了科學計數法。因此正確答案為a。

【答案】a

(11)下面嚴格日期書寫格式正確的一項是____。

a. b.

c. d.

【解析】本題考查的知識點是嚴格日期的書寫格式。書寫嚴格日期格式時要注意以下幾點:花括號中的第乙個字元必須是脫字元(^);年份必須用4位表示;年、月、日的次序不能顛倒。

本題選項a中沒有脫字元;選項b是傳統的書寫格式;選項d的年份只有兩位,規定年份要4位;只有選項c符合書寫要求。因此正確答案為c。

【答案】c

(12)在命令視窗中輸入下列命令:

set mark to【-】

?  主螢幕上顯示的結果是____。

a.06/27/04 b.06-27-04 c.2004-06-27 d.2004/06/27

【解析】本題考查的知識點是set mark to命令的功能。set mark to命令的功能是指定日期分隔符。如果執行set mark to命令沒有指定任何分隔符,表示恢復系統預設的斜扛分隔符。

本題指定了連線號作為分隔符,因此顯示的結果中日期的分隔符應該為「-」,選項a和d被排除;選項c實際上是字元型常量執行的結果,該選項主要用來迷惑考生;選項b符合命令指定的要求。因此正確答案為b。

【答案】b

第三章誤差與資料處理

一 單選題 1 下列資料中,有3位有效數字的是 a.ph 4.38 b.0.020 c.1.08 d.6.2 10 5 2 考慮有效數字計算下式 0.00012 0.125 8.3 a.1.0 b.1.04 c.1.0385 d.都不對 3 對於偶然誤差,下列說法錯誤的是 a.偶然誤差的產生難以找到...

資料結構1800題第三章

第3章棧和佇列 一選擇題 1.對於棧運算元據的原則是 青島大學 2001 五 2 2分 a.先進先出 b.後進先出 c.後進後出 d.不分順序 2.在作進棧運算時,應先判別棧是否 在作退棧運算時應先判別棧是否 當棧中元素為n個,作進棧運算時發生上溢,則說明該棧的最大容量為 為了增加記憶體空間的利用率...

資料結構課後習題第三章

1.對於棧,運算元據的原則是 a.先進先出 b.後進先出 c.後進後出 d.不分順序 2.一般情況下,將遞迴演算法轉換成非遞迴應通過設定 實現。a.陣列 b.線性表 c.佇列d.棧 3.棧和佇列的共同點是 a.都是先進後出b.都是先進先出 c.只允許在端點處插入和刪除元素 d.沒有共同點 4.若元素...