Qbasic語言

Qbasic語言

QBASIC語言是Microsoft公司開發的,MS-DOS 5.0自帶的一種電腦程式設計語言。它是由BASIC語言發展而來的一種模組化和結構化的BASIC語言版本,它不但繼承了BASIC語言版本的易學、易用等特點,而且擴充了其功能,主要表現在:擴充了變數和常量的類型;提供了新的選擇結構; 改進了循環結構;提供了作為單獨模組的子程式和函式;不再需要行號; 具有良好的編輯環境;提供在線上幫助;提供“分步執行”、“跟蹤”等調試工具;採用先進的解釋執行方式等幾個方面。

QBASIC語言的數據類型

QBASIC語言的數據是QBASIC程式的處理基礎和運算對象。能夠熟練掌握QBASIC語言的數據類型、形態和運算特點,是正確使用 QBASIC語言行程式設計的基礎。

Qbasic語言 Qbasic語言

1、QBASIC語言的數據類型

QBASIC程式所處理的數據基本類型有數值型數據和字元型數據。QBASIC語言的數據類型分類如右圖所示。

2、QBASIC語言的數據形態

QBASIC語言的數據形態,也有常數、常量、變數、函式、表達式五種;但是,不同類型的 QBASIC數據,有各自不同的表現形態。常數是其他各種形態的取值基礎。

3、QBASIC語言的數據運算

QBASIC語言中的運算量有常量、變數、數組和數組元素、標準函式和自定義函式等。對數值型數據可以進行加、減、乘、除等數值運算,得到的結果也是數值型的。

除數值運算外,還有非數值運算,例如建立職工檔案、查找職工姓名等,這時 QBASIC程式處理的就是非數值型數據。最常見的非數值型數據就是字元型數據。

常量和變數

常量

常量是指在程式執行過程中,其值永遠不能改變的數據。例如 5.4、10.3、2等都是常量。在 QBASIC語言中有兩種類型的常量:數值常量和字元串常量。

1、數值常量

數值常量又包括整型常量和實型常量兩類。

(1)整型常量

整型常量只包括阿拉伯數字(0~9),不能在數字之間出現分位符號。如-54、+32等都是合法的QBASIC整型常量;而12,000,45,698,-56,000等都是不合法的QBASIC整型常量。

整型常量又分為常規整型(簡稱“整型”)常數和長整型常數兩種。

“整型”常數是指取值範圍在-32768~32767之間的整數或該範圍內帶有後綴“%”的數。存儲時“整型”常量占2個字元。例如:333、453%等。

注意:在 QBASIC語言中,帶有後綴“%”的“整型”常量與數學中常用的百分數的表示方法是不同的。比如百分之三十,在QBASIC語言中只能表示成0.3 或 30/100。

長整型常量是指取值範圍為-2147483648~2147483647 之間的整數或該範圍內帶有後綴“&”的數。存儲時長整型常量占4個字元。例如:4400、14525&等。

有後綴“&”的數。存儲時長整型常量占4個字元。例如:4 400、14 525&等。

(2)實型常量

QBASIC語言中的實數有單精度實型和雙精度實型兩種,它們分別又分為兩種:日常計算法和科學計算法。

① 單精度實型和雙精度實型常量。單精度實型常量指不超過7位有效數字的小數或該範圍內帶有後綴“!”的數或以科學計算法(“E”或“e”為底的)表示的浮點數,存儲時占 4個位元組。例如:3.45、333.34、645.23!、33e2 等。

雙精度實型常量指達到15位有效數字的小數或該範圍內帶有後綴“#”的數或以科學計算法(“D”或“d”為底的)表示的浮點數,存儲時占 8 個位元組。例如:134 345 143.34、343 525 000#、343.d23等。

② 單精度實型和雙精度實型常量用指數形式表示的規則。在QBASIC語言中,一個指數形式表示的常量由數字部分和冪數部分(指數部分)組成。

QBASIC語言規定,指數部分(冪數部分)應由三個部分組成。

① 字母“E”或“e”或“D”或“d”。

② 指數的符號“+”或“-”(“+”可以省略)。

③ 不超過3位的整數。

如,123456E-2,8764.23785D+306 是合法的,而4.6E3.5,-7654321D -6.3是不合法的。

(3)類型區分方法

在程式中出現常數時,QBASIC語言區分方法如下:

① 凡範圍在-32768(即-2 )~32767(即2 -1)之間且不帶小數點的或該範圍內後綴為“%”的常數均作為“整型”常數。

