教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

发现大部分黑白的朋友都不会编程(2)

来源:网络收集 时间:2026-08-31
导读: 我想你已经发现了, vbs中的数学计算和真正的算术没有什么不同, +,-,*,/,(),[],{}都是一样的用法, 比如: dim ans ans=12+32/4+[(23-10)*2] msgbox(ans) 四则运算的法则在编程中同样生效, 你可以在编程中重新获得小学

我想你已经发现了, 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 的余数

第三篇(共六篇):

首先, 我来解决一下上次课程的几个疑问

第一, 那个余数问题, 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("老大, 你耍我?") else

msgbox("错误") end if

这次输入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 then

Msgbox("你好聪明") …… 此处隐藏:3232字,全部文档内容请下载后查看。喜欢就下载吧 ……

发现大部分黑白的朋友都不会编程(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/98911.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)