C语言第二章

赋值运算符的表达式

复合的赋值运算符

= 加上其他运算符,构成了复合的赋值运算符

逗号运算符和逗号表达式

//
//  main.c
//  project1
//
//  Created by sihan guo on 2019/06/13.
//  Copyright © 2019 sihan guo. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    // 赋值运算符的表达式: = 将等号右边的值付给等号左边的变量
    // = 左边 是个变量 右边是个值 赋给是直接赋值 或者改变变量的这个值
    int a;
    a = 5;
    a = 6.5;//将实型数据赋值给整形变量时,小数部分会被舍弃 a = 6;
    a = 18 + 50;//68
    a = a + 5;//73
    
    float f;
    f = 125;//XXXEXXX = 1.25E+2,实型变量时 按指数的形式保存在内存中
    
    //几个概念
    //char b;//这个叫变量定义,系统会分给a一个字节内存,内存里边的值不确定
    char b = 90;//这个叫变量定义:同时给变量赋初值(定义时初始化)
                //这个不是赋值,这个叫定义时赋初值
                //-128  ~  127
    //b = 900;//赋值语句 这就是赋值 会造成溢出 溢出后的值 就会变的不可预料
    //赋值的原则:类型要相同,类型不同的强制类型转换,应当用强制类型转换时,开发者必须自己明确知道不会溢出
    int c;
    // c = (int)100000000023;//会造成溢出,溢出就会造成不确定
    a += 3;//+和=必须紧挨着 分开后就会失效 相当于 a = a + 3;
    
    int x = 2,y = 8;
    x *= y+8;//相当于 x = x * (y +8); 如果 *= 右侧是个表达式的话 则相当于表达式有括号 32
    x %=    3;//相当于 x = x % 3; 2
    //赋值表达式本身就是有值的 他的值就等于等号右边的部分
    a = 4;
    //printf("a += 5这个表达式的值是%d",a += 5);//9
    
    //解决了两个赋值问题
    int m,p;
    m = ( p = 5 );// m = 5;p = 5;
    //赋值运算符是从左至右的结合性  比如说:
    a = m = p = 5;
    //不明白就加括号解决
    
    //逗号运算符和逗号表达式
    //优先级最低的运算符
    //格式:表达式1,表达式2
    //求解过程:
    //先求解表达式1 再求解表达式2
    
    int k;
    k = (4,3);//整个表达式的值就是表达式2的值
    //printf("k的值是%d\n",k);
    
    //例子:
    int t;
    int re;
    re = (t = 3*5, t * 4);
    printf("t的值是%d\n",t);
    printf("re的值是%d\n",re);
    
    //扩展逗号表达式
    //如果逗号表达式有很多式子的话:最终的值是最后一个表达式N的值
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值