赋值运算和赋值表达式

今天学习内容现在分享给大家;

第一先说说赋值

什么是赋值 ?

(  将赋值符右边表达式的值赋给赋值符左边的一个变量。)记住不能变换位置。

那赋值符号是什么?  就是我们平时所说的“=”号。

 在赋值中我们应该注意数据类型 (赋值运算符的数据类型若不一致,则要进行类型转换。)

例如int a; a=2.3; a的值为2。

(将实型数据赋给整型变量时,舍弃实数的小数部分。)

将整型数据赋给实型变量时,数值不变。

例如float f  ;  f=23;  (先23→23.00000 再存储在f 中)
double  d;  d=23; (先23→23.000000000000000再存储在d中);

将字符数据赋给整型变量时,将字符数据放到整型变量低8位中

两种情况:若字符最高位为1,整型变量的高8位置1,否则高8位置0。
若把字符处理为无符号的量,整型变量的高8位置0。

  

怎么理解这两种情况 比如一个字符 他的二进制数为01010111  那么它储存在整型变量中为 00000000 01010111

如果是这样   int c;char i; c=i    i='/376'那么其二进制为1 1 11 11 10        那么储存为11111111   11111110  所以i=-2

(将整型数据赋给长整型变量时,将整型数据放入长整型变量的低16位,若整型数为负数,长整型变量的高16位置1,否则长整型变量的高16位置0。)


将长整型数据赋给整型变量时,取长整型数据低16位。        应注意数值的范围,超出则数据出错

例如:main()
             { unsigned int a;                          b   1 11111111 11111111     
                int  b=-1;                                 
                a=b;                                       a为无符号的整形 a  ( 1111111111111111)2=65535
                printf( "a=%u“ ,a);
              }

        a=65535

复合的赋值运算符:(共十个)
  += , -= , *= , /=  , %= ,     位运算   <<= , >>= , &= , ^= , |=  先不讲

  

                   a+=3        等价于     a=a+3
                  x*=y+8    等价于     x=x*(y+8)
                  x%=3       等价于     x=x%3

        x*=y+1;    ( 等价与  x=x*(y+1);)

<、<=、>、>=、(优先级高 同级)      ==、!=(优先级低 同级)

关系运算符的结合率为:“自左而右”。

                c>a+b           等效于     c>(a+b)
                a>b!=c          等效于     (a>b)!=c
                a==b<c         等效于     a==(b<c)
                a=b>c           等效于     a=(b>c)

关系表达式:
       由关系运算符和操作数组成的表达式称为关系表达式。关系表达式的值是一个逻辑型的值,即只有两个值(真和假)。C语言是用1作为真,用0作为假。但是进行运算时,非0即认为真,0才认为假。而表达式的结果为真时,给出真值1。为假时,给出假值0。

例如:有int x=2,y=3,z=5;
            则:x>y     结果为0。
                    z>=y    结果为1。 
                    z==y    结果为0。

如果a=3 b=2 c=1

f=a>b>c 这是错的 结果为0为什么? 因为不能连续比较


  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值