程式設計基礎/賦值與相等
外觀
< 程式設計基礎
賦值設定和/或重置儲存在變數名稱所表示的儲存位置中的值。[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."
此示例提醒您,在建立測試表達式時必須小心,以確保它們確實是問題,通常涉及關係運算符。一些程式語言會在布林表示式中使用賦值時生成警告或錯誤,而另一些則不會。
不要將賦值用於相等。
- 賦值
- 設定或重置變數的值。
- 相等
- 測試或定義值之間的關係。