1. 主页
  2. 文档
  3. Arduino教程(持续更新)
  4. 4.编程
  5. 4.2 arduino运算符

4.2 arduino运算符

运算符:

语法列表

  • = 赋值
  • +(加)
  • -(减)
  • *(乘)
  • / (除)
  • % (取模)

= 赋值说明

=赋值运算符(单个等号)

把等号右边的值存储到等号左边的变量中。

在C语言中单个等号被称为赋值运算符。它与在代数课中的意义不同,后者象征等式或相等。赋值运算符告诉微控制器求值等号右边的变量或表达式,然后把结果存入等号左边的变量中。

示例

int sensVal;                  //声明一个名为sensVal的整型变量
senVal = analogRead(0);       //存储(数字的)0号模拟引脚的输入电压值到sensVal

编程技巧

赋值运算符(=号)左边的变量需要能够保存存储在其中的值。如果它不足以大到容纳一个值,那个存储在该变量中的值将是错误的。

不要混淆赋值运算符[ = ](单个等号)和比较运算符[ == ](双等号),后者求值两个表达式是否相等。


加,减,乘,除说明

描述

这些运算符(分别)返回两人运算对象的和,差,积,商。这些操作受运算对象的数据类型的影响。所以,例如,9 / 4结果是2,如果9和2是整型数。这也意味着运算会溢出,如果结果超出其在相应的数据类型下所能表示的数。(例如,给整型数值32767加1结果是-32768)。如果运算对象是不同的类型,会用那个较大的类型进行计算。

如果其中一个数字(运算符)是float类型或double类型,将采用浮点数进行计算。

示例

y = y + 3;
x = x - 7;
i = j * 6;
r = r / 5;

语法

result = value1 + value2;
result = value1 - value2;
result = value1 * value2;
result = value1 / value2;

参数:

value1:任何变量或常量

value2:任何变量或常量

编程技巧:

要知道整型常量默认为int型,因此一些常量计算可能会溢出(例如:60 * 1000将产生负的结果)

选择一个大小足够大的变量以容纳你的最大的计算结果。

要知道你的变量在哪一点将会“翻转”且要知道在另一个方向上会发生什么,例如:(0 – 1)或(0 – 32768)。

对于数学需要分数,就使用浮点变量,但是要注意它们的缺点:占用空间大,计算速度慢。

使用强制类型转换符例如:(int)myFloat以在运行中转换一个变量到另一个类型。


取模说明

%(取模)

描述

计算一个数除以另一个数的余数。这对于保持一个变量在一个特定的范围很有用(例如:数组的大小)。

语法

result = dividend % divisor 

参数

dividend: 被除数

divisor: 除数

结果:余数

示例

x = 7 % 5;   // x now contains 2
x = 9 % 5;   // x now contains 4
x = 5 % 5;   // x now contains 0
x = 4 % 5;   // x now contains 4

示例代码

 /* update one value in an array each time through a loop */

int values[10];
int i = 0;

void setup() {}

void loop()
{
  values[i] = analogRead(0);
  i = (i + 1) % 10;   // modulo operator rolls over variable  
}

提示:

取模运算符不能用于浮点型数。

有帮助? 没有

发邮件?

发表评论

登录后才能评论