已知小写字母 b 的 ASCII 码为 $98$,下列 C++ 代码的输出结果是( )。
#include <iostream>
using namespace std;
int main() {
char a = 'b';
a++;
cout << a;
return 0;
}模拟程序执行过程,逐行跟踪变量变化,特别关注循环边界和递归终止条件。
模拟执行时注意:① 循环变量的起始和终止值;② 递归的边界条件;③ 数据类型转换和精度问题。
【考点】ASCII码转换|字符自增|输出流
考纲定位 GESP七级C++模块"字符与整数转换"核心考点。命题人专卡"字符增量后输出"场景——六级考ASCII数值计算,七级升维到字符本身变化。
解题思维 看到char a = 'b'先定位ASCII 98,a++是字符自增非数值运算,ASCII表里'b'后一位是'c',cout << a输出字符而非整数。
陷阱拆解 A是思维惯性陷阱——考生默认"输出字符就是原字符";C是偷换概念——把字符输出当成数值输出;D是边界测试陷阱——若a++变成int输出会得99,但char类型输出永远显示对应字符。最阴险处是题干只给初始值,不提醒ASCII表顺序,考的是你是否真懂字符本质。
反命题思维 若改条件为cout << (int)a;答案变D,若改a += 2答案变'e'。刷到此类题先问自己:题目要我输出字符还是数字?