运算符
sizeof运算符
获取某个数据类型或着变量的长度可以使用sizeof操作符,以字节为单位来计数
对于sizeof(),其形式类似于函数,但本质是C语言的一个运算符,且对sizeof()的处理都是在编译阶段进行。
字符量使用单引号括起来的一个字符;注意只能是英文的单引号。注意字符常量只能是单字符,不能是字符串,不能用双引号。
字符变量使用char定义变量。
数据类型的转换
float → double
char,short → int → unsigned int → long int → double
运算符
单目运算符:操作一个运算符
双目运算符:操作俩个运算符
三目运算符(?:)
运强制类型转换
隐式类型转换或赋值转换有时不会得到我们预期的结果,这时我们可以使用强制类型转换来实现我
们想要的类型转换结果。
强制类型转换:人为地将某类型转换为另一类型
强制类型转换符: ()
(类型名) 表达式;
示例:
(double) a: 将a转换成double类型
(int) (x + y): 将x+y的值转换成整型
(float)(5 % 3): 将5%3的值转换成float型算结合方向
自左向右;自右向左
%的操作数必须是整数
逻辑运算符短路
表达式1 && 表达式2 && 表达式3
当表达式1是真时,才会去判断表达式2的真/假。否则,如果表达式1是假,则之后的都不会运算。
当表达式2是真时,才会去判断表达式3的真/假。否则,如果表达式2是假,则之后的都不会进行运算
表达式1 || 表达式2 || 表达式3
当表达式1是真时,跳过判断表达式2和表达式3,直接返回真;
当表达式1是假时,才去判断表达式2的真/假
当表达式2是真时,跳过判断表达式3,直接返回真;
当表达式2是假时,才去判断表达式3的真/假条件运算符
?:
使用方法:表达式1?表达式2:表达式3
表达式1成立运行表达式2,否则运行表达式3
int a=0,b=1,c=2,d;
d = a++ || b-- && ++c;
答案:a->1 b->0 c->3 d->1
1. d = a+b>c && b==c
2. d = a || b+c && b-c
3. d = !(a>b) && !c || 1
4. d = !(x=a)&&(y=b)&&0(x和y均为int型,求出x和y的值)
5. d = !(a+b)+c-1 && b+c/2.
1) d=0
2) d=1
3) d=1
4) d=0,x=3,y未知
5) d=1
按位与(&)
&的运算规则:如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
示例:计算 3&5 和 -3 & -5
如参加&运算的是负数(如-3&-5),则要以补码形式表示为二进制数,然后再按位进行“与”运算。
按位与的使用:
对一个存储单元清零,与进行0与运算。
取一个数中某些指定位:如:取int a = 4321的低8位值,a & FF
continue作用是结束本次循环,即跳过循环体中下面尚未执行的语句,进行下一次是否执行循环的判定,而不终止整个循环的执行。