复合赋值符及表达式
来源:互联网 发布:电信网络运营商电话 编辑:程序博客网 时间:2024/06/05 07:31
复合赋值符及表达式
在赋值符“=”之前加上其它二目运算符可构成复合赋值符。如
+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。 构成复合赋值表达式的一般形式为: 变量 双目运算符=表达式 它等效于 变量=变量 运算符 表达式 例如:
a+=5 等价于a=a+5
x*=y+7 等价于x=x*(y+7)
r%=p 等价于r=r%p
复合赋值符这种写法,对初学者可能不习惯, 但十分有利于编译处理,能提高编译效率并产生质量较高的目标代码。逗号运算符和逗号表达式在
逗号运算符
C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。
其一般形式为: 表达式1,表达式2 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。
void main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
a<--2,b<--4,c<--6,x<--0,y<--0
x<--a+b,y<---b+c
本例中,y等于整个逗号表达式的值,也就是表达式2的值,x是第一个表达式的值。对于逗号表达式还要说明两点:
1.逗号表达式一般形式中的表达式1和表达式2 也可以又是逗号表达式。例如: 表达式1,(表达式2,表达式3) 形成了嵌套情形。因此可以把逗号表达式扩展为以下形式: 表达式1,表达式2,…表达式n 整个逗号表达式的值等于表达式n的值。
2.程序中使用逗号表达式,通常是要分别求逗号表达式内各表达式的值,并不一定要求整个逗号表达式的值。
3.并不是在所有出现逗号的地方都组成逗号表达式,如在变量说明中,函数参数表中逗号只是用作各变量之间的间隔符。
[Practice] //arithmeticint a,b,c;
float d;
a=11;
b=235;
c=a+b-a*b;
d=(float)c/(float)a;
a=c/a;'Vtable
a,2,0
b,2,0
c,2,0
d,4,0.0
of Vtable
'Vupdate
1,0;2,0;3,0
4,0.0
1,11
2,235
3,-2339
4,-212.636368
1,-212
of Vupdate
of Practice
[Practice] //1int a,b,c1,c2;
a=25;
b=3243;
c1=b/a;
c2=b%a;'Vtable
a,2,0
b,2,0
c1,2,0
c2,2,0
of Vtable
'Vupdate
1,0;2,0;3,0;4,0
1,25
2,3243
3,129
4,18
of Vupdate
of Practice
[Practice] //1int a,b,c;
a=25;
b=40;
c=a+b,c+35;'Vtable
a,2,0
b,2,0
c,2,0
of Vtable
'Vupdate
1,0;2,0;3,0
1,25
2,40
3,65
of Vupdate
of Practice
小结
1.C的数据类型
基本类型,构造类型,指针类型,空类型
2.基本类型的分类及特点
类型说明符 字节 数值范围
字符型char 1 C字符集
基本整型int 2 -32768~32767
短整型short int 2 -32768~32767
长整型 long int 4 -214783648~214783647
无符号型 unsigned 2 0~65535
无符号长整型 unsigned long 4 0~4294967295
单精度实型 float 4 3/4E-38~3/4E+38
双精度实型 double 8 1/7E-308~1/7E+308
3.常量后缀
L或l 长整型
U或u 无符号数
F或f 浮点数
4.常量类型
整数,长整数,无符号数,浮点数,字符,字符串,符号常数,转义字符。
5.数据类型转换
·自动转换
在不同类型数据的混合运算中,由系统自动实现转换, 由少字节类型向多字节类型转换。 不同类型的量相互赋值时也由系统自动进行转换,把赋值号右边的类型转换为左边的类型。
·强制转换
由强制转换运算符完成转换。
6.运算符优先级和结合性
一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、 赋值
7.表达式
表达式是由运算符连接常量、变量、函数所组成的式子。 每个表达式都有一个值和类型。 表达式求值按运算符的优先级和结合性所规定的顺序进行。
- 复合赋值符及表达式
- 复合赋值符及表达式
- 复合赋值运算符
- JS程序设计基础:变量,算术、关系、赋值、复合赋值、逻辑、位运算符与表达式
- 表达式之谜9&10:复合赋值
- java中谨慎使用复合赋值表达式
- c语言 转义符 算术运算符及赋值运算符 复合运算符 逗号运算式和表达式 关系运算符 逻辑运算符
- 赋值 和复合赋值操作符
- C#算术表达式与算术运算符,复合赋值运算符
- 自加自减复合赋值-关系表达式
- 复合赋值运算符的应用
- 第七节swift 复合赋值操作符
- 复合赋值运算符的使用
- C语言及程序设计初步例程-17 赋值运算符与赋值表达式
- 复合赋值+=解惑
- Java复合赋值运算
- 复合赋值运算总结
- 赋值运算符和赋值表达式
- 【免费】超强阵容:移动开发技术沙龙——移动产品设计实战
- sql数据类型转换(cast() and convent())函数)(转)
- 基本运算符和表达式
- 调试Release发布版程序的Crash错误(二)(
- 有感于工作以来的深圳物价
- 复合赋值符及表达式
- 复合赋值符及表达式
- delphi2010 "名,伍,上"等字不显示的修改
- C++中操作符operator的两种用法
- 一个简单的Web Service
- struts2 执行报错
- r
- C++中操作符operator的两种用法
- 你应该收藏的 Android Websites: