运算符:
(1)算术运算符:+ - * / % ++ - -
要点:
①在"/"运算中,被除数与除数若全为整型,则结果必为整型,且向下取整;若除数与被除数中有一个为浮点型,则结果必为浮点型
②在"%"运算中,运算符左右两侧必须全为整型
③在"++“或”- -"运算中,++表示值加一,- -便是值减一
要求操作数必须是变量
a、a++与++a若单独成句,没有区别
b、在表达式中,a++表示先使用a的值,再进行a = a + 1的操作;
++a表示先进行a = a + 1的操作,再使用a的值
(2)逻辑运算符:&& || !
&&:运算符左右两侧均为真,则结果为真
||:运算符左右两侧有一侧为真,则结果为真
!:真即假,假即真
(3)位运算符 & |
& 与0得0
| 或1置1
~ 包括符号位在内均按位取反
<< 左移n位,右侧补n位0 >> 右移n位,正数左侧补0;负数左侧补1 (按补码运算)
^ 相同为0,不同为1
(4)关系运算符:> < >= <= == !=
注:
①表示范围一般使用"&&“或者”||"操作
②严格区分"=“与”==",可以将常量放在表达式左侧
(5)赋值运算:
= += -= = /= %=
a += b;//a = a + b;
(6)逗号运算(重点)
是按序列点进行的运算,如果表达式不带括号,将最左侧运算结果赋值;如果带括号,将表达式最右侧结果赋值;
表达式中所有部分均进行运算*
逗号运算不能在定义变量的同时进行运算。
例:int a = 5,b = 8,c = 10,d = 0;
d = a > b,c++,a + b;// d = 0,保存a > b的运算结果
d = (a > b,c++,a + b);//d= 13,保存a + b的运算结果
其中c++均进行运算
(7)三目运算
格式:表达式1?表达式2:表达式3;
(8)sizeof运算
sizeof是一种运算符,也是关键字,计算对象在内存上所占空间大小,单位字节
格式:sizeof(被计算对象);
注:①可以用来计算变量、常量、数据类型、指针、数组、结构体、字符串等
②计算字符串时,包括’\0’
③不论计算对象是否有值,只计算分配的空间大小