今天是学习C语言的第三天。
一、C语言运算符号
运算优先级:初等运算符> 单目运算符> 算术运算符> 关系运算符> 逻辑运算符> 条件运算符> 复制运算符>逗号运算符
编译器只做类型检查。
%:要求左右两边是整型或与整型兼容。且最终运算结果符号与左操作数有关。
实参与形参:类型匹配,个数相等。
++i:先加再用
i++:先用再加。在此过程中会产生一个临时变量(匿名变量)
left value(lvalue):左值。变量为左值
right value(rvalue):右值。常量为右值,匿名变量为右值
通常使用“&”来判断左右值。
“const int i = 2;” 此时“i”为只读变量,仍为左值
二、混合运算:在进行运算时,不同的数据类型要转换为同一类型,再计算
1.隐式转换:由系统自动进行。
2.显示转化。强制类型转换运算符
可以利用强制类型转换运算符将一个表达式转换为所需类型。
其一般形式为:
(类型名)(表达式)
例:(int)x+y 只将x转换成整型与y相加
逗号运算符
又称为“顺序求值运算符”。逗号表达式:表达式1,表达式2
先求解1,再求2
三、混合赋值
int = double 直接赋值
double = int 小数部分截断
short = int 高位截断(拷贝低位字节)
int = short 符号位扩展
unsigned short = int 空位补0