Ⅰ 在c语言中11种赋值运算符的具体含义,用法
1.=
赋值运算符
变量=表达式
如:a=3;将a的值赋为3
2./=
除后赋值
变量/=表达式
如:a/=3;即a=a/3
3.*=
乘后赋值
变量*=表达式
如:a*=3;即a=a*3
4.%=
取模后赋值
变量%=表达式
如:a%=3;即a=a%3
5.+=
加后赋值
变量+=表达式
如:a+=3;即a=a+3
6.-=
减后赋值
变量-=表达式
如:a-=3;即a=a-3
7.<<=
左移后赋值
变量<<=表达式
左移就是将《左边的数的二进制各位全部左移若干位,《右边的数指定移动位数,高位丢弃,低位补0,
移几位就相当于乘以2的几次方
8.>>=
右移后赋值
变量>>=表达式
右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”)。注意:对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的
系统移入1。移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
9.&=
按位与后赋值
变量&=表达式
按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,A=true,B=true,则A∩B=true
10.
^=
按位异或后赋值
变量^=表达式
参与运算的两个量按照对应的位进行异或运算,且
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
这些位运算都是与二进制码有关的,所以多弄弄也就会了
Ⅱ 赋值运算符的意思
赋值运算符的意思是将运算符右侧的对象或者数值传递给左侧的对象或者变量。
基本的赋值运算符是“启雀=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。
赋值运算表达氏庆式的值也就是所赋的值。也就是说,“$a = 3”的值是 3。
扩展资悄核早料
赋值运算将原变量的值拷贝到新变量中(传值赋值),所以改变其中一个并不影响另一个。这也适合于在很密集的循环中拷贝一些值例如大数组。
1、= 赋值运算符:变量=表达式如:a=3;将a的值赋为3
2、/= 除后赋值:变量/=表达式 如:a/=3;即a=a/3
3、*= 乘后赋值:变量*=表达式 如:a*=3;即a=a*3
4、%= 取余后赋值:变量%=表达式 如:a%=3;即a=a%3
5、+= 加后赋值:变量+=表达式 如:a+=3;即a=a+3
6:-= 减后赋值:变量-=表达式如:a-=3;即a=a-3
Ⅲ 请问下c语言中的赋值是什么意思,最好把C语言里面的术语都解释下,谢谢了
我说个通俗版的吧,你看要是还有什么不明白,再说
“赋值”就是将一个数值或字符赋给一个变量,这样这个变量的值就是这个数值或字符了。
比如:
int a;
a = 10;
这样就把10赋值给a了.
变量常量:
变量就是没有固定值,只是用字母或其它合法名称表示,可以随意给定值的量。
常量就是有固定值得量(可以是字母也可以是数字)
比如:
int a; //a就是变量
你可以
a=10; //把10赋值给a,
也可以
a=20; //再把20赋值给a.
常量就是你定义过赋了值然后就不可以变了。
函数:
每个程序都有一个主函数
int main (int argc, char *argv[])
{...}
写小程序时,直接写成
int main()
{
...主程序内容...
return 0;
}
但是如果都写到主函数中可读性能很差,有时候用好几次的功能你就要写好几次,不方便使用,所以把那些功能抽象出来
int main()
{
getData(); //调用"读取数据"函数(调用可以认为是你用什么功能的时候,就把能实现这个功能的东西叫出来(打出来))
processData(); //调用"处理数据"函数
outputData(); //调用"输出数据"函数
return 0;
}
然后你再具体实现这三个函数,
实现方法就是在主程序前先声明函数(声明可以认为是用一个标准的方法定义),然后把需要的语句写进去.
另外你可以看看潭浩强编的关于C/C++方面的书(比如《C程序设计》(第二版)还有实验和上机指导,非常好的C语言入门书籍),看过可以理解的好些
看书的时候要仔细看看小程序,很多大程序的核心程序或是算法都是一些小程序实现的。
Ⅳ C语言中赋值运算符&=的含义
a+=b 等同于 a = a+b
a-=b 等同于 a = a-b
a*=b 等同于 a = a*b
a/=b 等同于 a = a/b
a%=b 等同于 a = a%b
a&=b 等同于 a = a&b &表示按位与
a>>=b 等同于 a = a>>b >>表示右移
a<<=b 等同于 a = a<<b <<表示左移
a|=b 等同于 a = a|b |表示按位或
a^=b 等同于 a = a^b ^表示按位异或
基本的赋值运算符是“=”。他的优先级别低于其他的运算符,所以对该运算符往往最后读取。
一开始可能会以为它是“等于”,其实不是的。它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。
所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们现在是用变量作左值,以后还可以看到,指针和引用也可以作左值。
复合的赋值运算符,又称为带有运算的赋值运算符,也叫赋值缩写。
例如:i=i+j;可表示为 i+=j;这里+=是复合赋值运算符。
同样的共有10种这样的运算符,它们是:
+= 加赋值;
-= 减赋值;
*= 乘赋值;
/= 除赋值;
%= 求余赋值;
&= 按位与赋值;
| = 按位或赋值;
^= 按位异或赋值;
<<= 左移位赋值;
>>= 右移位赋值。
Ⅳ c语言,位符合赋值运算子, =,&=,^=!=, 分别什么含义啊
c语言,位符合赋值运算子, <<=,>>=,&=,^=!=, 分别什么含义啊?
1.= 赋值运算子 变数=表示式 如:a=3;将a的值赋为3
2./= 除后赋值 变数/=表示式 如:a/=3;即a=a/3
3.*= 乘后赋值 变数*=表示式 如:a*=3;即a=a*3
4.%= 取模后赋值 变数%=表示式 如:a%=3;即a=a%3
5.+= 加后赋值 变数+=表示式 如:a+=3;即a=a+3
6.-= 减后赋值 变数-=表示式 如:a-=3;即a=a-3
7.<<= 左移后赋值 变数<<=表示式 左移就是将《左边的数的二进位制各位全部左移若干位,《右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方
8.>>= 右移后赋值 变数>>=表示式 右移运算子是用来将一个数的各二进位制位右移若干位,移动的位数由右运算元指定(右运算元必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左闷耐边空出的部分用0填补(即“逻辑移位”)。注意:对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的
系统移入1。移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
9.&= 按位与后赋值 变数&=表示式 按位与是指:参加运算的两个资料,按二进位制位进行“与”运算。如果两个相应的二进位制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,A=true,B=true,则A∩B=true
10. ^= 按位异或后赋值 变数^=表示式 参与运算的两个量按照对应的位进行异或运算,且
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
这些位运算都是与二进位制码有关的,所以多弄弄也就会了
C语言中复合赋值运算子 :<<= , >>= ,&= ,^= , |= 分别表示什么啊 ? 请高手指点
运算子= 这种组合是赋值语句的一种简写形式,例如:
a+=b其实就是a=a+b,只不过你说的是逻辑运算子,道理是一样的.
<<是左移,>>是右移,&是与,|是或,^是异或,都是针对2进位制运算的.
C语言中算术运算子和赋值运算子哪个优先顺序高?
算术运算子高! 表示式优先顺序()(小括号) [](阵列下标) .(结构成员) ->(指标型结构成员)↑最高帆罩仿!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变数地址) │*(指标所指内容) type(函式说明) sizeof(长度计算) │*(乘) /(除) %(取模) │+(加) -(减) │<<(位左移) >>(位右移) │<(小于) <=(小于等于) >(大于) >=(大于等于) │==(等于) !=(不等于) │&(位与) │^(位异或) │|(位或) │&&(逻辑与) │||(逻辑或) │态纤?:(?表示式) │= += -=(联合操作) │,(逗号运算子) │最低 1. .的优先顺序高于*。->操作符用于消除这个问题。 *p.f变成了*(p.f)而不是(*p).f2. []高于*,于是int *ap[]中的ap变成了元素为int指标的阵列。3. 函式()高于*,因此,int *fp()不再是函式指标了,而是一个函式,返回int *。4. 逗号运算子在所有运算子中优先顺序最低,所以,i = 1, 2就成了(i = 1), 2而不是i = (1, 2)。 逗号运算子的值是最右边运算元的值,逗号运算子结合性从左至右,因此又称为顺序求值运算子。5. 在表示式中如果有布林操作、算术运算、位操作等混合计算,始终应该在适当的地方加上括号。 x = f() + g() * h(); 乘法先于加法执行,但是g()和h()的呼叫可能以任何顺序出现。同样,f()可能在乘法之前呼叫,也可能在乘法之后呼叫。 优先顺序和结合性规则告诉你哪些符号组成一个意群,大部分这样的意群内部如何进行计算的次序是未定义的。有些操作符,如&&和||等,其运算元的计算顺序是确定的,它们使用短路原则。 C语言中记住两个优先顺序就够了:乘法和除法先于加法和减法,在涉及其他操作符时一律加上括号。结合性用于在几个操作符具有相同的优先顺序时确定先执行哪一个。每个操作符拥有某一级别的优先顺序,同时也拥有左结合性或者右结合性。 所有的赋值符(包括复合赋值符)都具有右结合性(从右到左执行),因此可以使用连等的赋值形式。唯一的三目运算子?:也是具有右结合性的。 所有优先顺序相同的操作符,它们的结合性也相同,这是必须如此的。在函式呼叫中,各个引数的计算顺序是不确定的
附录C C语言运算子优先顺序和结合性
优先顺序 运算子 含义 运算型别 结合性
1 ( )
[ ]
->
, 圆括号
下标运算子
指向结构体成员运算子
结构体成员运算子 单目 自左向右
2 !
~
++ --
(型别关键字)
+ -
*
&
sizeof 逻辑非运算子
按位取反运算子
自增、自尖运算子
强制型别转换
正、负号运算子
指标运算子
地址运算子
长度运算子 单目 自右向左
3 * / % 乘、除、求余运算子 双目 自左向右
4 + - 加、减运算子 双目 自左向右
5 <<
>> 左移运算子
右移运算子 双目 自左向右
6 < <= > >= 小于、大于、小于等于、大于等于 关系 自左向右
7 = = != 等于、不等于 关系 自左向右
8 & 按位与运算子 位运算 自左向右
9 ^ 按位异或运算子 位运算 自左向右
10 | 按位或运算子 位运算 自左向右
11 && 逻辑与运算子 位运算 自左向右
12 || 逻辑或运算子 位运算 自左向右
13 ? : 条件运算子 三目 自右向左
14 = += -= *=
/= %= << = >>= &= ^= |= 赋值运算子 双目 自右向左
15 , 逗号运算 顺序 自左向右
C语言中的算术自反赋值运算子怎么运算?
算术自反赋值运算子有加赋值(+=、双目中缀)、减赋值(-=、双目中缀)、乘赋值(*=、双目中缀)、除赋值(/=、双目中缀)、模赋值(%=、双目运算)。前一个运算物件必须是变数,后一个运算物件是表示式。运算规则是先计算右边表示式的值,再和左边变数进行相应的运算,然后将结果赋予左边的变数。例如说 x += b; 其运算就是 x = x + b ; x -= b; 其运算就是 x = x - b ; x *= b; 其运算就是 x = x * b ; x /= b; 其运算就是 x = x / b ; x %= b; 其运算就是 x = x % b ; 说白了就是那种型别运算的简写。。。。。
c语言 复合赋值运算子的问题,请指教!
第一步:a=a/(a-6),a的值传递给第二步进行下一步计算
第二步:a=a*a,a的值传递给第三步进行下一步计算
第三步:a=a+a,a的最终结果在这里
记住两句话:
1、=赋值号,自右向左进行;
2、a+=1相当于a=a+1。这个a/=a-6先把a-6看成一个数,a/=1不就是a=a/1嘛;
我新手,c语言关系运算符和赋值运算子,哪个优先顺序高?比如a=b>c怎么理解?
下面的是优先顺序排序上面的高下面的低,左右高低有描述。
() [] -> . left to right
! ~ ++ -- + - * (type) sizeof right to left
* / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right & left to right
^ left to right
| left to right
&& left to right
|| left to right
?: right to left
= += -= *= /= %= &= ^= |= <<= >>= right to left
, left to right
========================
a=b>c 相当于 a = (b> c)
在c语言中,逻辑运算子和赋值运算子那个更优先计算呢?
逻辑运算子
C语言中算术运算子、关系运算符、逻辑运算子、赋值运算子等运算子的优先顺序 求大神帮忙
解析:
(1) 记住加减乘除就可以了
(2) 其它的,直接加括号
(3) 应付考试:多做练习题
(4) 职场程式猿:直接加括号
Ⅵ c语言赋值是什么
C语言中的结构体变量可以用另一个变量对其进行赋值或初始化。
简单结构体(不包含指针成员)直接赋值没有问题。但是稍微复杂一点的结构体里面会有指针成员,那么以上的浅拷贝则会有问题。
赋值会直接将结构体的指针变量被赋值,赋值之前其所指向的内存单元丢失,赋值之后若该指针指向的内存单元被其它指针释放掉,那么继续使用该成员指针的话则有可能导致内存泄漏。
概述:
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。
结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
C++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。
Ⅶ c语言赋值规则是什么
其一般形式为:变量=表达式。
由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式变量=(变量=表达式);是成立的,从而形成嵌套的情形。
赋值语句:
将确定的数值赋给变量的语句叫做赋值语句。
各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。
所赋“值”可以是数字,也可以是字符串和表达式。
注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。
Ⅷ c语言中什么是赋值什么是错
对于如下说明,语法和语义都正确的赋值是:C、s=&a[1];
A、语法上正确(可能引起编译警告)。若非静态变量或全局变量,否则s没有被初始化,是随机值,*s的值无法确定,即没有确定的语义;若是静态变量或全局变量,s被初始化为0,对地址0的解引用操作没有确定的语义。
B、错误。理由同上,对随机地址的操作不具有确定的语义(s[0]等价于*s)。另外对随机地址单元的写操作(赋值)引起的后果不可预料。
C、正确,将a[1]的地址镇喊赋值给指针s。
D、语法错误,c(int)和a(const int*)的类型不匹配,会引起编译错误。
(8)c语言赋符值解释扩展阅读:
将确定的数值赋给变量的语句叫做赋值语句。各程扮吵序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。
例如,给变量a赋值一个数为12,则格式为:a = 12 [注意:变量(即a)只能是一字母,而赋予的值可以是一个式子,当它是御缺野式子时,a的值就是这个式子的结果。
Ⅸ 在C语言中赋值运算符有什么作用
赋值符号"="
就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的表达式称为赋值表达式。一般形式为:
变量名=表达式
在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。
例:a=12;此表达式读作
将10的值赋值给变量a。
说明:a、如果赋值号两边的运算对象类型不一致,系统会自动进行类型转换,转换的规则:将赋值号右边表达式的值的类型转换成赋值号左边变量的类型,
例:int y=3.5;在变量y中最终存储的是整数3。
b、可以将复制表达式的值再赋值给变量,形成连续赋值。
例如:x=y=25
是一个连续赋值表达式,
x=y=25等价于x=(y=25),所以表达式
x=y=25
最终的值为25。