1、我来解释一下这个程序,第一行与第二行得开头分别就是 REM 语句与 ,这两个东 西得作用就是相同得,表示本行就是注释行,就就是说这两行什么也不干 ,只就是用来说明这段程序得功能,版权信息等等、 注释行就是程序最重要得部分之一,尽管它不就是必需 得,但对于其她人阅读源代码,以及自己分析源代码就是很有好处得、 好得习惯就是在必要得地方加上清晰,简洁得注释。Dim 用来声明一个变量, 在 VBS 中, 变量类型并不就是那么重要, 就就是说 VBS 会帮 您自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间、 在VBS 中您不用考虑 name 储存得就是一个整数还就是一个小数 (
2、学名叫 浮点数 ),也不用考虑就是不就是字符串 (一串字符,比如 :Hello World) , VBS 会自动帮您搞定、 所以第三行 语句可以删除,效果不会变,但我强烈反对这么做,一个变量得基本原则就就是 :先声明 ,后使用、变量名用字母开头,可以使用下划线,数字,但不能使用 vbs已经定义得字,比如 dim, 也不能就是纯数字。下一行被称之为 赋值 , =就是赋值符号,并不就是数学中得等于号,尽管瞧起来一 样、这就是正统得理解,您要理解成等于也没有什么不可、 赋值号得左边就是一个变量,右边就是要赋给变量得值, 经过赋值以后, msg 这个变量在程序中等同于 请输入您得名字 : 这个字符串
3、,但当 msg 被再次复制得时候, 原值就会消失、 不光字符串, 其她任何变量都这 样被赋值,例如 : a=2, b=12、 222 等等。再往下 ,Inputbox 与 Msgbox 就是 VBS 内建得函数,一个函数就相当于一个 黑箱 ,有 输入 (参数 )与输出 (返回值 ),您可以不用了解函数就是怎么运作得,只要了解这个函数能干什么就行了,我们也可以定义自己得函数,不过那要等到以后再讲、 现在我们只要了解, 一个函数可以有返回值也可以没有,可以有参数也可以没有、 例如 Inputbox 就就是有返回 值得函数, 我们用赋值号左边得变量来 接住 InputBox 得返回值 -就就是您输入
4、得内容、 在 inputbox 右边得括号里就是参数列表,每个参数用 , 分隔开,每个参数有不同得功效,比如 第一个参数会显示在提示里,我们把 msg 这个变量作为第一个参数传给了 Inputbox 函数, 而 msg= 请输入您得名字:,所以我们在对话框得提示栏就会瞧到 “请输入您得名字: ” 第 二个参数就是对话框得标题,我们用直接量 (学名叫 常量 ,这里就是 字符串常量 )传递给函数,当然您也可以传递变量、 Inputbox 还有很多参数,比如您在 后面再加一个 然后输入随便一串字符 (字符串 ,用双引号 包裹起来得一串字符叫做字符串 )然后运行, 瞧瞧 结果、 您会发现用于输入得文本
5、框有了默认得值,这就就是第三个参数得作用。Msgbox 函数就是用来输出得函数,在 VBS 中没有专门得输出函数 (BASIC 中得 print,C 中得 printf) ,所以我们只能用对话框来观察输出结果, Msgbox 得必要参数只有一个,就就 是要输出得内容,在这种情况下,我们不需要理会 msgbox 得返回值、 关于 Msgbox 与 Inputbox 我们以后还会在讨论,今天只就是热热身,到此为止、 要点:1) 注释(以 REM 或开头 )行在程序中不起作用,但能让别人更容易读懂您得程序、2) 变量好像一个盒子,或一个代号,可以代表您想代表得东西、 变量赋值使用 3) 以包裹起来得
6、字符称之为 字符串 4) 函数像一个 黑箱 ,有参数与返回值,用 左边得变量可以接住返回值5) Inputbox 函数弹出一个输入对话框, Msgbox 则用于输出 作业:1) 试验 Inputbox 得第三个参数2) 写一段程序输出您得年龄3) 写一段程序进行 3 次输入,分别输入您与您父母得姓名 (要求显示提示 ),并分 3 次输出。第二篇:我真没想到,第一次得作业竟然有人不会。 瞧来要讲得非常非常细致才行,嗯,今天讲各种“量”与基本运算。 先说常量,这个比较简单。什么就是常量呢,常量就就是其值不可变化得量。 常量分为两种:第一种,自然常量。这叫就是因为它们本身就就是常量,您怎么更改21
7、得值呢 ? 她永远都就是 21,不可能变成 46。如果您在程序中使用 21=46 ,这样得语句将会引发一个错误。同样得,字符串也就是 常量(还记得字符串吗?就就是包裹在之间得一串字符),就就是一个例子, 如果您使用 Bye 这样得语句同样会引发一个错误。 您能举出自然常量得更多 例子吗?第二种,就是我们自己定义得常量, 这种量也使用代号, 她们也被赋值,但与变量得不 同点在于, 她们在定义得时候被赋值, 以后就不能改变了, 如果企图改变将会引发一个错误。 定义一个变量,我们使用const这个关键字(关键字得意思就是系统定义了有特殊功能得字, 不能作为变量名或常量名使用 ),格式就是: cons
8、t 常量名 =常量值 例如: const PI=3、1415926 const NAME= 记忆碎片 这样我们就定义了两个常量, PI 与 NAME ,一般说来,常量名全部使用大写,但也可 以不用, 随您喜好。 将一些在程序中不需要改变得值定义为常量就是个好习惯, 这样能防止 不必要得意外。另外,使用自定义常量也可以减少您得工作量。 比如: msgbox() msgbox(这个程序输出五次 Hello World ,如果您想要改变输出为 Bye-Bye ,就必须修改全部程序, 当然您可以手动修改 5 次,但如果您要输出 1000 次呢?常量就可以替我们解决这个问题: const hw= msg
9、box(hw) msgbox(hw) msgbox(hw) msgbox(hw) msgbox(hw)这样当您要修改输出得时候只要修改 hw 得值就行了。 好了,现在我们来瞧瞧编程得第一块重要“基石” :变量。解释变量最好得办法我觉得 就是“盒子” ,一个变量好像一个盒子,里面只能装一个东西,当您要装进去别得东西得时 候必须把原有得东西拿出来。这个“盒子”就是有名称得,当您在程序中使用变量得时候, 系统会打开盒子取出里面得东西, 让这些东西参与处理, 而不就是盒子。 有些语言就是很依 赖“盒子”里面装些什么东西,这样才能找到合适得“盒子” (比如C语言),但VBS给我提供得就是能够自动伸缩得“
10、魔术盒” ,我们不用关心装进去得就是什么东西, 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=; a3=嗯扯远了变量有什么用呢?哇,那用处可大了。最简单, 您并不能确定程序运行时变量得值, 比 如前一节课我
11、们编得输入姓名得程序,您不能确定 InputBox 返回得就是什么(还记得Inputbox 得返回值吗?就就是您输入得内容) ,所以您就没有办法应对各种情况,但我们用 name 这个“盒子”把用户得名字装起来,到用得时候我们只要知道 name 这个盒子得名字就行了, 系统会自己打开她并把里面得内容拿出来用。 再举个例子, 我们编写一个程序计算 一个矩形得面积,比如这个程序要发给小学生使用: dim a,b,s a=15 b=12s=a*b msgbox(s)这样就可以求出长为 15,宽为 12 得矩形得面积了,就是不就是很简单?当然, 这个程序也可以这样写: dim s s=15*12 msg
12、box(s)这样瞧起来程序短了许多,也节约内存,但并不就是鼓励得做法,为什么?请瞧下面。 现在,我们得程序要变得像点样子才行,谁得程序写出来还要别人修改源代码才能用 啊?所以,我们要接受用户得输入,还记得吗? InputBox 函数。 修改后程序如下:dim a,b,s a=inputbox( 请输入矩形得长 :) b=inputbox( 请输入矩形得宽 :) s=a*bmsgbox(s)OK,这么一修改,无论用户输入怎样得数据,我们都能计算出矩形得面积了。如果您用 s=15*12 能改嘛?当然不行。我想您已经发现了, vbs 中得数学计算与真正得算术没有什么不同, +,-,*,/,(), 都
13、就 是一样得用法,比如: dim ansans=12+32/4+(23-10)*2 msgbox(ans)四则运算得法则在编程中同样生效, 您可以在编程中重新获得小学时候得乐趣 (您恨数 学?那就别学电脑了) 。在编程中有一个有趣得运算符就是 mod ,这个运算符叫做 取余运算符 ,就就是取得 一次除法得余数,例如: dim a a=16 mod 5您知道a等于几吗? Bin go!没错,就就是1。因为16 / 5 =3 1,所以mod计算得结果就就是 1 。还有一个运算符就是A(就就是键盘“6”上面得小箭头),她表示“乘幕”(或者就是“方”), 比如:dim a,b,c a=2 b=aA2
14、c=aA3 msgbox(a) msgbox(c)则 b=a*a=4 , c=a*a*a=8 我们一次不要讲太多,这次就讲到这里,现在总结一下。要点:1)常量分为自然常量与自定义常量,常量得值不可修改2)变量就像盒子,我们不在乎盒子里装得就是什么,但一定要知道盒子得名字3)四则运算在编程中没有任何不同4)MOD 就是取余运算作业:1) 编一个程序,计算圆形得面积,半径由用户给出 (使用 Inputbox) PI 取值 3、141592) 编一个程序取得 20 / 3 得余数 估计大家瞧累了,我来个大话西游 2 游戏计算器得实例吧。小黑在帮派门口摆摊卖药, 今天共卖了 56 个灵异天香, 每个得
15、出售价格为 2170 ,那 么她赚了多少钱?(药店出售得灵异天香价格为 2160)在题目中, 56与 2170 就是变量。大家可以想想代码怎么写,然后再往下瞧。dim m,n,x,msg 小黑在帮派门口摆摊卖药, 今天共卖了 n 个灵异天香, 每个得出售价格为 m ,那么 她赚了多少钱?n=inputbox(msg, 灵异天香个数 n 请在此输入灵异天香个数 n) m=inputbox(msg, 每个售价 m 请在此输入每个药得出售价格 mx=(m-2160)*nmsgbox(答案:” & x)把这段代码复制粘贴到文本文件,然后把文本文件、 txt 后缀改为、 vbs 双击运行瞧瞧效果。 如果
16、瞧不到、 txt 后缀,去我得电脑 -控制面板 -文件夹选项 -查瞧 -去掉“隐藏已知文件类型得 扩展名”对勾 -确定就行了。第三篇:首先,我来解决一下上次课程得几个疑问。第一,那个余数问题, 16 / 5 = 3、1, 就是因为我改过前面得部分 , 后面得忘了改了, 不好意思。第二,请瞧一下程序清单:1)Dim a,b,ca=inputbox(a 就是 : 输入半径 b=Inputbox(b 就是:输入半径 c=a*2+b*2Msgbox(c)这个 输入 1、2 时就是 62)c=(a+b)*2这个输入 1、2 时就是 24为什么会不一样呢 ? 在数学上 c=(a+b)*2 与 c=a*2+
17、b*2 就是等价得 , 在 VBS 中也就是如 此、 问题出在 + 上, 在 VBS 中 , +不仅仅就是加号得意思还表示把两个字符串连接起来 , 例如WorldHelloWorld have you understood? 您还记得 InoutBox 函数得返回值吗?就是字符串!这就瞧出问题了吧,在编程中 1 不等于 ()1, 就是一个字符 , 而 1 就是一个数,所以 a,b 都就是字符串变量, 212, 这就好像我们小时跟伙伴开玩笑问她们 1+1=?一样,我们总就是笑着说“错啦,应该就是 11”,但为什么, a 可以 *2 却不发生错误呢?这就是 VBS 比较智能得一个表现,如果这个字符
18、串得内容就是一个数且对她进行数学 运算, 则把字符串强制转换成数参与运算,如果字符串代表一个数,但不参加数学运算,而 就是参加字符串运算(合并)则当作字符串处理,所以您瞧到 a+b=12,这时候a+b得结果(12) 就是一个字符串, 当它要乘以 2得时候就被强制转换成了数字 12,这样我就得到了结果 24。怎么修改这个程序呢?我们需要用到另一个内建得函数: intint 函数得功能就是将输入值转化成整数值,我们这样修改:c=(int(a)+int(b)*2这个意思就就是把 a 作为参数传递给 int 函数, int 函数就会返回那个整数 (您得输入值 ), 然后让返回值参与运算,这样就得到了正
19、确答案。所以,以后如果您用得就是 inputbox 函数得话,最好用 int 语句加工一下:比如 c=int(c) c 就是您自己得变量。大家就是不就是觉得这个课程有点枯燥。 呵呵, 变量与运算符部分得确就是这样得, 不 过多多练习也就好了。这次,我们写写真正好玩得东西: 流程控制语句。这个部分开始才就 是真正得编程。首先介绍判断结构、在此之前 , 我们先介绍一种简单得变量类型 :布尔值 (Boolean), 这种变量只有两个可能值:True,Flase,即真或假、 这种变量在某些情况下很有用 (比如”开关)、我们定义一个 bool变量得方法与其她变量一样 , 赋值也一样 , 例如 :dim
20、a,ba=trueb=false注意,true与true就是不一样得,就是字符串,true就是布尔值,千万不能混淆、回到 if 语句上来 , 我们先来瞧瞧简化版得 if 语句 :if 判断式 then 语句体 我们来瞧一 个例子 : dim a,ba=12b=13if ba then msgbox(B 大于 A我们只瞧最后一行 , ab 这个式子 (表达式 )有一个返回值 , 就是 bool 型得、 因为这个式 子只有两种可能 :b 大于 a, b 不大于 a, 所以这个式子也只有两种可能性 , 即真或者假、 if 语 句判断这个表达式得返回值就是真还就是假 ,如果就是真(true)则执行th
21、en后面得语句,如果就是假,则不执行,您把a得值改成14瞧瞧还会不会弹出对话框 ?当我们要在判断之后执行多行语句怎么办呢 , 我们需要用语句块来解决 , 在这里可以叫 块 if dim a,bb=13 if ab then msgbox(A 小于 B) end if两个 msgbox 函数夹在 if 与 end if 之间 , 这个部分就就是语句块 , 块里得每一条语句之前请空出4-8( 个键)个格,这不就是必需得,但就是就是一个好习惯,以便瞧清楚程 序得结构、 这样我们就能运行多于一个得语句 , 请注意 if 、then、 end if 这三个关键部 分不要掉了、 OK, 我出一个题 , 输
22、入一个数 , 如果小于 100 就输出 错误 , 如果大于 100 就 输出 正确, 我这里有两个程序版本 :dim a 请输入一个大于 100 得数 ) a=int(a) inputbox 返回得就是字符串 , 我们把她变成整数 : ) if a100 then msgbox( 正确 ) if aelse错误”)end if瞧到多了一个else 了吧,else得作用就就是当要判断得表达式为 false时执行得、 这样程序就可以处理两种不同得情况了、 不要忘了用end if结尾嘿嘿, 我就是变态者 , 现在我要您处理三种情况 , 100, 还要写在一个 if 结构 里, 您怎么办 , 我给您答
23、案 :a=int(a) 100 thenelseif a=100 then老大,您耍我?这次输入100瞧瞧,就是什么? else if语句可以在if结构中多次出现,以灵活判断不同得 情况 (如果您要判断得太多 , 就请使用 选择结构 , 过会儿就讲 ), 当所有 elseif 都处理完了 , 而没有符合情况得时候再执行 else中得语句、另一个例子:Dim a,b,c,d a=inputbox(a 就是 :,) b=Inputbox(b 就是 :) d=Inputbox( 答案 :输入答案 ) c=a*2+b*2 这里没有问题 , 会自动转换 if d=c thenMsgbox( 您好聪明 您
24、好猪头 自己得题还不会 !再瞧瞧这个 , 无论您回答得多么正确您都就是猪头 , 哈哈 , 不就是我耍您 , 还就是文章 开始时候得 inputbox 得返回类型在耍您 , d 就是 inputbox 得返回值 , 她就是一个字符串 , 而 c 就是一次整数计算得结果 , 她就是一个整数、 一个字符串无论如何也不等于一个整数 , 尽管 她们字面上就是一样得 :810 输入另一个数 ) a=int(a)b=int(b)if a10 and b10 then这段程序让您输入两个值 , 必须都大于 10, 只要有一个不大于 , 就输出错误) a=int(a) b=int(b)10 or b这段程序让您输入两个值,只要有一个大于10,就返回成功、 其实and与or很好理解, 我读 10 then 这一句 , 用华语就是这样 : 如果 a 大于 10 或者 b 大于 10, 那么、 、 这样就是不就是就很好理解了呢、 OK, 我们再来瞧一种新结构 , 今天得课就结束 , 已经午夜了 , 我都累死了、 当您得程序要处理很多种不同得判断情况得时候 elseif
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1