25 条题解
-
0
- 以下哪个不是 C++语言中的运算符? ( ) ○ A. & ○ B. && ○ C. * ○ D. **
答案是 D。
来,作为教练,我带你一个个“查户口”,看看这四位谁是混进 C++ 家族的冒牌货。
1. 选手 A:
&- 身份:按位与(Bitwise AND)或者 取地址(Address-of)。
- 场景:
- 算二进制:
3 & 5(按位运算,合法)。 - 找地址:
int *p = &a;(取出变量a的地址,合法)。
- 算二进制:
- 结论:是正规军。
2. 选手 B:
&&- 身份:逻辑与(Logical AND)。
- 场景:
- 写
if语句时最常用:if (x > 0 && y > 0)(如果 x 大于 0 并且 y 大于 0)。
- 写
- 结论:是正规军。
3. 选手 C:
*- 身份:乘法(Multiplication)或者 解引用(Dereference)。
- 场景:
- 做数学题:
3 * 5(等于 15,合法)。 - 玩指针:
*p = 10;(访问指针指向的内存,合法)。
- 做数学题:
- 结论:是正规军。
4. 选手 D:
**(警报响了!)- 陷阱:很多学过 Python 或者 Fortran 的同学会眼熟它,在那边它是**“幂运算”**(比如
2 ** 3表示 2 的 3 次方)。 - C++ 的真相:
- 在 C++ 里,从来没有定义过
**这个单独的运算符! - 如果你想算幂,必须老老实实调用数学库函数:
pow(2, 3)。 - 疑惑点:有人会问“我看过
int **p这种写法啊?” —— 请注意,那其实是两个*连在一起写,代表“指针的指针”,而不是一个叫**的独立运算符。
- 在 C++ 里,从来没有定义过
最终结论
D.
**不是 C++ 的运算符,它是隔壁 Python 家跑错片场的。
信息
- ID
- 4769
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者