编程基础/赋值与相等
外观
< 编程基础
赋值设置和/或重置存储在变量名称所表示的存储位置中的值。[1] 相等是一个关系运算符,用于测试或定义两个实体之间的关系。[2]
大多数控制结构使用一个测试表达式,该表达式根据表达式的真假执行选择(如 if then else)或迭代(如 while;do while;或 for 循环)。因此,我们经常谈论控制结构的布尔表达式。在许多编程语言中,此表达式必须是布尔表达式,并受一组严格的规则支配。但是,在许多编程语言中,每个数据类型都可以用作布尔表达式,因为每个数据类型都可以使用零和空表示假,所有非零值表示真的规则/概念降级为布尔值。
在各种语言中,我们可能存在额外的混淆,即等于符号 =
作为一个运算符,不代表我们在生活中使用的大部分时间的正常数学意义上的相等。等于符号通常表示赋值。为了获得数学意义上的相等概念,我们经常使用两个等于符号来表示相等的关系运算符。让我们考虑
If (pig = 'y') Output "Pigs are good" Else Output "Pigs are bad."
控制结构的测试表达式将始终为真,因为表达式是一个赋值(而不是 ==
的关系运算符)。它将 'y' 赋值给变量 pig,然后查看 pig 中的值,确定它不为零;因此表达式为真。它将始终为真,并且 else 部分将永远不会执行。这不是程序员的本意。布尔表达式的正确语法是
If (pig == 'y') Output "Pigs are good" Else Output "Pigs are bad."
此示例提醒您,在创建测试表达式时必须小心,以确保它们确实是问题,通常涉及关系运算符。一些编程语言会在布尔表达式中使用赋值时生成警告或错误,而另一些则不会。
不要将赋值用于相等。
- 赋值
- 设置或重置变量的值。
- 相等
- 测试或定义值之间的关系。