GESP 四级 · GESP 202406 C++ 四级 第 3 题

选择题 · 答案 B

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

题目

下面程序输出的是( )

#include<iostream>
using namespace std;
int func();
int main()
{
    int i=2;
    cout<<i<<endl;
    for(int x=0;x<1;x++)
    {
        int i=10;
        cout<<i<<endl;
    }
    i=i+1;
    cout<<i<<endl;
    {
        i=i*i;
        cout<<i<<endl;
    }
}
答案:B

解题思维

答案B。指针和数组的代码追踪:画出变量和指针的内存示意图,追踪每次赋值后值的变化。

常见错误

指针和数组追踪时画内存布局图可以大大简化理解。

详细解析(节选)

【考点】变量作用域|循环体内局部变量定义|变量遮蔽

1. 🎯 考纲定位

本题考查 GESP 四级 C++ 大纲「变量与表达式」模块中作用域与变量遮蔽的核心概念。命题人把这道题放在这里,就是要卡住那些"看到 i 就以为是同一个变量"的考生——他们往往忽略局部变量声明会创建新作用域,误以为循环内赋值的 i 会影响循环外。

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