第九章表示式 函式

2022-11-24 00:51:09 字數 5003 閱讀 1907

(一) 常量和變數

1、 常量

常量:指程式執行期間其值不變的量, 其型別主要有以下五種:

(1) 字元型常量:

用定界符(單引號『』、雙引號" "和方括號[ ])括起來的字串。

(示例:"ade" 『568』 [book])

注意:1、 定界符不作為字元型常量本身,但它規定了常量的型別以及常量的起始與終止界限。

2、 字元型常量的定界符必須成對匹配 (例:"my name『 , [bcde」 兩種表示均錯]。

3、 若某種定界符也是字串本身的內容,則需要用另一種定界符作為該字串的定界符。 (例:" 』abcd』", ["abc[ned] "])

4、 不包含任何字元的字串("")叫空串,它與包含空格的字串(" "不同)。

(2) 數值型常量:

用來表示乙個數量的大小。

構成:由數字,負號,小數點構成。表示形式:

一般: 538, -10.5

科學記數法: 56e-12, 34e4, -1.05e+20

(3) 貨幣型常量:

用來表示貨幣值,書寫時應加前導符」$」

注:貨幣型常量無科學記數表示法,其處理和運算時採用4位小數,如果乙個貨幣型常量多於4位小數,則系統會自動將多餘的小數四捨五入。

例:$123.45678將儲存為$123.4568 (超過4位自動四捨五入)

例:$332e12 (錯誤) $435 (正確)

(4) 日期型常量:

表示乙個確切的日期,

花括號作為定界符,分隔符為斜槓(/),連字元(-),句點(.)或空格中任一種,預設為斜槓(/)。

影響日期格式的命令:

1) set mark to [日期分隔符]

功能:設定日期的分隔符

分隔符可設定為預設時系統統預設為斜槓。

2) set date [to] american | ansi | ymd等

功能:設定日期的的顯示格式,預設為美國格式

3) set century on/off

功能:設定日期型資料顯示時年份以4位還是以2位顯示。

4) set strictdate to [0/1/2]

功能:用設定是否對日期格式進行檢查

0表示不進行嚴格日期格式檢查,與早期foxpro相容

1表示進行嚴格日期格式檢查,系統預設

2表示進行嚴格日期格式檢查,且對ctod( )和cdot( )函式也有效。

(5) 邏輯型常量:

只有邏輯真或邏輯假兩個值,用句點(. .)來作定界符。

邏輯真的表示形式有: .t. , .t. , .y. , .y.

邏輯假的表示形式有: .f. , .f. , .n. , .n.

(示例:.t. .t. .f. .f. .y. .n. .y. .n.)

注:邏輯型常量的定界符不能省略。

2、 變數

變數:在使用過程中其值可以改變的量。分為字段變數、記憶體變數兩大類

(1) 記憶體變數:它是記憶體中的乙個區域,其值就是儲存於該區域裡的資料,它常用來儲存常數、中間結果或最終結果。

(2) 當記憶體變數名與字段變數名同名時,欄位名優先於記憶體變數名,若確實要使用記憶體變數,則可在其前加上m->或(m.)以示訪問的是記憶體變數,而非欄位變數。

(3) 記憶體變數的賦值

格式1:

store 表示式 to

store 變數名列表或陣列名列表

功能:將表示式的值賦給乙個或多個記憶體變數.

格式2:

記憶體變數名=表示式

格式2只能給乙個變數賦值,而格式1可給多個記憶體變數或陣列賦值。

【例如】

store 3*4 to a1,a2 ,a3,a4,a5 則a1,a2,a3,a4,a5值均為12

【例如】

b1=3 將b1賦值3;

b2=b1+2 將b1加2後的值賦給b2,此時b2等於5;

b2=b2+3 將b2加3後的值再賦給b2,此時b2等於8。

說明:乙個變數的值可以不斷變化,最終結果是它最後一次的賦值,在此,"="不是等於運算子,而賦值運算子。乙個命令列只能有乙個命令動詞,若命令列中沒有其他命令動詞,則最左邊的等號為賦值語句的命令動詞;如果乙個命令列已經有乙個命令動詞,則等號是關係運算子。

(4) 表示式值的顯示

? 換行顯示記憶體變數或表示式的值

?? 同行顯示記憶體變數或表示式的值

(5) 顯示記憶體變數

格式:list / display memory [like 萬用字元] [to printer / to file 檔名]

說明:萬用字元指」?」和」*」。

?:表示任意的乙個字元。

*:表示任意多個字元。

like短語用於顯示與萬用字元匹配的記憶體變數

list 和display區別為:滾屏和分屏顯示

(6) 釋放記憶體變數

格式1:release 記憶體變數名錶

格式2:release all [like 萬用字元/except 萬用字元]

格式3:release all [extend]

格式4:clear memory

說明:(1)、格式1用釋放指定的記憶體變數。

(2)、格式2:選用like短語用於清除與萬用字元本匹配的記憶體變數,若選用except短語,用於清除與萬用字元不相匹配的變數。

(3)、格式3用於清除所有記憶體變數。

(4)、格式4用於在關閉所有檔案的同時清除所有的記憶體變數。

示例:release all

release x,y,z

