GESP 三级 · GESP202609 C++ 三级 第 22 题

判断题 · 答案 B · 考点:字符数组与字符串处理

← 整套速查表 GESP 三级 全部真题

题目

判断字符串中字符是否是 '0' 或者 '1' ,可以写条件:if(str[i]==0 || str[i]==1) 。

答案:B

考点

字符数组与字符串处理 讲解 →字符数组与字符串处理 真题汇总 →

解题思维

看到 str[i] 先确认类型是 char,比较对象必须同类型。0 和 1 是整数,'0' 和 '1' 才是字符,正确写法是 if(str[i] == '0' || str[i] == '1')。

常见错误

选项 A 是典型"偷换概念"陷阱。命题人故意把字符常量写成整数,利用考生对 C++ 语法细节的模糊认知。最阴险的是 || 连接两个错误比较,看似逻辑通顺,实则全错。

详细解析(节选)

1. 考纲定位

本题考查《GESP 三级 C++ 大纲》字符与字符串处理模块。命题人卡住的是"字符常量与整数常量的区别"——很多考生看到 0 和 1 就以为是字符,忽略了 C++ 中字符必须用单引号包裹。

2. 解题思维

看到 str[i] 先想类型是 char,比较对象必须同类型。0 和 1 是整数,'0' 和 '1' 才是字符。正确写法是 if(str[i] == '0' || str[i] == '1')。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断