继续记录零碎知识点 action!!!
这篇论述运算符与表达式
小知识:
问:int main(int argc, char** argv),char** argv的意思?
答:这是标准的int main()主函数形式
argc是传入main的参数个数,argv是传入main的函数列表,char**二级指针去指向它。
3.1
赋值运算符简介:
赋值运算符 | 说明 | 示例 |
---|---|---|
= | 普通赋值运算符 | val = 2 |
+= | 加并赋值操作 | val += 2 等价于 val = val + 2 |
-= | 减并赋值操作 | val -= 2 等价于 val = val - 2 |
*= | 乘并赋值操作 | val *= 2 等价于 val = val * 2 |
/= | 除并赋值操作 | val /= 2 等价于 val = val / 2 |
%= | 取余并赋值操作 | val %= 2 等价于 val = val % 2 |
<<= | 左移并赋值操作 | val <<= 1 等价于 val = val << 1 |
>>= | 右移并赋值操作 | val >>= 1 等价于 val = val >> 1 |
&= | 按位与并赋值操作 | val &= 1 等价于 val = val & 1 |
^= | 按位异或并赋值操作 | val ^= 1 等价于 val = val ^ 1 |
|= | 按位或并赋值操作 | val |= 1 等价于 val = val | 1 |
运算符的介绍如图已经十分详细,接下来是下一节。
3.2
算术运算符简介:
假设两个整型数为 operand1 = 11, operand2 = 2
算术运算符 | 说明 | 示例 |
---|---|---|
+ | 两个操作数相加 | operand1 + operand2 的值为 13 |
- | 第1个操作数减去第2个操作数 | operand1 - operand2 的值为 9 |
* | 两个操作数相乘 | operand1 * operand2 的值为 22 |
/ | 第1个操作数除以第2个操作数 | operand1 / operand2 的值为 5 |
% | 取模运算符,整除后的余数 | operand1 % operand2 的值为 1 |
++ | 自增运算符,整型值自增1 | ++operand1 或 operand1++ 的值为 12 |
-- | 自减运算符,整型值自减1 | --operand1 或 operand1-- 的值为 10 |
【1】 温馨提示:假设i为定义为0的变量,那么i++在循环结构中会不断+1,且顺序为先赋值再+1;
若为++i,则i++在循坏结构中同样+1,但顺序为先+1后赋值
同理 --i 类型也是。
【2】 下面以打印被100以内整除的正数,运用到相关知识
(1)中的循环结构为
while (num > 0)
{
num /= 10;
++count;
}
3.3关系运算符简介:
关系运算符 | 说明 | 示例 |
---|---|---|
== | 判断两个操作数是否相等,若相等则值为1,反之值为0 | operand1 == operand2 的值为 0 |
!= | 判断两个操作数是否不相等,若不相等则值为1,反之值为0 | operand1 != operand2 的值为 1 |
> | 判断第1个操作数是否大于第2个操作数,若大于则值为1,反之值为0 | operand1 > operand2 的值为 1 |
< | 判断第1个操作数是否小于第2个操作数,若小于则值为1,反之值为0 | operand1 < operand2 的值为 0 |
>= | 判断第1个操作数是否大于或等于第2个操作数,若大于或等于则值为1,反之值为0 | operand1 >= operand2 的值为 1 |
<= | 判断第1个操作数是否小于或等于第2个操作数,若小于或等于则值为1,反之值为0 | operand1 <= operand2 的值为 0 |
【例题】判断区间是否重合
【例题】
选项如下:
A end_1 > start_2 || start_1 < end_2
B MIN(end_1, end_2) < MAX(start_1, start_2)
C MAX(start_1, start_2) > MIN(end_1, end_2)
D end_1 < start_2 || start_1 > end_2
显然 A选项错误,我们用一幅图来解释四个选项
3.4
逻辑表达式简介:
假设两个整型数为 operand1 = 1, operand2 = 0
逻辑运算符 | 说明 | 示例 |
---|---|---|
&& | 如果两个操作数均为非0,则表达式的值为1,反之为0 | operand1 && operand2 的值为 0 |
|| | 如果两个操作数至少有一个为非0,则表达式的值为1,反之为0 | operand1 || operand2 的值为 1 |
! | 如果操作数的值为非0,则表达式的值为0,反之亦反 | !operand1 的值为 0 |
今天先记录至此,后续内容通过网课继续学习记录