首页 > 代码库 > 黑马程序员----算术运算、关系运算、逻辑运算
黑马程序员----算术运算、关系运算、逻辑运算
一、算数运算
1.C语言中一共提供了34种运算符
2.基本运算(加、减、乘、除)
3.取余运算(也称模运算)
- %两边都是整数,如果为小数会报错
- 取余结果的正负性取决于%左边的整数
- 取余运算可以将一个整数的值固定在多少以内
4.自动类型装换
int a = 10.8; // double 自动转换成int,会有警告;
5.强制类型装换
int a = (int)10.8; // double 自动转换成int,不会再有警告;
6.自动类型提升
double c = 10.6 + 6; // 会将6自动提升为double进行加法运算;
7.复合运算
a += 5; // a = a + 5;a *= 6; // a = a * 6;a += 5 + 6 + 4; // a = a + (5 + 6 + 4);
8.代码练习
二、关系运算(比较运算)
1.条件判断
- C语言中是没有BOOL类型的;
- C语言中规定任何数据都是又真假性的:任何非0的值都为真,只有0才为假;
2.优先级
- 关系运算符中 == 、!= 的优先级相等,<、<=、>、>= 的优先级相等,且前者的优先级低于后者;
如:int result = 2 > 3 == 1;
解析:先运算: 2 > 3 返回0,假
再运算: 0 == 1; 返回为0,假
即结果:result = 0;
- 关系运算符的结合方向为从左往右;
如:int result = 4 > 3 > 2;
结果: result = 1 > 2 = 0;
- 关系运算符的优先级小于算术运算符
如:int result = 3 + 4 > 8 - 2;
解析:int result = 7 > 6;
即结果:result = 1;
三、逻辑运算
1.逻辑运算的结果只有两种:真和假;
2.共有三种运算符:
- 逻辑与:格式:条件1 && 条件2;
- 逻辑或:格式:条件1 || 条件2;
- 逻辑非:格式:!条件;
3.注意点:
- 当条件1的结果已经能决定整体结果时,就不再运行条件2
如:
int a = 10;
int b = 10;
int c = (a < 5) && (++b >= 11);
结果:a = 10, b = 10, c = 0;
解析:当运算完 a < 5 后,即为0,就会决定c = 0;将不再运行b >= 11, 即,没有进行 ++b,导致 b = 10。
- 条件也可以是一个常量;
如:int c = 5 && 6;
- 逻辑非可以连写;
如:int a = !!5; 结果:a = 1;
4.代码练习:
结果:
四、三目运算
1.格式:
- 条件 ? 数值1 : 数值2;
如:int a = 10 > 5 ? 9 : 6;
结果:a = 9;
2.判断两个数的大小
int a = 10;int b = 9;int c = a > b ? a : b;
3.判断三个数的大小
int a = 10;int b = 9;int c = 998;int abMax = (a > b) ? a : b;int max = (abMax > c) ? abMax : c;// 结果:max = 998;
4.代码练习
运行结果:
黑马程序员----算术运算、关系运算、逻辑运算
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。