目录
附:转义符及其作用
算术运算符和算术表达式
1、基本算术运算符
(1)+:加法运算符,或正值运算符,如 3+5 +3;
(2)- :减法运算符,或负值运算符,如 5-2 -3;
(3)* :乘法运算符,如 * 5;
(4)/ :除法运算符,如 5/3;
(5)% :模运算符,或称求余运算符,%两侧均应为整型数据,如 7%4 的值为3。
2、算术表达式
用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式
子, 即运算符和运算数构成的字符序列,称为算术表达式
。
3、算术表达式和运算符的优先级与结合性
优先级:不同优先级的运算 混合运算时,高优先级的先结合。优先级高,并不一定决定先算,但 一定是先结合的。
结合性:同一优先级的运算混合运算时,按结合性进行结合。
4、隐式类型转换
5、强制类型转换
(1)强制转换格式:
(转换类型) 运算数
1 #include<stdio.h>
2
3 int main(void)
4 {
5 float f = 12.456;
6 printf("f = %d\n",(int)f);
7
8 return 0;
9 }
运行结果为:f = 12
(*在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。)
6、自增、自减运算符
(1)作用是使变量的值增 1
或减
1 ,
例如:
++i , --i (在使用
之前,先使 i
的值加(减)
1)
i++ , i-- (在使用
之后,使 i
的值加(减)
1)
粗略地看,++i,
i++
的作用相当于
i = i + 1
。但++i,
i++
不同之处在于 ++1 是先执行 i = i + 1
后,再使用 i
的值;而
i++
是先使用 i
的值后,再执行
i=i+l 。自减同理。
注意:
①
自增运算符(++)和自减运算符(- -)只能用于变量,而不能用于常量或表达式。
②++和--的结合方向是“自右至左“。
(2)贪心法:从左到右逐个扫描,将字符尽可能多的结合成c语言运算符。
例:printf("%d %d",i,i++);
① i+++++i
② i ++ ++ + i
③ i++ ++ + i
④ ((i++)++) + i
注意:
printf("%d %d",i,i++);1.函数传参顺序 2.i++ 先用后加,什么时候加 没有统一规定。 这种写法不宜提倡,最好改写成:
j
=
i++;
printf("
%
d,
%d11,
j,i);
总之,不要写出别人看不懂的,也不知道系统会怎样执行的程序。
7、赋值运算
赋值符号" = "就是赋值运算符,它的作用是将一个数据赋给一个变量。如
" a =
3 "
作用是执行一次赋值操作(或称赋值运算)。
不同类型间的混合赋值:
(1)不同精度类型的混合赋值
①高精度 ===> 低精度
如:double/float ==> 整型 精度丢失
1 #include<stdio.h>
2
3 int main(void)
4 {
5 float f = 12.456;
6 int a;
7 a = f;
8 printf("a = %d\n",a);
9
10 return 0;
11 }
运行结果:
a = 12
②低精度 ===> 高精度 (不受影响)
(2)整型间的混合赋值
①长类型 ===> 短类型 高位截断
②短类型 ===> 长类型 短类型有符号进行符号位扩展,无符号高位补0
8、逗号运算符
C语言提供
种特殊的运算符
——
逗号运算符。用它将两个表达式连接起来。
例如:
3
+
5,6+8,
称为逗号表达式,又称为“ 顺序求值运算符 ”。
逗号表达式的一般形式为:
表达式1
,
表达式2...
在使用逗号表达式赋值时,最后表达式的结果为赋值表达式结果,如下:
a = (3 + 4,3 + 6,1 + 1);
运行结果:
a = 2