有关下列 C++ 代码的说法,错误的是( )。
printf("我爱码代码!");答案C。结合相关知识点判断该说法的正误。
注意题目中的否定词("不正确""不属于")和绝对化表述("一定""必须")。
【考点】C++ 字符串字面量|字符字面量|语法规范
考纲定位:GESP 一级 C++ 考察基础语法,此题卡住"字符串与字符字面量"概念混淆的绝大多数考生。命题人放这道题就是为了筛掉只背结论、不懂底层语法的考生。
解题思维:看到双引号,第一反应是"这是字符串字面量"。替换双引号时,A 改为 Hello 仍是字符串,B 改为 Hello 代码!仍是字符串,都能执行;C 改成单引号,单引号只能包裹单个字符,字符串会被拆成字符列表,语法错误;D 改成三个双引号,C++ 没有三引号语法,编译直接报错。所以 C 是错误说法。
陷阱拆解:C 选项利用"双引号改单引号"的偷换概念,命题人故意把字符串和字符字面量混在一起,让你以为"引号配对"就能通用;D 选项用"三个双引号"这种绝对化表述,C++ 根本没有这玩意儿,但很多考生会下意识觉得"多一个引号也没事"。如果你只背"双引号表示字符串"的结论,就会掉进 C 的陷阱;D 则是纯粹的知识盲区。
反命题思维:把双引号里的内容改成格式占位符(printf 的%占位符),或改成空字符串"",代码仍能执行;把单引号改成双引号,字符串能正常输出。刷到类似题时,先问自己"命题人想考我什么"——这里考的是"字符串字面量与字符字面量的本质区别"。