优先级和结合性:
1.变量赋初值
形式:类型说明符 变量名=对应的常量值,变量名=对应的常量值,......;
注:将变量abc赋值相同:inta=6,b=6,c=6;不能写成int a=b=c=6;
2.各类数值型数据间的混合运算
1)整数、浮点型、字符型数据可以混合运算
2)若参与运算量的类型不同则先转换成同一类型,然后在计算
3)转换按数据长度增加的方向进行,以保证精度不降低
4)所有的浮点运算都是以双精度进行的
5)char 型和 short 型参与运算时,必须先转换成 int 型
6)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型
混合运算类型转换:
char->>int->>unsigned->>long->>doublem float->>double
3.算术运算符和算术表达式
<1>c语言运算符简介
算术运算符 | + - * / % |
关系运算符 | > < == >= <= != |
逻辑运算符 | ! && || |
位运算 | << >> ~ | ^ & |
赋值运算符 | = |
条件运算符 | ? : |
逗号运算符 | , |
指针运算符 | * & |
求字节数运算符 | sizeof |
强制类型转换运算符 | (类型) |
分量运算符 | . -> |
下标运算符 | [ ] |
其他 |
<2>算术运算符和算术表达式
1)基本运算符
+ - * / %
/:
①两个整数相除的结果为整数。如 c语言中int型:5/3=1
②若俩整数中有一个小数,则结果为小数。 如 5.0/2=2.5
③如果除数或被除数中有一个为负值,舍入方向不固定。 如 -5/3=-1
% : 模运算符(取余运算符)
%俩侧均为整型数据, 如7%5=2
对于求余(%)运算,运算结果与第一个数的符号相同 -5%3=-2 5%-3=2
2)算数运算表达式和运算符的优先级与结合性
优先级:先乘除取余后加减
结合方向:自左向右
3)强制类型转换运算符
格式:(类型名) (表达式)
4)自增自减运算符
格式:++a --a(在使用a之前,先使a的值加/减1)
a++ a--(在使用a之后,使a的值加/减1)
结合性:自右向左
4.赋值运算符和赋值表达式
<1>赋值运算符 =
<2>类型转换:
条件:如果赋值运算符的两侧类型不一样,但都是数值型或字符型时,右边要符合左边类型
1)将浮点型数据赋给整形变量时,舍去其小数部分
2)将整型数据赋给单、双精度变量时,数字不变,但以实数形式存储到变量中
3)将一个 double 型数据赋给一个 float 型变量时,截取其前面的7位有效数字,存放到 float 变量的存储单元(32位)中(double有效数字是16位)
4)字符型数据赋给整型变量时,由于字符只占1个字节,而整型变量为2字节,因此将字符数据(8位)放到整型变量低8位中
5)将一个 int、short、long 型数据赋给一个 char 型变量时,只将其低8位原封不动地送到 char 型变量(即截断)
<3>复合的赋值运算符
在赋值符“=” 之前加上其他运算符
形式:变量 双目运算符 = 表达式 (双目就是这个运算符对两个变量进行操作)
等效于:变量 =变量 运算符 表达式
- 赋值表达式:
定义:就是将一个变量和一个表达式连接起来的式子
形式:<变量> <赋值运算符> <表达式>
如:a=1
- 结合性:自右向左
5.逗号运算符和逗号表达式
形式:表达式1,表达式2,.......... 表达式n;
结合性:自左向右
求解过程:根据左结合性,分别求出 n 个表达式的值,并以表达式 n 的值作为整个逗号表达式的值
例题:
a=3*5,a*4 ——>>表达式的值为60
(a=3*5,a*4),a+5 ——>>表达式的值为20