赋值运算符
来源:互联网 发布:淘宝怎么上传模板 编辑:程序博客网 时间:2024/05/22 21:45
赋值运算符
赋值运算符就是将赋值号右边的表达式或者变量值赋值给左边的变量名(内存实体),在赋值运算符中涉及到两个概念:
左值:有内存实体的变量被赋值的称为左值。左值可以赋值给右值。
右值:能放在赋值号右边给其他变量赋值的值。
而且赋值时会完成自动类型转换。
优先级:赋值预算的优先级低于算术运算符
结合性:从右向左
赋值运算符还可以和算术运算符和位运算符结合使用,组合成复合赋值运算符,常用的复合赋值运算符有如下几种:
组合算术运算符 +=、-=、*=、/=、%=、
组合位运算符 <<=、>>= 、&=、 ^= 、|=
赋值运算符的综合案例如下应用案例所示:
#include <stdio.h>#include <stdlib.h>/* 赋值运算符 运算的顺序是从右向左开始运算 赋值号会执行类型转换 @author tony ittimeline@163.com @date 2017/11/26 14:14 @website www.ittimeline.net*/void assignment() { int num = 5; num = 3; //3 =num ; //编译错误 赋值左边必须是内存实体(变量) int one, two, three; //声明多个整数变量 one = num; //右值num作为左值变量在这里可以赋值给左值变量one printf("num=%d",num=4);//赋值表达式的结果就是num被赋值的变量 printf("%d\n",one=two=three=num=4);//结合性是从右边向左 //左值和右值 //左值:有内存实体的变量才能够赋值的值称为左值 //右值: 能放在赋值号右边,给其他变量赋值的值 int val = 10; // 10 = val; 编译错误, int target = val; //左值可以替换右值 target += 2; //等价于target=target+2 target -= 4; //等价于target=target-4; const int height = 636.88; //赋值会完成制动类型转换 printf("height=%d\n",height); //num+=12 ===>num=num +12 int intVal = 12; int calcResult = intVal += intVal -= intVal*intVal; //等价于intVal=intVal+(intVal=intVal-(intVal*intVal)) printf("calcResult =%d\n",calcResult); system("pause");}
阅读全文