国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

VBS編程教程 (第3篇)

2020-03-24 18:28:54
字體:
來源:轉載
供稿:網友
第三篇(共六篇):

首先, 我來解決一下上次課程的幾個疑問

第一, 那個余數問題, 16 / 5 = 3...1, 是因為我改過前面的部分, 后面的忘了改了, 不好意思.

第二, 請看一下程序清單:

1)
Dim a,b,c
a=inputbox("a是:","輸入半徑")
b=Inputbox("b是:","輸入半徑")
c=a*2+b*2
Msgbox(c)
這個 輸入1、2時是6

2)
Dim a,b,c
a=inputbox("a是:","輸入半徑")
b=Inputbox("b是:","輸入半徑")
c=(a+b)*2
Msgbox(c)
這個輸入1、2時是24

為什么會不一樣呢? 在數學上c=(a+b)*2 和 c=a*2+b*2是等價的, 在VBS中也是如此. 問題出在"+"上, 在VBS中, +不僅僅是加號的意思還表示把兩個字符串連接起來, 例如"Hello"+"World"="HelloWorld" have you understood? 你還記得InoutBox函數的返回值嗎? 是字符串! 這就看出問題了吧, 在編程中"1"不等于( )1, "1"是一個字符, 而1是一個數, 所以a,b都是字符串變量, "1"+"2"="12", 這就好像我們小時跟伙伴開玩笑問他們1+1=?一樣, 我們總是笑著說"錯啦,應該是11".但為什么, a可以*2卻不發生錯誤呢? 這時VBS比較智能的一個表現, 如果這個字符串的內容是一個數且對他進行數學運算, 則把字符串強制轉換成數參與運算, 如果字符串代表一個數, 但不參加數學運算, 而是參加字符串運算(合并)則當作字符串處理, 所以你看到a+b=12, 這時候a+b的結果(12)是一個字符串, 當它要乘以2的時候就被強制轉換成了數字12, 這樣我就得到了結果24.

怎么修改這個程序呢? 我們需要用到另一個內建的函數:int, int函數的功能是將輸入值轉化成整數值, 我們這樣修改:

c=(int(a)+int(b))*2

這個意思就是把a作為參數傳遞給int函數, int函數就會返回那個整數(你的輸入值), 然后讓返回值參與運算, 這樣就得到了正確答案.所以,以后如果你用的是inputbox函數的話,最好用int語句加工一下:比如c=int(c) 'c是你自己的變量

大家是不是覺得這個課程有點枯燥, 呵呵, 變量和運算符部分的確是這樣的, 不過多多練習也就好了, 這次, 我們寫寫真正好玩的東西: 流程控制語句. 這個部分開始才是真正的編程.

首先介紹判斷結構.

在此之前, 我們先介紹一種簡單的變量類型:布爾值(Boolean), 這種變量只有兩個可能值:True,Flase,即真或假. 這種變量在某些情況下很有用(比如"開關"). 我們定義一個bool變量的方法和其他變量一樣, 賦值也一樣, 例如:

dim a,b
a=true
b=false

注意,true和"true"是不一樣的, "true"是字符串,true是布爾值, 千萬不能混淆.

回到if語句上來, 我們先來看看簡化版的if語句:if 判斷式 then 語句體 我們來看一個例子:

dim a,b
a=12
b=13
if b a then msgbox("B大于A")

我們只看最后一行, a b這個式子(表達式)有一個返回值, 是bool型的. 因為這個式子只有兩種可能:b大于a, b不大于a, 所以這個式子也只有兩種可能性, 即真或者假. if語句判斷這個表達式的返回值是真還是假, 如果是真(true)則執行then后面的語句, 如果是假, 則不執行, 你把a的值改成14看看還會不會彈出對話框?

當我們要在判斷之后執行多行語句怎么辦呢, 我們需要用語句塊來解決, 在這里可以叫塊if

dim a,b
a=12
b=13
if a b then
msgbox("A小于B")
msgbox("B大于A")
end if

兩個msgbox函數夾在if和end if之間, 這個部分就是語句塊, 塊里的每一條語句之前請空出4--8(一個 Tab 鍵)個格, 這不是必需的, 但是是一個好習慣, 以便看清楚程序的結構. 這樣我們就能運行多于一個的語句, 請注意if...then...end if 這三個關鍵部分不要掉了. OK, 我出一個題, 輸入一個數, 如果小于100就輸出"錯誤", 如果大于100就輸出"正確", 我這里有兩個程序版本:

dim a
a=inputbox("請輸入一個大于100的數")
a=int(a) 'inputbox返回的是字符串, 我們把他變成整數 : )
if a 100 then msgbox("正確")
if a 100 then msgbox("錯誤")

還有一個更簡單的

dim a
a=inputbox("請輸入一個大于100的數")
a=int(a) 'inputbox返回的是字符串, 我們把他變成整數
if a 100 then
msgbox("正確")
else
msgbox("錯誤")
end if

看到多了一個else了吧, else的作用就是當要判斷的表達式為false時執行的. 這樣程序就可以處理兩種不同的情況了. 不要忘了用end if結尾

嘿嘿, 我是變態者, 現在我要你處理三種情況, 100,=100, 100, 還要寫在一個if結構里, 你怎么辦, 我給你答案:

dim a
a=inputbox("請輸入一個大于100的數")
a=int(a) 'inputbox返回的是字符串, 我們把他變成整數
if a 100 then
msgbox("正確")
elseif a=100 then
msgbox("老大, 你耍我?")

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 伊春市| 大名县| 大化| 铜川市| 永嘉县| 澄迈县| 远安县| 青川县| 淄博市| 普格县| 达孜县| 麟游县| 沁阳市| 石首市| 固始县| 泰安市| 富裕县| 北川| 滨州市| 类乌齐县| 东兰县| 介休市| 清河县| 莱阳市| 留坝县| 长岛县| 汉源县| 朝阳市| 黄浦区| 灵璧县| 普陀区| 保德县| 南木林县| 安图县| 梧州市| 呼和浩特市| 沙坪坝区| 大田县| 广宗县| 时尚| 阳曲县|