25 条题解

  • 0
    @ 2025-11-23 20:54:53
    1. 以下哪个不是 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 这种写法啊?” —— 请注意,那其实是两个 * 连在一起写,代表“指针的指针”,而不是一个叫 ** 的独立运算符。

    最终结论

    D. ** 不是 C++ 的运算符,它是隔壁 Python 家跑错片场的。

    信息

    ID
    4769
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者