zoukankan      html  css  js  c++  java
  • 【C语言】赋值表达式自增自减逗号表达式

    1.标识符 关键字 预定义标识符 用户标识符
    2.整型数据 常量(十进制,八进制,十六进制) 变量 (有符号,无符号)
    3.实型常量 常量 变量
    4.算术表达式
    5.赋值表达式
    6.自增自减运算
    7.逗号表达式

    5.赋值表达式 C语法规定:变量必须预先定义,然后使用 函数:数据存放到存储单元(赋值),怎样将其中的数据取出来使用(读数据)(程序运行过程中:对存储单元做存取操作)
    赋值 int a; a =10;

    int a=10; 变量刚定义,用户还未对其进行赋值,变量的值是随机值 在定义变量时可以对变量进行赋值(变量初始化)

    int a,b; a = 10; b = a;

    int a=b=10;

    1.赋值表达式基本格式: 变量名 = 表达式 int a; a = 10; “=” :赋值予(运算符(赋值运算)) 含义:将运算符右边表达式的值存储到左边变量所代表的存储单元中 表达式:只能有一个唯一的值 变量名:代表一个存储单元的首字节的编号

    注意: 1)表达式可以是任意合法的表达式 2)"="运算符左边必须是变量名,不能是表达式 5 = 10 不合法 a+b=10 不合法
    int a,b,c; a=10; b = 20; c=a+b; 3)赋值表达式的优先级别只比逗号表达式高
    赋值表达式运算从右到左(结合性:右结合) 4)赋值表达式的值就是左边变量所存储的值 5)赋值表达式的右边还可以是赋值表达式(赋值表达式嵌套)

    int a,b,c; a=10; b=c=20;

    int a=b=10; 不合法(b变量未定义) int a=10,b=10; 合法 int b; int a=b=10;

    int a=10; a = 20; 6)用户可以给一个变量赋多次值,但有效的赋值是最后一次

    7)赋值兼容() int a=10; 2 long b; 4 b = a; int —>long a:
    0000 0000 0000 1010 b: 0000 0000 0000 0000 0000 0000 0000 1010 tc:环境
    long a = 32768; int b; b = a;

    出错 long —> int
    -32768 — 32767 不会出错,超出该范围一定出错(丢失高2字节的数据)

    int a=10;
    short b;
    b = (short)a;
    #include <stdio.h>
    void main()
    {
    	int a;
    	float b=12.99;
    	a = b;
    	printf("a=%d
    ",a);
    }
    
    int a=12;
    float b;
    b = a;  
    
    float 4 7--8  double 8 15--16
    float --->double
    
    #include "stdio.h"
    void main()
    {
    	float a=1.23456789;
    	double b;
    	b=a;
    	printf("a=%f,b=%lf
    ",a,b);
    }
    

    复合赋值: int a=1; a=a+1;<=> a += 1; a=a-1;<=> a -= 1; a=a*1;<=> a *= 1;
    a=a/1;<=> a /= 1; a=a%1;<=> a %= 1;
    注意:
    1)%=:操作数类型必须是整型数据
    2)复合赋值运算符之间不能加任何字符(空格)
    - = 不合法
    3)复合赋值左边必须是变量名 (a+b)+=1; 不合法 (a+b)=(a+b)+1 4)若复合赋值右边是表达式时建议加在表达式之间括号 a+=b+2

    #include "stdio.h" void main() 
    { 	int a=1,b=2;
     	a-=(b+2); 	
     	a=a-(b+2) 	
     	printf("a=%d,b=%d",a,b);
     }
    

    自增自减:(++,–) (变量名)++ ++(变量名) (变量名)-- --(变量名) a=a+1;
    #include “stdio.h” void main() { int a=1,b; b = a++; printf(“a=%d,b=%d ”,a,b); }

    结果:b=1;a=2;

    b=a++; <=> b=a; a=a+1;

    表达式的值是:1
    a: 2

    #include "stdio.h"
     void main() 
    { 	int a=1,b;
      	b = ++a;
      	printf("a=%d,b=%d
    ",a,b);
    }
    

    结果: a=2,b=2 b = ++a; <=> a=a+1; b=a;

    int i=2,c; c=i++ c:2 i:3

    后缀: 先将变量的值取出来作为表达式的值
    然后使变量的值自加1 前缀: 先使变量的值自加1
    然后将变量的值取出来作为表达式的值

    float a=3.12,b; b=a++; printf(“a=%f,b=%f ”,a,b);

    结果:b=3.12 a=4.12

    逗号表达式 格式: 表达式1,表达式2,表达式3,…,表达式n
    执行过程:从逗号表达式的最左边一个表达式开始依次执行到最后一个表达式,整个逗号表达式的值是最后一个表达式的值

    d=(a=12,b=13,c=a+b)

    d=(10,20,30);

    int i=1,j=3,k; i++,j–,--j,++i,k=j+i,k+j

    算术表达式 > 赋值表达式 > 逗号表达式

    填空:40    30 10 程序填空:18 程序修改: 18 程序编写: 24   double a; a=12.0
    int long short float double
    double a1=1.0,a2=1.0;
    a*b/c a/c*b a*(b/c)
    
    一键三连呀!
  • 相关阅读:
    16位汇编第一讲简介
    COM编程_第一讲_深入COM框架以及实现简单的COM
    COM_第四讲_保存GUID_优化使用代码
    C语言_第二讲_规范以及常用数据类型
    C语言_第一讲_C语言入门
    计算机基础知识_原码反码补码
    计算机基础知识_进制转化
    计算机基础知识_硬件知识
    试题总结2
    试题总结1
  • 原文地址:https://www.cnblogs.com/jee-cai/p/14095198.html
Copyright © 2011-2022 走看看