c语言条件赋值
❶ 问个问题,c语言的,关于if语句中条件判断是一个赋值语句问题。
复制表达式x=5本身是有值的,这个值等于左值。也就是说x=5这个式子的值是x,也就是5。而x=5这个式子的值是5不为零,就是真的,还会执行k=2。
一般来说,if后面语句是禁止使用单等于号,也就是赋值号的,就是为了防止出错。
980515024 这位回答的有错误。if(x=5)编译是不会报错的。
如果是x=0,这个表达式的值就是0,也就是假的,就不执行后面的语句了。用什么软件编译无所谓,6.0还是dev还是vs08都行。
❷ C语言中的条件赋值语句和if——else语句执行效率比较,哪一个效率高些,坐等高手解惑
一、条件语句和if else的效率一样
二、x++的效率比x=x+1要高,只是理论上,实际现在的机器性能很好,这个差异一般无法体现
综上所述,你上面的语句,用if else的效率要高。
❸ C语言的条件表达式中不能用赋值=对吗
可以呀,赋值语句的返回值为所赋的值。如
if(x=5)
相当于
if(5)
,true
;又如
if(y=false)相当于
if(false)
并不是说恒为真,要看所赋的值
❹ C语言中赋值语句的语法是怎样的
赋值的语法规则就是:
数据类型 变量名 = 表达式
表达式可以理解为一个值或一个计算公式就行,表达式加一个英文符号分号就是语句。
例如:
我们今天要用到的,我买了几斤苹果。
就可以这样写:
方式一:
Int apple_count = 0; //告诉计算机apple_count是用来存买苹果的斤数的,默认为0;
方式二:
Int apple_count; //告诉计算机apple_count是用来存买苹果的斤数的,以后再告诉计算机它等于多少,现在不知道;
(4)c语言条件赋值扩展阅读
1、C语言中,赋值运算的操作是有方向的,即将右侧表达式的值(也称为右值)赋值左侧的变量,只能是标识一个特定存储单元的变量名。
2、由于变量名只能出现在赋值运算符的左边,因此它也被称为左值;由于常量只能出现在赋值运算符的右边,因此它也被称为右值。左值可以用作右值,但右值不能用作左值。
❺ 在C语言中11种赋值运算符的具体含义,用法
1.六个变量=表达式的赋值:
=是赋值运算符,/=是除后赋值,*=是乘后赋值,
%=是取模后赋值,+=是加后赋值,-= 是减后赋值,
2.<<=是左移后赋值,变量<<=表达式 左移就是将左边的数的二进制各位全部左移若干位,右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方。
3.>>=是右移后,变量>>=表达式,右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。
对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”);
对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。
如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统,系统移入0或系统移入1。
移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
4.&= 按位与后,变量&=表达式,按位与是指:参加运算的两个数据,按二进制位进行“与”运算。
如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
5.^= 按位异或后赋值,变量^=表达式,参与运算的两个量按照对应的位进行异或运算,且
0^0→0, 0^1→1, 1^0→1, 1^1→0
一个数与0异或仍保持不变,如a^0=a
一个数与自己异或结果为0,如a^a=0
11.|=是按位或后赋值,变量|=表达式,参与运算的两个量按照对应位进行或运算,且0|0→0, 0|1→1, 1|0→1, 1|1→1。
(5)c语言条件赋值扩展阅读:
1.赋值表达式的功能是计算表达式的值再赋予左边的变量。
赋值运算符具有右结合性,因此a=b=c=5可理解为a=(b=(c=5))。
2.在其它高级语言中赋值构成了一个语句,称为赋值语句;
而在C语言中,
把“=”定义为运算符,从而组成赋值表达式。
3.凡是表达式可以出现的地方均可出现赋值表达式。
例如:式子x=(a=5)+(b=8)是合法的。它的意义是把5赋予a,8赋予b,再把a,b相加,和赋予x,故x应等于13。
4.在C语言中也可以组成赋值语句。
按照C语言规定,任何表达式在其未尾加上分号就构成为语句。
❻ c语言赋值规则是什么
其一般形式为:变量=表达式。
由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式变量=(变量=表达式);是成立的,从而形成嵌套的情形。
赋值语句:
将确定的数值赋给变量的语句叫做赋值语句。
各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。
所赋“值”可以是数字,也可以是字符串和表达式。
注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。
❼ C语言中的赋值语句
变量
赋值号
表达式
例如:
int
i;
i=10;
完整代码:
#include
void
main(){
int
i;
i=10;
printf("i=%d",i);
}
在c语言中提供了10种复合的赋值运算符,他们是:+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=其中前五种是算术运算的,后五种是位运算的
例如:
#include
void
main(){
int
i;
i=10;
i+=5;
printf("i=%d",i);
}
❽ c语言中if语句条件为赋值语句
当if语句中的条件为赋值语句时,实际上是将赋值后的结果与0进行比较。比如下面的代码:
#include<stdio.h>
intmain()
{
inta;
if(a=0)printf("helloworld ");
return0;
}
它等价于:
#include<stdio.h>
intmain()
{
inta=0;
if(a==0)printf("helloworld ");
return0;
}
这个过程可以通过vc6.0的反汇编代码详细看到。
一条mov赋值指令,一条cmp比较指令,比较的对象是0和a的值。
❾ C语言中赋值语句有什么规则要求
赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式。
由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式变量=(变量=表达式);是成立的,从而形成嵌套的情形。其展开之后的一般形式为:变量=变量=…=表达式;
在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:inta=b=c=5必须写为inta=5,b=5,c=5;而赋值语句允许连续赋值。
赋值语句
将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。
注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。
以上内容参考:网络-赋值