•【1】算数运算:加、减、乘、除、整除、求余
•【1】关系运算:大于,大于等于,小于,小于等于,等于,不等于
•【1】逻辑运算:与(&&)、或(||)、非(!)
•【1】变量自增与自减运算
•【1】三目运算
例子:判断两个数字和是否越界
整数之间运算,至少转成 int 类型
整数和浮点数做运算转成浮点数
有符号数和无符号数进行运算转无符号
! (a && b)
等价于 !a || !b
! (a || b)
等价于 !a && !b
i < a.size() && a[i] == 0
如果 && 的第一个条件不成立,就不会计算第二个条件
如果 || 的第一个条件成立,就不会计算第二个条件
// 这个写法在C和C++中都可以编译通过 int F(int x) { return f[x] != x ? f[x] = F(f[x]) :x; } // 这个写法只能在C++中编译通过 // 这种写法在 C语言中 编译错误 int F(int x) { return f[x] == x ? x : f[x] = F(f[x]); return (f[x] == x ? x : f[x]) = F(f[x]); }
++i + ++i + ++i
(a + b) % p = (a % p + b % p) % p
(a - b) % p = (a % p - b % p) % p
(a * b) % p = (a % p * b % p) % p
数学上认为无意义
编程中认为是1