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语言_百度百科
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语言中文网-运算符优先级和结合性一览表
i=1表示一种赋值操作,就是把1这个值赋给 i,这个表达式执行之后,不管 i 之前的值是多少,现在都会变成1,而且这个赋值表达式本身也有一个值,就是这个被赋值后的 i 的值,这里就是1,在C语言里面只要值不是0或者空串等等,就认为是真值,所以 if(i=1)这个判断一定能够进入,因为他判断的值是 i=1 这个表达式的值,就是1这个值。
if语句,就是当括号里为真时候成立。
if(i==1),就是当i==1时,执行下面的语句;
if(i=1),就是先给i赋值1,然后执行下面语句。只要不赋值0,i=2或其他,都是表示if条件成立的。