C语言中 = 和 == 的区别及使用

1.   =

(1)是什么?

= 是赋值操作符,是将某一值赋给某一数据类型变量名。

如: int a = 10;    意思是将10 赋给 数据类型为int ,变量名为a 的变量

(2)特点:

运算方向(结合性):右结合性,即操作方向为 从右向左。

(3)定义的延伸:

复合的赋值运算符:  在赋值符 = 之前加上其他运算符,可以构成复合的运算符。

如a = a + 3    等价与   a + = 3 

  x = x*(y + 8 ) 等价与  x * = y + 8

 a + =3  和x * = y + 8   就是复合的赋值运算符

2.==

(1)是什么?

== 是关系操作符,用来判断相等的。相等返回 true(真),否则放回false(假)

如: if(a == 10 )  意思是判断a是否 等于10,如果等于,if执行,如果不等于,if不执行。

(2)扩展: !=

!=  也是关系操作符,是用来判断不相等的。

如:if(a  != 10 )  意思是判断a是否 不等于10,如果不等于,if执行,如果等于,if不执行。

(3)写法建议:        变换 变量名 和 常量 的位置

为什么?

(i)因为在编程中,容易将 == 少写成=,而且不会报错,很难发现错误。

如将 if ( a == 10)   少写成 if ( a = 10) ,而这样不会报错,不容易发现错误。

改进:

(i)将 if ( a == 10) 改成 if ( 10 == a),    两者效果相同,

如果少写成 if ( 10 = a) ,因为 =的右结合性,也会报错的,很容易发现问题。

3.两者在使用中的区别,以if语句为例

(1)举例前的扩展:

在c语言中,0表示假的,非0表示真的。

(2) if ( a = 0)     

将0赋给a。  而0表示假的,则 判断条件为假,则if表达语句一定不执行(若有else表达语句,执行)。

C语言中 = 和 == 的区别及使用_第1张图片

 

(3)if ( a == 0)

if( a == 0)  判断a是否等于0,a等于0的话if语句执行,否则不执行。

C语言中 = 和 == 的区别及使用_第2张图片

 

你可能感兴趣的:(c语言,c++,数据结构,c#)