24 条题解

  • 0
    @ 2025-11-23 21:00:15

    好的,同学!这道题是 C++ 入门的一个“必考点”,也是一个非常容易让人凭直觉犯错的“小陷阱”。我们一起来看看这个小小的单引号到底有什么魔力。


    3. 常量'3'的数据类型是 () 。

    • A. double
    • B. float
    • C. char
    • D. int

    启发式讲解

    在 C++ 这个世界里,编译器(就是那个帮你检查和翻译代码的“语法老师”)看到不同的东西,会给它们贴上不同的“身份标签”(也就是数据类型)。

    我们来看三个长得很像,但身份完全不同的“兄弟”:

    1. 3 (光秃秃的数字)

      • 当你直接写一个数字 3 时,语法老师会认为:“哦,这是一个用来做数学计算的整数。”
      • 所以,3 的身份标签是 int
    2. 3.0 (带小数点的数字)

      • 当你写一个 3.0 时,语法老师会认为:“这是一个可以有小数的浮点数。”
      • 所以,3.0 的身份标签是 double
    3. '3' (被单引号包围的)

      • 教练提醒(敲黑板!): 单引号 '' 在 C++ 里就像一个魔法咒语!它会把它包围起来的东西变成一个字符 (character)
      • 当语法老师看到 '3' 时,他不会认为这是数字三。他会认为:“这是一个符号,一个长得像'3'的图案,就像键盘上的'A'、'b'、'#'一样。”
      • 在 C++ 里,专门用来存放这种单个符号的“小盒子”,就是 char 类型。

    我们来做一个思想实验:

    • 3 + 1 的结果是什么?是 4。这是数学运算
    • '3' + 1 的结果是什么?电脑不认识符号 '3',它只认识数字。所以它会去查 '3' 这个符号的“身份证号”(也就是 ASCII码),发现是 51。然后计算 51 + 1,结果是 52

    看到了吗?3'3' 在电脑眼里,是完完全全不同的两个东西!

    结论

    因为 '3' 被单引号包围,所以它是一个字符常量,它的数据类型是 char

    因此,正确答案是 C. char

    一句话总结:在C++里,单引号 ''char 类型的专属“身份证”,看到它就想到 char

    信息

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