2024-2025 20241323 第五周学习总结
赋值运算符(=):
= 用于将右侧的值或表达式的结果赋给左侧的变量。
例如:int a = 5; 这行代码将整数5赋给变量a。
赋值操作会改变变量的值,并返回一个与左侧变量类型相同的值(在大多数现代C编译器中,赋值操作的结果未使用是合法的,但不被推荐作为好的编程实践,因为它可能导致代码难以阅读和维护)。
等于运算符():
== 用于比较两个值是否相等。
如果两个值相等, 返回真(在C语言中为整数1),否则返回假(整数0)。
例如:if (a == 5) 这行代码检查变量a的值是否等于5。
重要区别:
= 是赋值运算符,用于改变变量的值。
== 是比较运算符,用于检查两个值是否相等。
常见错误:
在if语句或循环条件中误用=代替==,会导致意外的赋值操作,从而可能改变变量的值,并使条件判断失效。
例如:if (a = 5) 实际上是将5赋给a,然后因为赋值操作的结果(在这里是5,非零)被视为真,所以条件总是为真。正确的写法应该是if (a == 5)。
编程建议:
在编写条件语句时,始终使用==进行比较,除非你真的需要赋值操作。
在编写赋值语句时,确保左侧是一个变量,以避免意外的比较操作。
始终注意运算符的优先级和结合性,以避免由于运算符优先级导致的逻辑错误。在需要时,使用括号来明确表达式的计算顺序。