第二篇:
我真沒想到, 第一次的作業竟然有人不會.
看來要講的非常非常細致才行, 嗯, 今天講各種"量"和基本運算
先說常量, 這個比較簡單.
什么是常量呢, 常量就是其值不可變化的量.
常量分為兩種:第一種, 自然常量. 這叫是因為它們本身就是常量, 你怎么更改21的值呢? 他永遠都是21, 不可能變成46
如果你在程序中使用"21=46", 這樣的語句將會引發一個錯誤. 同樣的, 字符串也是常量 (還記得字符串嗎? 就是包裹在""之間的一串字符), "Hello World"就是一個例子, 如果你使用"Hello World"="Bye"這樣的語句同樣會引發一個錯誤. 你能舉出自然常量的更多例子嗎?
第二種, 是我們自己定義的常量,這種量也使用代號, 他們也被賦值, 但和變量的不同點在于, 他們在定義的時候被賦值,以后就不能改變了,如果企圖改變將會引發一個錯誤. 定義一個變量,我們使用"const"這個關鍵字(關鍵字的意思是系統定義了有特殊功能的字, 不能作為變量名或常量名使用),格式是:const 常量名=常量值.
例如:
const PI=3.1415926
const NAME="記憶碎片"
這樣我們就定義了兩個常量, PI和NAME, 一般說來, 常量名全部使用大寫, 但也可以不用, 隨你喜好. 將一些在程序中不需要改變的值定義為常量是個好習慣, 這樣能防止不必要的意外. 另外, 使用自定義常量也可以減少你的工作量. 比如:
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
這個程序輸出五次Hello World, 如果你想要改變輸出為Bye-Bye, 就必須修改全部程序, 當然你可以手動修改5次, 但如果你要輸出1000次呢? 常量就可以替我們解決這個問題:
const hw="Hello World"
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
這樣當你要修改輸出的時候只要修改hw的值就行了.
好了, 現在我們來看看編程的第一塊重要"基石":變量. 解釋變量最好的辦法我覺得是"盒子", 一個變量好像一個盒子, 里面只能裝一個東西, 當你要裝進去別的東西的時候必須把原有的東西拿出來. 這個"盒子"是有名稱的, 當你在程序中使用變量的時候, 系統會打開盒子取出里面的東西, 讓這些東西參與處理, 而不是盒子. 有些語言是很依賴"盒子"里面裝些什么東西, 這樣才能找到合適的"盒子"(比如C語言), 但VBS給我提供的是能夠自動伸縮的"魔術盒", 我們不用關心裝進去的是什么東西,
VBS會自動調整盒子的大小. 例如:
Dim a1,a2,a3
a1=14
a2=12.23
a3="Hello"
而不用像C語言那樣麻煩: 或者是VB的正規聲明(VB可以聲明也可以不用)那樣:
int a1; Dim a1 as integer
float a2; Dim a2 as Double
char* a3; Dim a3 as strnig
a1=14; a1=14
a2=12.23; a2=12.23
a3="Hello"; a3="Hello"
嗯……扯遠了……
變量有什么用呢? 哇, 那用處可大了. 最簡單, 你并不能確定程序運行時變量的值, 比如前一節課我們編的輸入姓名的程序, 你不能確定InputBox返回的是什么(還記得Inputbox的返回值嗎? 就是你輸入的內容), 所以你就沒有辦法應對各種情況, 但我們用name這個"盒子"把用戶的名字裝起來, 到用的時候我們只要知道name這個盒子的名字就行了, 系統會自己打開他并把里面的內容拿出來用. 再舉個例子, 我們編寫一個程序計算一個矩形的面積, 比如這個程序要發給小學生使用:
dim a,b,s
a=15
b=12
s=a*b
msgbox(s)
這樣就可以求出長為15,寬為12的矩形的面積了, 是不是很簡單? 當然, 這個程序也可以這樣寫:
dim s
s=15*12
msgbox(s)
這樣看起來程序短了許多, 也節約內存, 但并不是鼓勵的做法, 為什么? 請看下面.
現在, 我們的程序要變得像點樣子才行, 誰的程序寫出來還要別人修改源代碼才能用啊?
所以, 我們要接受用戶的輸入, 還記得嗎? InputBox函數.
修改后程序如下:
dim a,b,s
a=inputbox("請輸入矩形的長:")
b=inputbox("請輸入矩形的寬:")
s=a*b
msgbox(s)
ok, 這么一修改, 無論用戶輸入怎樣的數據, 我們都能計算出矩形的面積了. 如果你用s=15*12能改嘛? 當然不行.
我想你已經發現了, vbs中的數學計算和真正的算術沒有什么不同, +,-,*,/,(),[],{}都是一樣的用法, 比如:
dim ans
ans=12+32/4+[(23-10)*2]
msgbox(ans)
四則運算的法則在編程中同樣生效, 你可以在編程中重新獲得小學時候的樂趣(你恨數學?那就別學電腦了).
在編程中有一個有趣的運算符是"mod", 這個運算符叫做"取余運算符", 就是取得一次除法的余數, 例如
dim a
a=16 mod 5
你知道a等于幾嗎? Bingo! 沒錯, 就是1. 因為16 / 5 =3....1, 所以mod計算的結果就是1.
還有一個運算符是"^"(就是鍵盤"6"上面的小箭頭), 他表示"乘冪"(或者是"方") 比如:
dim a,b,c
a=2
b=a^2
c=a^3
msgbox(a)
msgbox(c)
則b=a*a=4, c=a*a*a=8
我們一次不要講太多, 這次就講到這里, 現在總結一下.
要點:
1) 常量分為自然常量和自定義常量, 常量的值不可修改
2) 變量就像盒子, 我們不在乎盒子里裝的是什么, 但一定要知道盒子的名字
3) 四則運算在編程中沒有任何不同
4) MOD是取余運算
作業:
1) 編一個程序, 計算圓形的面積, 半徑由用戶給出 (使用Inputbox) PI取值3.14159
2) 編一個程序取得20 / 3 的余數