常用运算符的分类:+、-、*、/、%、++、--;
表达式:运算符+运算数
1、首先了解运算过程中的几个转换概念:
1.1隐式类型转换:(系统自动完成的)
表达式都是有具体数值的,所以表达式一定会对应某种数据类型,由此可引出隐式类型转换概念:

注意:1.在进行运算时,变量的数据类型会自动由低精度向高精度转变:
2.从右向左 --- 必转。从下向上 --- 低精度向高精度转。
由此可得,表达式的输出类型为其变量中精度最高的决定。
注意:有符号int型向无符号int型转法。(有符号int型最高位为符号位,与无符号int型存在一定区别)
1.2强制类型转换:(自己手动完成的)
格式:(类型)运算数 (int)a
注意:强制类型转换 ,不会影响运算数本身,因为强制类型转换类运算符。
2、具体运算符:
2.1:+ 加法运算符 使用方法简单
2.2:- 减法运算符 使用方法简单
2.3:/ 除法运算符
注意:除数不能为0;
2.4:% 求余运算符
注意:1.除数不能为0;
2.运算数不能是小数
常用用处:1.判断奇偶性;
2.%N 余数范围为0 ~ N-1;
3、运算的应用:
随机抽题:在100个题中随机抽取十道题。
思路:1.对100求余,随机生成一个编号,编号范围为0 ~ 99。
2.for循环10次打印出10个数字。
扩展:让题目落在后50道题。
思路:对50求余数:(rand)%50,让余数在0 ~ 49,然后再+50,所以余数就是50 ~ 99;
4、++ 自增 --- 表示一次增加1 (--自减与++自增概念类似)
int a = 1;
a++ //后置加加 --- 先用(表达式的结果) 后加(让i自增)
++a //前置加加 --- 先加(让i自增) 后用(表达式的结果)
注意:1.++a效率更高
2.浮点类型(float)也可以自增自减
5、贪心法: 从左到右逐个扫描,将字符尽可能多的结合成c语言运算符
举例: i+++++i
i ++ ++ + i
i++ ++ + i
((i++)++) + i
6、赋值运算: "="就是赋值运算符,将一个数据从右往左赋给一个变量。
6.1:a=(b=(c=10)) //可以连续赋值
6.2:不同类型间混合赋值: int a; a = 1.23;
1.高精度 => 低精度 double/float => 整型 ==> 精度丢失
2.低精度 => 高精度 (并无什么损失,不做讨论)
3.整型 int => short long => int short => char
长类型=>短类型 //高位截断
短类型=>长类型:分情况讨论
无符号短类型 =>长类型 //高位补0
有符号短类型 =>长类型 //符号位扩展 (高位补符号位)
1870

被折叠的 条评论
为什么被折叠?



