GESP 一级 · GESP202609 C++ 一级 第 5 题

选择题 · 答案 B · 考点:函数

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

题目

如下 C++ 代码执行后,其输出是(  )。

int a = 3;
int b = 4;
printf("%d#%d\n", a, b);
3
4
答案:B

考点

函数

解题思维

看到 printf 就要想到格式化字符串,每个占位符对应一个参数,非占位符字符原样输出。代入 a=3, b=4,得到"3#4",末尾换行符可能影响显示但选项里没有体现换行。所以输出是 B。

常见错误

A 把 # 当成空格,C 在 # 前后加空格,D 以为需要 return 才输出。这些错误选项利用了学生对格式化输出的常见误区:把非占位符字符误认为分隔符,或者忽略占位符与参数的对应关系。

详细解析(节选)

1. 考纲定位

本题考查《GESP 考试大纲》一级"C++ 语言基础”模块中的函数调用与格式化输出(printf 占位符使用)。命题人卡住的是绝大多数考生对"printf 占位符与参数一一对应、非占位符原样输出”这一基本规则的掌握——很多人看到#号就下意识当成空格或分隔符,而不是把它当作普通字符。

2. 解题思维

看到 printf 先定位格式化字符串:"%d#%d\n"。

把各部分按顺序拼接:3 + # + 4 = "3#4",末尾换行不影响看到的文本内容。因此选 B。

同考点真题

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