开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
强制类型转换
要把一个量强制转换成另一个类型(通常是较小的类型),需要:(类型)值;
比如:(int)10.2;
注意这个时候的安全性,小的量不总能表达大的量。
注意:强制类型转换只是从那个变量计算出了一个新的类型的值,,它并不改变那个变量,无论是值还是类型都不改变。
强制类型转换的优先级高于四则运算;int i=(int)(a\b);
其它运算:逻辑、条件、逗号
bool(布尔类型)
需要在开头加上头文件:#include<stdbool.h>
之后就可以用bool和true,false。
输出只能是1或0,没有true或false。
逻辑运算
逻辑运算是对逻辑量进行的运算,结果只有0或1;
逻辑量是关系运算或逻辑运算的结果。
!:逻辑非,!a(如果a是true结果就是false,如果a是false结果就是true);
&&:逻辑与,a&&b(如果a和b都是true,结果就是true;否则就是false);
||:逻辑或,a||b(如果a和b有一个为true或者都为true结果为true,两个都是false结果为false)。
如果要表达数学中的区间,例如x∈(4,6)用C写:x>4&&x<6;
如何判断一个字符c是否为大写字母:c>='A'&&c<='Z';
逻辑运算符优先级普遍低于比较运算符,单目运算符优先级高于双目运算符。
所以说:!age<20;(!属于单目运算符)会先做!age,而其结果只有0或1,所以整个表达式最终的结果永远为1。
优先级
!>&&>||,
短路
逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会做右边的运算。
对于&&,左边是false就不做右边;
对于||,左边是true就不做右边。
所以:不要把赋值,或者复合赋值组合进表达式。