本文目录一览:
- 1、在C语言中11种赋值运算符的具体含义,用法?
- 2、c语言中 赋值运算中,赋值号两边的数据类型不同时
- 3、C语言中的赋值语句
- 4、c语言赋值规则是什么?
- 5、C语言赋值号左右值
- 6、C语言中赋值语句的语法是怎样的
在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。
扩展资料:
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语言中 赋值运算中,赋值号两边的数据类型不同时
1、赋值运算中如果赋值号“=”两边的数据类型不同,赋值号右边的类型转换为左边的类型,这种转换是截断型的转换,不会四舍五入。
比如i是整型变量,则i=2.99;结果i的值为2
直接舍去
#include
stdio.h
int
main()
{
int
i;
i
=
2.99;
printf("%d",
i);
return
0;
}
测试结果为2.
C语言中的赋值语句
你都学傻了!!!!!
赋值就是赋值什么表示成功不成功啊;
你看看这个吧
c=(x=z);
c==(x=z);
第一个是赋值表达式,赋值表达式是不产生逻辑值的,也就是什么都没有
后一个才是关系表达式,是产生逻辑值的
自己想也得根据实际啊,要从实际出发,这是历史得教训
c语言赋值规则是什么?
其一般形式为:变量=表达式。
由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式变量=(变量=表达式);是成立的,从而形成嵌套的情形。
赋值语句:
将确定的数值赋给变量的语句叫做赋值语句。
各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。
所赋“值”可以是数字,也可以是字符串和表达式。
注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。
C语言赋值号左右值
其实你从头到尾就搞错了,数组其实并不能简单的看作一个变量的,他是一组指针,代表了了一系列的内存地址,比如a[],这个a表示的是这个数组内存空间的首地址,我们假设为20吧,那么a[0]的地址就是20,如果存的是数字的话,a[1]的地址就是22.为什么C语言要这样来规定了,这是因为实际上C中并没有真正意义上的数组这样一个概念的,他不想JAVA,而C为了方便程序编写者,就用这么一种特别的方式来建立了一个数组,与其说是数组,倒不如说只是C定义的一连串内存空间。
而数组中的元素比如a[0]就和你上面提到的x=y中的x是一个东西,这个一定要弄明白,否则学到指针有你头疼的,后面的链表也不用学了,哈哈~~!
刚才看到你们在纠结int *ptr=a这个问题,a其实他代表的是一个地址,也就是说int *ptr=a这句话将一个地址赋给了ptr这个地址中的内存空间,如果写成int *ptr=a[0]就是将a[0]这个数字赋给了ptr这个地址中的空间,两种都不会出现编译错误的
C语言中赋值语句的语法是怎样的
赋值的语法规则就是:
数据类型 变量名 = 表达式
表达式可以理解为一个值或一个计算公式就行,表达式加一个英文符号分号就是语句。
例如:
我们今天要用到的,我买了几斤苹果。
就可以这样写:
方式一:
Int apple_count = 0; //告诉计算机apple_count是用来存买苹果的斤数的,默认为0;
方式二:
Int apple_count; //告诉计算机apple_count是用来存买苹果的斤数的,以后再告诉计算机它等于多少,现在不知道;
扩展资料
1、C语言中,赋值运算的操作是有方向的,即将右侧表达式的值(也称为右值)赋值左侧的变量,只能是标识一个特定存储单元的变量名。
2、由于变量名只能出现在赋值运算符的左边,因此它也被称为左值;由于常量只能出现在赋值运算符的右边,因此它也被称为右值。左值可以用作右值,但右值不能用作左值。