② 凡範圍在-2147483648(即-2 )~2147483647(即2 -1)的範圍之間不帶小數的或該範圍內後綴為“&”的常數,作為“長整型”常數對待。

③ 單精度浮點型常數。

●不超過7位且帶小數點的常數。

●末尾加“!”的不超過7位數字的十進制小數。

●用“E”或“e”表示指數部分的浮點實數。

④ 雙精度浮點型常數。

●多於7位且包含小數點的常數。

●末尾加“#”的常數。

●用“D”或“d”表示指數部分的浮點實數。

2、字元串常量

由一對雙引號括起來的零個或多個合法字元(通常為ASCII字元)稱為字元串常量。例如〞CHINA〞,〞QBASIC〞,〞DOS 6.0〞等都是合法的字元串常量。注意,〞〞為空串,而〞 〞為含一個空格字元的字元串常量,兩者是不同的。字元串常量在書寫時,兩端的雙引號不可省略,而在輸出時兩端的雙引號並不輸出。例如,PRINT〞QBASIC〞的結果為QBASIC。

3、符號常量

符號常量就是用一個符號代替一個常量。在QBASIC語言中,常用CONST語句來定義符號常量。使用符號常量有三個優點:

① 程式的可讀性好。符號常量用的符號應該“見名知義”,使人閱讀程式時容易了解該常量是什麼含義。

② 便於程式的修改。如果程式多處用到某一常量,若不用符號常量,修改時容易漏改,而用符號常量便可以做到“一改全改”。

③ 便於程式的書寫。如果程式多處用到某一位數較多的常量時,書寫麻煩還容易出錯,而使用符號常量只在定義時書寫一次就行了。

變數

在QBASIC程式的執行過程中,其值可以改變的量稱為變數。

1、變數名

QBASIC 語言規定:變數名以字母打頭,由字母、數學、小數點和下劃線組成的,長度為1~40 個字元的字元串。變數名可以不區分大小寫(即大小寫字母等效)。

QBASIC 語言的保留字(如語句定義符和函式名等)不能作為變數名。必要時,變數的類型符可以寫在變數名的後面。在給變數命名時,應儘量做到“見名知義”。建議變數名最好不使用小數點,長度儘量不超過8個字元為宜。

每一個變數都在記憶體中占據一定的存儲單元。變數名實際上就是變數的地址符號,而變數的值就是以該變數名為符號地址的存儲單元的內容。

2、變數的類型

每一個變數都是用來存儲數據的,依數據的類型不同,變數也相應地分為不同的類型。就基本類型而言有,整型變數、長整型變數、單精度型變數、雙精度型變數、變長字元串型變數和定長字元串型變數。說明或定義變數類型的方法有兩種:

(1)變數名加類型符

用 %, &, !, #, $ 分別作為整型、長整型、單精度型、雙精度型和字元串型變數的類型字義符,如sum%,Fact&, price!,dou#,str$分別是整型、長整型、單精度型、雙精度型和字元串型變數。其中,規定單精度型變數的類型符可省略不寫,如X,A,B等都是單精度型變數,這種情況用得最多。另外,定長字元串型變數不能用加類型符的方法定義,只能用DIM語句定義。

(2)DIM語句定義類型

除了可以在變數名的末尾加類型定義符外,QBASIC 語言還提供另一種方法來指定變數的類型。它規定的類型名有:INTEGER(整型)、LONG(長整型)、SINGLE(單精度型)、DOUBLU(雙精度型)、STRING(字元串型)等。用DIM語句來指定變數的類型。

(3)說明

① 單精度型變數名可以有類型定義符“!”,也可以沒有。如X!和X兩者等價。

② 一個變數名末尾加上類型定義符後,該類型定義符就成為變數名的一部分,要整體引用。如 sum%是整型變數,如果不寫%而只寫 sum,則與sum%不是同一個變數,sum是實型變數。

③ 一個單(雙)精度常數在表示形式上有定點數形式與浮點指數形式之分;但單精度型變數沒有定點形式與浮點形式之分。在記憶體中一律以規範化的指數形式存儲。

④ 在寫程式時,應事先大致估計所用的數值變數的數值範圍,然後定義恰當的類型。

⑤ 字元串變數有兩種類型,可變長的和固定長度的。

標準函式

QBASIC 語言提供的標準函式包括數值函式、字元串函式和系統函式等。下表中列出了一些最常用的數值函式(或數學函式)。

