C语言里面那个if(i==1)。。一个等号和两个等号什么区别。。都分别代表什么意思啊。。

如题所述

if(i==1)的两个等号的区别是:两者的运算符类型不一样,一个等号表示赋值, 两个等号表示比较。

1、C语言中 2个等号为关系运算符,意思是:判断两边的值是否相等。

== 关系运算符的表现形式为: 变量1 == 变量2

2、C语言中 1个等号为赋值运算符,意思是:赋值

如:x = 5,意思是将常量值5赋值给变量x

if(i&1==1)这句话表示:如果是 奇数 则。。。

i&1 -- 按位与运算,取 2进制整数 i 的最低位,如果最低位是1 则得1,如果最低位是0 则得0。 奇数 i 的最低位 是1,偶数i 的最低位 是0。

扩展资料:

C语言的基本单位为函数。其他个性特点如下:

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部份的变量类型可以转换,例如整型和字符型变量。

6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。

7、预编译处理(preprocessor)让C语言的编译更具有弹性。

参考资料:c语言_百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-05

C语言中,一个等号和两个等号的区别是:两者的运算符类型不一样,一个等号表示赋值, 两个等号表示比较。

两者的具体意思如下:

1、C语言中 1个等号为赋值运算符,意思是:赋值

= 赋值运算符的表现形式为: 变量 = 表达式

例如:x = 5,意思是将常量值5赋值给变量x

2、C语言中 2个等号为关系运算符,意思是:判断两边的值是否相等。

== 关系运算符的表现形式为: 变量1 == 变量2

例如:int x=3,y=5; x==y; 意思是比较变量x和变量y是否相等,结果是0,表示不相等。

3、C语言中 1个等号和2个等号的区别为:

= 表示把一个值赋值给变量, == 表示比较两个变量是否相等

示例代码为:

int a = 1, b = 3;

int c = a; // 给变量c赋值,结果为:c = 1

int d = a == b; // a和b比较是否相等,不相等的话返回0,结果为:d = 0

扩展资料:

C语言中比较两个字符串是否相等,通常情况下有2种实现方法:

(1)通过库函数strcmp

形式为 int strcmp(char *a, char *b);

该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。

(2)自定义函数

基本原理为按字节比较,举例如下:

int my_strcmp(char *s1, char *s2) {

int i;

for (i = 0; s1[i] == s2[i] && s1[i]!=0; i++); 

if (s1[i] == s2[i]) return 0; 

if (s1[i]<s2[i]) return -1; 

return 1; 

}

参考资料来源:C语言中文网-变量定义和赋值

参考资料来源:C语言中文网-运算符优先级和结合性一览表

本回答被网友采纳
第2个回答  2015-01-21
两个等号相当于一种判断,比如i==1就是判断 i 的值是不是等于1,如果是1,这个表达式(i==1)的值就是TRUE,如果不等于,则值为FALSE
i=1表示一种赋值操作,就是把1这个值赋给 i,这个表达式执行之后,不管 i 之前的值是多少,现在都会变成1,而且这个赋值表达式本身也有一个值,就是这个被赋值后的 i 的值,这里就是1,在C语言里面只要值不是0或者空串等等,就认为是真值,所以 if(i=1)这个判断一定能够进入,因为他判断的值是 i=1 这个表达式的值,就是1这个值。
第3个回答  2015-01-21
==是关系运算符号,=是赋值运算符号。
if语句,就是当括号里为真时候成立。
if(i==1),就是当i==1时,执行下面的语句;
if(i=1),就是先给i赋值1,然后执行下面语句。只要不赋值0,i=2或其他,都是表示if条件成立的。本回答被提问者采纳
第4个回答  2015-01-21
一个=是表示值相等,==可以用在字符串的判断,说得深一点就是在内存里面存放的形式不一样~
相似回答