LabTalk 编程第二章--运算符

本文详细介绍了LabTalk中的各类运算符,包括算术运算符、自增自减运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、下标运算符和位运算符,并通过实例演示了它们的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在LabTalk中,其运算符有以下几类:

                1、 算术运算符(+  - *  /  ^ )

                2、 自增、自减运算符(++  --)

                3、 关系运算符(> >= < <= == !=)

                4、 逻辑运算符( &&  || )

                5、 赋值运算符(=  +=  -= *=  /=  ^=)

                6、 条件运算符(? :)

                7、 下标运算符( ( ) )

                8、位运算符(& | )


一、算术运算符


        +:加法运算符,或正值运算符(X+Y),或连接运算符(主要用于字符串的连接)

例如:

 

>>1+2=

1+2=3

>> 

>>str_1$=”Hello”

>>str_2$=”World”

>>str_3$=str_1$+”  ”+str_2$

>>str_3$=

Hello World

>> 

 

        -:减法运算符,或负值运算符(X-Y)

例如:

 

>>1-2=

1-2=-1

>> 

 

       *:乘法运算符(X*Y)

例如:

 

>>2*3=

2*3=6

>> 

 

        /:除法运算符(X/Y)

例如:

 

>>1/2=

0.5

>>1/3=

0.33333333333333

>> 

 

        ^:幂运算符(X^Y)

例如:

 

>>3^40=

5.6177910464447E306  //这是Origin里最大的正整数

>>0^5=

0^5=0               //0^n:n>0 返回0,n<0返回--,--:表示缺省值

>>0^(-5)=

0^(-5)=--

>> 

 

        这里需要说明的是,在数据计算时,可不必转换数据类型,因为在LabTalk中,数据类型默认是double型。此外,如果声明了数据的类型,如int a=1,b=3, 那么计算要是整型(int)还是双精度浮点型(double)?答案是:double型。这一点与其它高级语言有所不同。这样当我们进行数据计算时,不用担心数据类型的影响。

例如:

 

>>int a=1,b=3

>>a/b=

0.333333333333333

>>int c=1

>>double d=3.0

>>c/d=

0.333333333333333

>> 

          现在我们可以对Sheet中的列进行数据计算,如下:

 

>>col(1)=data(-10,10,0.001)     //对第一列赋值

>>col(2)=sin(col(1))                   //第二列数等于第一列数的正弦

>>col(3)=cos(col(1))                  //第三列数等于第一列数的余弦

>>col(4)=col(2)+col(3)               //第四列数等于第二列加上第三列


注意,在默认情况下,worksheet中只有两列,当程序中出现列数要大2时,这时,后面的列将自动添加到worksheet,如上例,列3我列4就是自动加入的。

 

二、自增、自减运算符

        

       ++: 变量加1;

         --: 变量减1;

例如:

 

>>for(ii=1;ii<=5; ii++)   // Ctrl+Enter   试下for(ii=5; ii>=1;ii--)

{type “$(ii)”;}

1

2

3

4

5

>> 

注意, ++ 和 -- 只能用在变量名之后,即variable++ 或variable--。

 

三、关系运算符


        >:大于

例如:

 

>>aa=5

>>if $(aa)>3 type “aa>3”

aa>3

>> 

 

        >=:大于或等于

例如:

 

>>aa=5

>>if $(aa)>=5 type “aa>=5”

aa>=5

>> 

注意,< 和 <= 与> 和 >= 类似。

 

        ==:等于   // = :赋值

例如:

 

>> col(1) =normal(10)*3+5  //产生10个数

>>bb=max(col(1))          //第一列的最大值

>>if $(bb)==5 type “bb is equal to 5”

>> 

 

        !=:不等与

例如:

 

>>cc=min(col(1))        //第一列的最小值

>>if $(bb)!=2.5 type “ bb != 2.5”

>> 

 

四、逻辑运算符


        &&:逻辑与(&:位与运算符

例如:


>>aa=5;

>>bb=-6;

>>if ($(aa)>=0 &&$(bb)<=0) type “True!”

True!

>> 

 

        ||:逻辑或( |:位或运算符)

例如:

 

>>aa=5;

>>bb=6;

>>if ($(aa)==5 || $(bb)==6) type “True!”

True!

>> 

 

五、赋值运算符


        前面已经介绍了“=”赋值运算符,在LabTalk中,还有其它几种赋值运算符。

                X+=Y:相当于 X=X+Y

                 X-=Y:相当于 X=X-Y

                 X*=Y:相当于 X=X*Y

                 X/=Y:相当于 X=X/Y

                X^=/Y:相当于 X=X^Y

 

例如:

 

>>m=5;

>>m +=10;

>>m=

15

>> 

 

六、条件运算符


        条件运算符其基本格式如下:

                 表达式?值1: 值2

        当表达式为真时,返回值1,否则返回值2,其相当与最为简的if else结构。

例如:

 

>>n=2

>>m=3

>>a=($(m) >$(n) ? m : n)

>>a=

A=3

>> 

 

七、下标运算符


        ()/[]:下标运算符

        在LabTalk数组中,常用()作为下标运算符,而在Origin数据引用中,则以()[ ]作为下标运算符。

例如:

 

>>dataset aa=data(1,10)

>>aa(1)=

1

>>aa(10)=

10

>>col(1)=data(2,10,2)

>>nn=col(1)[2]         //把sheet中的第一列,第二行的值赋给nn变量

>>nn=

4

>> 

        在LabTalk中,访问Sheet中的单元格数据时,还有另一个函数:Cell(row,col), 它有两个参数,第一是行数,第二个是列数。

如:

 

>> col(2)=data(1,10,2)

>>nn=cell(2,2)

>>nn=

3

>> 

 

八、位运算符


        &:位与运算符

例如:

 

>> if (27&41==9)

{type “Yes”}

Yes                  //输出结果

>> 

说明:27=0000000000011011

            41=0000000000101001

              9=0000000000001001


       |:位或运算符

例如:

 

>>if(27|41==59)

{type “Yes”}

Yes

>> 

说明:59=000000000111011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值