release all like a*

(7) 陣列

定義陣列的命令:

dimension | declare 陣列名1 (下標上限1 [,下標上限2])

說明:1) 陣列的下標允許使用圓括號或方括號括起來。

2) 在同乙個陣列中,不同的陣列元素資料型別可以不同。

3) 陣列一旦被定義之後,該陣列的每個元素的初值為邏輯假值,即.f.,可以使用有關的命令給陣列元素賦值。

例如:dimension aa(3),c[2,3]

二維陣列舉例:

dimension a(2,3)

a(1,1)=1 a(1,2)=2 a(1,3)=3

a(2,1)=4 a(2,2)=5 a(2,3)=6

1 2 3

4 5 6

?a(1,1)

二維陣列元素的存放:按行存放

例如: 給二維陣列x和一維陣列y進行賦值。

dimension x(3,4),y(3)

store 5 to x

y(1)=325

y(2)=「abc」

y(3)=.t.

(二) 表示式

表示式是指用運算子將常量、變數、欄位或函式連線起來的有意義的式子。

表示式值:表示式最終計算結果

表示式的型別:由表示式值的資料型別決定,主要有:數值型、字元型、日期型、關係型、邏輯型等。

1、 數值表示式

數值表示式是由算術運算子將常量、變數、欄位或函式連線起來的式子,其結果仍為數值型資料。

(1)、數值運算子:圓括號()、乘方(**或^)、乘(*)、除(/)、取餘(%)、加(+)、減(-)。

(2)、數值表示式:由數值運算子將數值型常量、變數、函式等連線起來的式子,其結果為數值型。

(3)、運算子的優先順序:括號、乘方、乘除與取模、加減。

例:取餘運算子(%)的應用。

?10%3結果為 1

?-10%3結果為 2

例:取乘方(**或^)運算子的應用

?9**1/2 &&& 結果為 4.5

2、 字元表示式

字元表示式是由字元運算子將常量、變數、欄位或函式連線起來的式子,其結果仍為字元型資料。在字元運算子兩邊的資料必須是字元型資料。

(1)字串運算子:+、-、字串包含運算子($)和精確比較運算子(= =)。

說明:+:兩個字串首尾連線形成新字串;

-:當第乙個字串的尾部有空格時,

將第乙個字串尾部的空格移到第二個字串的尾部,然後,再將兩個字串連線起來。

【例】 ? "abc "+"def" ="abc def"

abc "- "def"="abcdef "

包含運算子$:檢測左邊的字串是否被包含在右邊的字串中。如果包含,返回邏輯真值(.t.),否則返回邏輯假值(.f.)。

精確比較運算子==:只有當兩邊的字串完全相等時,才返回邏輯真值(.t.),反之假(.f.)。

(2)字元表示式:由字串運算子將字元型常量、變數、函式等連線起來的式子。

例: ? "abc "+" bcd結果為"abc bcd"

abc "-" bcd結果為"abc bcd "

book"$"bookstore結果為(.t.)

the"$」this結果為(.f.)

that"= ="that結果為(.t.)

that "= ="that結果為(.f.)

3、 日期表示式和日期時間表示式

(1)日期型運算子:(+)、(-) 只有此兩種

例如? +20結果為:

? - 20結果為:

? - 結果為3600

例如:已知某個人的出生日期為2023年7月20日,計算其現在年齡為多少?

2010-11-20}-)/365

(2)比較:後大前小例:> &&& 結果為 .t.

(3)4種合法應算:

t+n d+n

n+t n+d

t-t d-d

t-n d-n

注意:(1)兩個日期及日期時間型資料的相加是無意義的。

(2)+和-既可作為日期運算子,也可作算術和字串運算子,而使用時具體做何種運算子受其所連線運算物件決定。

4、 關係表示式

1、關係運算

(1)關係運算子:小於(<)、大於(>)、等於(=)、不等於(<>、#或!=)、小於等於(<=)、大於等於(>=) 子串包含測試($)。

第九章注意

考試要求 通過對本章的學習,理解注意的概念 注意的功能和外部表現 掌握注意的分類,容易引起無意注意的條件和有利於保持有意注意的條件 重點把握注意的品質,懂得如何運用注意的規律來組織教學 識記無意注意 有意注意 注意的範圍 注意的穩定性 注意的分配 注意的轉移 興趣 直接興趣 間接興趣 興趣效能 興趣...

第九章控制

典型例題分析 一 單項選擇題 1.能夠有效避免消極後果,降低經濟成本的控制型別是 a.前饋控制 b.現場控制 c.反饋控制 d.全面控制 解析 前饋控制 現場控制 反饋控制三大基本型別是依據控制時間點的不同而劃分的。反饋控制是在消極後果已經造成後實施的,是最為困難的控制。現場控制突出了時效性,發現問...

第九章期權

第九章期權與期權交易 一 單選題 1.期權從買方的權利來劃分,有 b a.現貨期權和 期權 c.商品期權和金融期權 b.看漲期權和看跌期權 d.美式期權和歐式期權 2.看漲期權又稱為 a a.買方期權 c.賣方期權 b.認沽期權 d.賣權 3.期權買方在期權合約到期日之前不能行使權利的這種期權是 c...