
在任何语言中,都有一些保留字,这些字有特殊的含义。系统把它们解释为特定的作用、动作或计算,并规定,保留字不能做变量名。以免产生歧义和误解,导致程序不能得到正确的运行。
因此,程序编制后,系统将自动对各种语法进行核对,比如对是否使用保留字作变量名进行检查,一旦发现不符合语法要求的现象,系统给出错误提示,同时阻止程序的运行。
在VB中,保留字非常多,如FOR、NEXT、TO、GOTO、SUB、WHILE、DO、DIM、AS、INTEGER、AND、OR、FORM、ABS、SIN、LOG、LEFT、MID、TRIM、VAL、INPUT、PRINT等等等等。它们都不能用作变量名。
同样,SQR是求平方根的函数名,是一个VB的保留字,所以,不能使用SQR作变量名。
两个SQR相除可不是1 ,你看清楚宏定义 是XX , 不是(XX )
那个语句解开后是这样的 a /= k + m k + m / k + m k + m ;
算一下 a/= 7 , 所以a=2
while( b-- )没省什么,是指执行判断后将b减1
#define SQR(X) XX 宏定义;
a/=SQR(m)/SQR(k);
a/=mm/kk;
a/=33/22;
a/=9/22;
a/=42;
a/=8;
a=1;
应用宏定义SQR(x)的时候直接用xx替换,然后挨着算下来,在这里一般容易出这样的错,mm/kk
先算出mm,再算出kk,然后相除,注意这样是不对的,因为上面的宏定义#define SQR(X) XX
,xx是没加括号的,所以你算的时候只要一步一步算下来就行了·!~
前面a=5的同志,运出来正确了再给人讲啊,这不是误导人家嘛?
表格:
MOV A,@Ri 累加器传送到外部RAM(8 地址) 1 1。
MOV A,#data 立即数传送到累加器 2 1。
MOV Rn,A 累加器传送到寄存器 1 1。
MOV Rn,direct 直接地址传送到寄存器 2 2。
MOV Rn,#data 累加器传送到直接地址 2 1。
MOV direct,Rn 寄存器传送到直接地址 2 1。
MOV direct,direct 直接地址传送到直接地址 3 2。
MOV direct,A 累加器传送到直接地址 2 1。
MOV direct,@Ri 间接RAM 传送到直接地址 2 2。
MOV direct,#data 立即数传送到直接地址 3 2。
MOV @Ri,A 直接地址传送到直接地址 1 2。
MOV @Ri,direct 直接地址传送到间接RAM 2 1。
MOV @Ri,#data 立即数传送到间接RAM 2 2。
MOV DPTR,#data16 16 位常数加载到数据指针 3 1。
MOVC A,@A+DPTR 代码字节传送到累加器 1 2。
MOVC A,@A+PC 代码字节传送到累加器 1 2。
MOVX A,@Ri 外部RAM(8 地址)传送到累加器 1 2。
MOVX A,@DPTR 外部RAM(16 地址)传送到累加器 1 2。
MOVX @Ri,A 累加器传送到外部RAM(8 地址) 1 2。
MOVX @DPTR,A 累加器传送到外部RAM(16 地址) 1 2。
PUSH direct 直接地址压入堆栈 2 2。
POP direct 直接地址d出堆栈 2 2。
XCH A,Rn 寄存器和累加器交换 1 1。
XCH A,direct 直接地址和累加器交换 2 1。
XCH A,@Ri 间接RAM 和累加器交换 1 1。
XCHD A,@Ri 间接RAM 和累加器交换低4 位字节 1 1。
INC A 累加器加1 1 1。
INC Rn 寄存器加1 1 1。
INC direct 直接地址加1 2 1。
INC @Ri 间接RAM 加1 1 1。
INC DPTR 数据指针加1 1 2。
DEC A 累加器减1 1 1。
DEC Rn 寄存器减1 1 1。
DEC direct 直接地址减1 2 2。
DEC @Ri 间接RAM 减1 1 1。
扩展资料:
PLC的编程一般可以使用两种语言,一种就是梯形图,一种就是助记符,编写梯形图的时候,通常都是从菜单中把指令代码一个个拉出来的,放在界面上,而用助记符编的时候,就是靠手动输入。大部分开发平台,都支持直接将梯形图转换成助记符的功能。
MOV bit, C 进位位位传送到直接寻址 2 2。JC rel 如果进位位为1 则转移 2 2。
JNC rel 如果进位位为0 则转移 2 2。JB bit,rel 如果直接寻址位为1 则转移 3 2。JNB bit,rel 如果直接寻址位为0 则转移 3 2。JBC bit,rel 直接寻址位为1 则转移并清除该位 2 2。
参考资料来源:百度百科-三菱QPLC
参考资料来源:百度百科-助记符
a=(k+a)/k+mk+m
a=(2+16)/2+12+1
=9+2+1
=12
SQR(x) xx
这个到用的时候只是简单的字符替换
你要和
SQR(x) (xx) 区别开来
如果是这样
a=(k+a)/(k+mk+m)
=18/(2+2+1)
=3
SQR(x) ((x)(x)
a=2
以上就是关于sqr为什么不能作vb变量名全部的内容,包括:sqr为什么不能作vb变量名、c语言程序运行题 说一下具体过程 谢谢 两个一样的SQR相除不是1 while(b--)省略了什、C语言程序计算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)