GESP C++ 真题 · 逐题精解
首页C++二级真题 › 2026年6月 › 第5题

GESP 2026年6月 C++二级 判断题 第5题

C++二级判断题2026年6月第5题

所属知识点:综合应用(跨题型) 难度要求:掌握 考频:—

执行如下 C++ 代码,将从小到大依次输出 abs(N) 个整数,并在最后输出 1 。
int N;
cin >> N;
int start_num = 1, end_num = N + 1, i;

if (N < 0)
    start_num = N, end_num = 0;

for (i = start_num; i < end_num; i++)
    cout << i << " ";

cout << endl << ((i - 1) == abs(N)) << endl;

正确答案:错误(×)

题目解析
当 N>0 时确实输出 N 个数、末行判断 (i-1)==N 为真输出 1;但当 N<0 时,循环结束 i=0,(i-1)=-1,而 abs(N) 为正,二者不等,末行输出 0 而非 1。所以「最后输出 1」并不总成立,说法错误,选 ×。💡 注意负数分支会让结尾判断失败。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习