VBS編程教程 (第2篇)
第二篇:
我真沒(méi)想到, 第一次的作業(yè)竟然有人不會(huì).
看來(lái)要講的非常非常細(xì)致才行, 嗯, 今天講各種"量"和基本運(yùn)算
先說(shuō)常量, 這個(gè)比較簡(jiǎn)單.
什么是常量呢, 常量就是其值不可變化的量.
常量分為兩種:第一種, 自然常量. 這叫是因?yàn)樗鼈儽旧砭褪浅A? 你怎么更改21的值呢? 他永遠(yuǎn)都是21, 不可能變成46
如果你在程序中使用"21=46", 這樣的語(yǔ)句將會(huì)引發(fā)一個(gè)錯(cuò)誤. 同樣的, 字符串也是常量 (還記得字符串嗎? 就是包裹在""之間的一串字符), "Hello World"就是一個(gè)例子, 如果你使用"Hello World"="Bye"這樣的語(yǔ)句同樣會(huì)引發(fā)一個(gè)錯(cuò)誤. 你能舉出自然常量的更多例子嗎?
第二種, 是我們自己定義的常量,這種量也使用代號(hào), 他們也被賦值, 但和變量的不同點(diǎn)在于, 他們?cè)诙x的時(shí)候被賦值,以后就不能改變了,如果企圖改變將會(huì)引發(fā)一個(gè)錯(cuò)誤. 定義一個(gè)變量,我們使用"const"這個(gè)關(guān)鍵字(關(guān)鍵字的意思是系統(tǒng)定義了有特殊功能的字, 不能作為變量名或常量名使用),格式是:const 常量名=常量值.
例如:
const PI=3.1415926
const NAME="記憶碎片"
這樣我們就定義了兩個(gè)常量, PI和NAME, 一般說(shuō)來(lái), 常量名全部使用大寫(xiě), 但也可以不用, 隨你喜好. 將一些在程序中不需要改變的值定義為常量是個(gè)好習(xí)慣, 這樣能防止不必要的意外. 另外, 使用自定義常量也可以減少你的工作量. 比如:
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
這個(gè)程序輸出五次Hello World, 如果你想要改變輸出為Bye-Bye, 就必須修改全部程序, 當(dāng)然你可以手動(dòng)修改5次, 但如果你要輸出1000次呢? 常量就可以替我們解決這個(gè)問(wèn)題:
const hw="Hello World"
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
這樣當(dāng)你要修改輸出的時(shí)候只要修改hw的值就行了.
好了, 現(xiàn)在我們來(lái)看看編程的第一塊重要"基石":變量. 解釋變量最好的辦法我覺(jué)得是"盒子", 一個(gè)變量好像一個(gè)盒子, 里面只能裝一個(gè)東西, 當(dāng)你要裝進(jìn)去別的東西的時(shí)候必須把原有的東西拿出來(lái). 這個(gè)"盒子"是有名稱(chēng)的, 當(dāng)你在程序中使用變量的時(shí)候, 系統(tǒng)會(huì)打開(kāi)盒子取出里面的東西, 讓這些東西參與處理, 而不是盒子. 有些語(yǔ)言是很依賴(lài)"盒子"里面裝些什么東西, 這樣才能找到合適的"盒子"(比如C語(yǔ)言), 但VBS給我提供的是能夠自動(dòng)伸縮的"魔術(shù)盒", 我們不用關(guān)心裝進(jìn)去的是什么東西,
VBS會(huì)自動(dòng)調(diào)整盒子的大小. 例如:
Dim a1,a2,a3
a1=14
a2=12.23
a3="Hello"
而不用像C語(yǔ)言那樣麻煩: 或者是VB的正規(guī)聲明(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"
嗯……扯遠(yuǎn)了……
變量有什么用呢? 哇, 那用處可大了. 最簡(jiǎn)單, 你并不能確定程序運(yùn)行時(shí)變量的值, 比如前一節(jié)課我們編的輸入姓名的程序, 你不能確定InputBox返回的是什么(還記得Inputbox的返回值嗎? 就是你輸入的內(nèi)容), 所以你就沒(méi)有辦法應(yīng)對(duì)各種情況, 但我們用name這個(gè)"盒子"把用戶的名字裝起來(lái), 到用的時(shí)候我們只要知道name這個(gè)盒子的名字就行了, 系統(tǒng)會(huì)自己打開(kāi)他并把里面的內(nèi)容拿出來(lái)用. 再舉個(gè)例子, 我們編寫(xiě)一個(gè)程序計(jì)算一個(gè)矩形的面積, 比如這個(gè)程序要發(fā)給小學(xué)生使用:
dim a,b,s
a=15
b=12
s=a*b
msgbox(s)
這樣就可以求出長(zhǎng)為15,寬為12的矩形的面積了, 是不是很簡(jiǎn)單? 當(dāng)然, 這個(gè)程序也可以這樣寫(xiě):
dim s
s=15*12
msgbox(s)
這樣看起來(lái)程序短了許多, 也節(jié)約內(nèi)存, 但并不是鼓勵(lì)的做法, 為什么? 請(qǐng)看下面.
現(xiàn)在, 我們的程序要變得像點(diǎn)樣子才行, 誰(shuí)的程序?qū)懗鰜?lái)還要?jiǎng)e人修改源代碼才能用啊?
所以, 我們要接受用戶的輸入, 還記得嗎? InputBox函數(shù).
修改后程序如下:
dim a,b,s
a=inputbox("請(qǐng)輸入矩形的長(zhǎng):")
b=inputbox("請(qǐng)輸入矩形的寬:")
s=a*b
msgbox(s)
ok, 這么一修改, 無(wú)論用戶輸入怎樣的數(shù)據(jù), 我們都能計(jì)算出矩形的面積了. 如果你用s=15*12能改嘛? 當(dāng)然不行.
我想你已經(jīng)發(fā)現(xiàn)了, vbs中的數(shù)學(xué)計(jì)算和真正的算術(shù)沒(méi)有什么不同, +,-,*,/,(),[],{}都是一樣的用法, 比如:
dim ans
ans=12+32/4+[(23-10)*2]
msgbox(ans)
四則運(yùn)算的法則在編程中同樣生效, 你可以在編程中重新獲得小學(xué)時(shí)候的樂(lè)趣(你恨數(shù)學(xué)?那就別學(xué)電腦了).
在編程中有一個(gè)有趣的運(yùn)算符是"mod", 這個(gè)運(yùn)算符叫做"取余運(yùn)算符", 就是取得一次除法的余數(shù), 例如
dim a
a=16 mod 5
你知道a等于幾嗎? Bingo! 沒(méi)錯(cuò), 就是1. 因?yàn)?6 / 5 =3....1, 所以mod計(jì)算的結(jié)果就是1.
還有一個(gè)運(yùn)算符是"^"(就是鍵盤(pán)"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
我們一次不要講太多, 這次就講到這里, 現(xiàn)在總結(jié)一下.
要點(diǎn):
1) 常量分為自然常量和自定義常量, 常量的值不可修改
2) 變量就像盒子, 我們不在乎盒子里裝的是什么, 但一定要知道盒子的名字
3) 四則運(yùn)算在編程中沒(méi)有任何不同
4) MOD是取余運(yùn)算
作業(yè):
1) 編一個(gè)程序, 計(jì)算圓形的面積, 半徑由用戶給出 (使用Inputbox) PI取值3.14159
2) 編一個(gè)程序取得20 / 3 的余數(shù)
欄 目:vb
下一篇:最新病毒結(jié)合auto.exe,游戲盜號(hào)木馬下載者手工查殺microsofts.vbs
本文標(biāo)題:VBS編程教程 (第2篇)
本文地址:http://mengdiqiu.com.cn/a1/vb/7800.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語(yǔ)句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁(yè)面中添加VBscript代碼


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱(chēng)qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文