函式
功能說 明
SIN(x)正弦函式自變數單位為弧度
COS(x)餘弦函式自變數單位為弧度
TAN(x)正切函式自變數單位為弧度。
ATN(x)反正切函式函式值的單位為弧度
LOG(x)以e 為底的對數函式x 值應為正數
EXP(x)以e 為底的指數函式e≈2.71828
SQR(x)平方根函式x應大於或等於0
ABS(x)絕對值函式例如ABS(-4)=4,ABS(4)=4
INT(x)得到一個不大於x的最大整數例如 INT(-8.6)=-9,INT(8.6)=8

說明:

① 函式的自變數X是個形式參數,調用函式時要用實際參數代替形式參數。實際參數可以是一個常量、變數或表達式。

② 調用一個函式不能單獨作為一個語句,只是作為一個表達式或表達式的一部分。一個數學函式的值是一個數值,它可以參加運算。

運算符和表達式

QBASIC 語言的運算符分算術運算符、關係運算符和邏輯運算符,相對應的有算術表達式、關係表達式和邏輯表達式。

算術運算符和算術表達式

1、算術運算符

QBASIC語言的算術運算符有下面幾種

運算符含義舉例
+4+3,結果為7
-6-3,結果為3
*5*3,結果為15
/5/4,結果為1.25
\整除5\4,結果為1
MOD求余5MOD4,結果為1
^乘方2^4,結果為16

在混合運算時,按優先權從高到低順序如下:

^(乘方) → -(取相反數)→*(乘),/(除)→ \(整除)→ MOD(求余) →+(加),-(減)

對\,MOD,^三個運算符的說明:

① A^0 = 1,其中 0^0=1是對數學的補充定義。

② 0^B = 0(B>0)。

③ B為正整數時,A ^B =(A * A * … * A)(B個);B為負整數時,要求A≠0,A^B =1/(A * A * … * A)(|B|個)。

④ B為非零實數時,除了②以外,要求A>0:A^B = EXP(B * LOG(A))。對於\和MOD要求餘數的符號和被除數的符號相同。

2.算術表達式

表達式的基本概念是用運算符(可以使用括弧)連線運算量形成的式子。用算術運算符(可以使用括弧)連線數值運算量(包括常量、變數、函式等)形成的式子稱為算術表達式,其值是一個數值。在進行表達式運算時要注意各運算符的優先權順序。

關係運算符和關係表達式

1、關係運算符

QBASIC語言提供的關係運算符(又稱關係比較符)有如下六種:<(小於), >(大於),<=(小於等於), >=(大於等於),=(等於), < >(不等於)。關係運算符的優先權是相同的,即無先後次序可言。

2、關係表達式

關係表達式是指由一個關係運算符連線兩個算術表達式(或兩個字元串表達式)形成的式子。例如A+B>C; I<=B;B*B-4*A*C>=0都是合法的關係表達式。

所謂字元串表達式是指用字元串連線運算符“+”連線字元串量(包括字元串的常量、變數、函式和數組元素等)形成的式子。如,“SUB”,“ABC”+“CDE”,“A”+“student”。

關係表達式的值是一個邏輯值,即“真”或“假”。例如,3<5,9<>8,“ABC”=“ABC”的值均為“真”;3>5,9=8的值均為“假”。

在QBASIC語言中,沒有專門設定邏輯型常量和邏輯型變數,而是用數值來代表邏輯值。

規定以“0”代表“假”,以“-1”代表“真”。

邏輯運算符和邏輯表達式

1、邏輯運算符

QBASIC語言提供了3個邏輯運算符,按優先權從高到低如下:NOT(邏輯非)→AND(邏輯與)→OR(邏輯或)。NOT為一元邏輯運算符,AND和OR都是二元邏輯運算符。

2、邏輯表達式

一個邏輯表達式是用邏輯運算符連線關係表達式(或其他邏輯量)形成的式子。關係表達式是邏輯表達式的特例。

不同類型運算符的優先次序

通常同類型的數據進行運算,結果的類型不變。但關係運算不同,兩個數值量或兩個字元串經過關係運算後,結果是一個邏輯值。

一個邏輯表達式內可能包括算術運算符、關係運算符和邏輯運算符,這三類運算符的優先權從高到低為:算術運算符→關係運算符→邏輯運算符 。

相關詞條

相關搜尋

熱門詞條

聯絡我們