工控随笔_11_西门子_WinCC的VBS脚本_02_运算符
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作。运算符具有不同的类型
不同的运算符之间具有运算优先级。
一、运算符的分类
大体分为以下几类:
1、赋值运算符
2、算术运算符
3、比较运算符
4、逻辑运算符
5、链接运算符
二、运算符的优先级
运算符具有优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 一样,先计算 2*3 , 然后得到的结果在和
1相加,最后在减去4, 这里先计算 * 然后再计算 + 和 - 就表示运算优先级。
算术运算符的优先级和我们学数学时的计算顺序一样。
大体是: 算术运算符 优先于 比较运算符, 比较运算符 优先于 逻辑运算符, 赋值运算符优先级最低。
例如: 1+ 2 > 3 and 2*4 < 5
这个就和我们数学里面一样,先计算 1+2 后与3比较得到一个结果A, 然后计算 2*4 再与5比较,得到一个结果B,最后
结果A和结果B最终进行逻辑运算得到整个表达式的值。
如果不确定那么可以通过增加圆括号来改变运算符的运算顺序,这个与我们在数学中学习到的一样。
例如: (1 + 2 ) * 3 , 在VBS中这个表达式的计算顺序与数学一致,先算 1+ 2, 然后得到的和再与3相乘。
三、实例代码
'VBS脚本内置很丰富的运算符号
'1、赋值运算符 =
'2、数学运算符 + - * / mod (mod为取余数) \ (\为整除运算)
'3、比较运算符 > < = >= <= <> is
'4、逻辑运算符 and or not xor Eqv Imp
'5、连接运算符 & 和 + Option Explicit '赋值运算符
Dim nLen
Dim strName '利用赋值运算符将函数的返回值赋值给变量
strName = InputBox("请输入你的名字:","提示","volcanol")
nLen = Len(strName)
MsgBox nLen '数学运算符
'通过数学运算符对数字进行数学运算可以实现很多功能
'加法
Dim nAugend
Dim nAddend
Dim nSum
nAugend =
nAddend =
nSum = nAugend + nAddend
MsgBox "和是:" & nSum '减法
Dim nMinuend
Dim nSubtractor
Dim nSub
nMinuend =
nSubtractor =
nSub = nMinuend - nSubtractor
MsgBox "差是:" & nSub '乘法
Dim fRadius
Dim fPi
Dim fCycle
Dim fArea
fRadius = 10.0
fPi = 3.1415926
fCycle = * fPi * fRadius
fArea = fPi * fRadius * fRadius
MsgBox "周长是:" & fCycle
MsgBox "面积是:" & fArea '除法
Dim fSquare
Dim fRoot
Dim fDivision
fSquare =
fRoot =
fDivision = fSquare / fRoot
MsgBox "商是:" & fDivision '求余数
Dim nDividend
Dim nDivisor
Dim nMod
nDividend =
nDivisor =
nMod = nDividend Mod nDivisor
MsgBox "余数为:" & nMod '比较运算符号
'比较运算符用来比较两个数、字符、或者字符串的大小
'下面演示大于号的比较,其他的不再演示
Dim strCompare()
strCompare() = "volcanom"
strCompare() = "volcanol"
If strCompare() > strCompare() Then
MsgBox "strCompare(1)大于strCompare(2)"
Else
MsgBox "strCompare(1)小于strCompare(2)"
End If 'is运算符
'is运算符用来比较两个对象是否是同一个对象
Dim objectA
Dim objectB
Dim objectC
Set objectC = CreateObject("WScript.shell")
Set objectA = objectC
Set objectB = objectC
If objectA Is objectB Then
MsgBox "objectA 和 objectB 是同一个对象"
Else
MsgBox "objectA 和 objectB 不是同一个对象"
End If '逻辑运算符
'逻辑运算符也可以叫做布尔逻辑运算符,其运算结果得到的布尔逻辑的
'true 或者 false, 注意VB有两个内置的常数TRUE 和 FALSE
If True Then
MsgBox "总是执行这一句"
Else
MsgBox "从来不会执行"
End If If Not False Then
MsgBox "false取非运算,得到结果为真,执行这一句"
Else
MsgBox "false取非运算,得到结果为真,不执行这一句"
End if If Then
MsgBox "0的逻辑结果为假,这一句不执行"
Else
MsgBox "0的逻辑结果为假,执行这一句"
End If If Then
MsgBox "非0数的逻辑结果为真,执行这一句"
Else
MsgBox "非0数的逻辑结果为真,这一句不执行"
End If '下面两个例子,演示函数返回值参与逻辑运算
If strCompare() > strCompare() And MsgBox("输入选择测试",vbYesNo,"测试") Then
MsgBox "逻辑与运算结果为真"
Else
MsgBox "逻辑与运算结果为假"
End If If strCompare() < strCompare() or MsgBox("输入选择测试",vbYesNo,"测试") Then
MsgBox "逻辑或运算结果为真"
Else
MsgBox "逻辑或运算结果为假"
End If If Xor Then
MsgBox "两个逻辑结果不一样的值进行异或得到的结果为真,执行这一句"
Else
MsgBox "两个逻辑结果不一样的值进行异或得到的结果为真,不执行这一句"
End If
四、Tips
在VBS中,运算符的优先级直接决定表达式的运算结果,如果不确定的话,那么最好的方式就是增加
圆括号() 来强制规定运算顺序,这样会减少出错的可能性。
--------------------------------------------------------------分割线---------------------------------------------------------------
1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/
2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料
3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏
4、或者在页面右下角点推荐哟!!!
--------------------------------------------------------------分割线-------------------------------------------------------------
工控随笔_11_西门子_WinCC的VBS脚本_02_运算符的更多相关文章
- 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...
- 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...
- 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...
- 工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02
vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过Fo ...
- 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01
在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ...
- 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址
在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...
- 工控随笔_17_西门子_WinCC的VBS脚本_06_过程和函数
和其他语言一样,vbs提供了过程和函数机制,通过函数和过程可以优化代码结构和实现代码复用, 减少代码的编写量. 一.代码 具体不再多说,看实例代码. ' vbs的函数和过程 '1.过程式编程是一大编程 ...
- 工控随笔_15_西门子_WinCC的VBS脚本_05_变量类型之三_VBS数组
数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型. 一.vbs中的数组类型 在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组. 1.固定数组 就是在 ...
- 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...
随机推荐
- Python 3 Anaconda 下爬虫学习与爬虫实践 (1)
环境python 3 anaconda pip 以及各种库 1.requests库的使用 主要是如何获得一个网页信息 重点是 r=requests.get("https://www.goog ...
- 关于django用户登录认证中的cookie和session
最近弄django的时候在用户登录这一块遇到了困难,网上的资料也都不完整或者存在缺陷. 写这篇文章的主要目的是对一些刚学django的新手朋友提供一些帮助.前提是你对django中的session和c ...
- Flask 上下文管理
为什么用threading.local? 我们都知道线程是由进程创建出来的,CPU实际执行的也是线程,那么线程其实是没有自己独有的内存空间的,所有的线程共享进程的资源和空间,共享就会有冲突,对于多线程 ...
- 高吞吐低延迟Java应用的垃圾回收优化
高吞吐低延迟Java应用的垃圾回收优化 高性能应用构成了现代网络的支柱.LinkedIn有许多内部高吞吐量服务来满足每秒数千次的用户请求.要优化用户体验,低延迟地响应这些请求非常重要. 比如说,用户经 ...
- es6 this指向
在非箭头函数中,谁调用的函数,this指向就是谁: var obj={ fn:function(){ console.log(this); } } obj.fn();//object 如果this出现 ...
- 脚手架方式搭建vue项目
一.首先基于node环境,我想应该每一个前端开发者都应该懂的吧,这里安装运行什么的就不多说了. 搭建成功之后在文件夹的任何(如果是全局的话)一个位置都能按住shift键同时鼠标右键在工具框中就会出来一 ...
- 前端---js02
主要内容 1.数组 2.字符串 3.Date日期对象 4.内置对象 5.定时器 6.DOM 7.伪数组 内置对象: 1 数组(列表) Array (1) 数组的创建 <script>//字 ...
- HTML5网页制作(3)
今天,就开始嵌入图片以及创建图片分区的学习吧! 这两张图片其实是我用HTML5写的(纯粹当做笔记来记了),以上就是今天要学的一些内容 下面是我今天敲的代码: [冒泡]林北的爸爸 2019/4/29 ...
- python爬虫之常见的加密方式
前言 数据加密与解密通常是为了保证数据在传输过程中的安全性,自古以来就一直存在,古代主要应用在战争领域,战争中会有很多情报信息要传递,这些重要的信息都会经过加密,在发送到对应的人手上. 现代 ,在网络 ...
- Ubuntu使用总结一
一.安装 Ubuntu桌面版与服务器版的不同之处桌面版面向个人电脑使用者,可以进行文字处理.网页浏览.多媒体播放和玩游戏.本质上说,这是一 个为普通用户所定制的多用途操作系统.另一方面,服务器版旨在充 ...