#GESP2506L1K. GESP一级客观题

GESP一级客观题

一、选择题

1、2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。

{{ select(1) }}

  • 处理器
  • 存储器
  • 输入设备
  • 输出设备

2、在某集成开发环境中调试下列代码段时尝试设置断点和检查局部变量,下面哪个说法是错误的?

int i,N = 0; // L1
cin >> N; // L2
for (i = 1; i < 9; i++)
    if (N % i == 0) break;  // L3
if (i < 9)
    printf("N不能大于9\n"); // L4

{{ select(2) }}

  • 断点不可以设置在L1标记的代码行
  • 执行暂停在L2标记的代码行时,可以检测i的值
  • 执行暂停在L3标记的代码行时,可以修改i的值
  • 执行有可能暂停在L4标记的代码行

3、对下列C++代码,描述准确的是?

int first = 10;
printf("{%d}\n", First);

{{ select(3) }}

  • 执行后输出 10
  • 执行后输出 {First}
  • 执行后输出 "{First}"
  • 编译报错,因为 First 应该是 first

4、C++中,下列可以做变量名的是?

{{ select(4) }}

  • X.cpp
  • X-cpp
  • X#cpp
  • X_cpp

5、C++表达式 14-3*3%2 的值是?

{{ select(5) }}

  • 0
  • 11
  • 13
  • -67

6、下面的C++代码执行后,输出结果是?

int x = 10, y = 20;
x = x + y;
y = x - y;
x = x - y;
cout << x << ' ' << y;

{{ select(6) }}

  • 10 20
  • 20 10
  • 10 10
  • 20 20

7、定义整型变量 int a=16;,则执行 ++a += 3; 之后,变量a的值是?

{{ select(7) }}

  • 3
  • 17
  • 19
  • 20

8、C++的int类型变量 X 的值为 88,如果执行 cout << (++X)++;,则输出和执行后 X 的值分别是?

{{ select(8) }}

  • 8 9
  • 9 9
  • 9 10
  • 编译错误,无法执行

9、以下C++代码执行后的输出是?

int a,b;
a = 3;
b = 4;
printf("a+b=%02d#a+b={a+b}", a+b, a+b);

{{ select(9) }}

  • a+b=07#a+b={a+b}
  • a+b= 7#a+b=7
  • a+b=7#a+b={a+b}
  • a+b=7#a+b=7

10、下面的C++代码用于求M天后是星期几,两处横线处分别应该填写什么代码?

int N, M, D;
cout << "当前星期几? "; // 星期日是0
cin >> N;
cout << "求多少天后? "; // 输入正整数
cin >> M;
D = ____________;
if (____________)
    printf("%d天后是星期日", M);
else
    printf("%d天后是星期%d", M, D);

{{ select(10) }}

  • (N+M)/7D==0
  • (N+M)%7D==0
  • (N+M)/7D<=0
  • (N+M)%7D=0

11、下面的C++代码执行后输出是?

int i;
for (i = 1; i < 11; i += 3){
    continue;
    if (i % 2 == 0)
        break;
    printf("%d#", i);
}
if (i >= 11)
    printf("END");

{{ select(11) }}

  • END
  • 1#
  • 1#4#END
  • 1#4#7#10#END

12、下面的C++代码用于求N的所有因数(即能将N整除的数),如输入 12 则将输出 12,6,4,3,2,1。那横线处应该填写什么?

int i, N;
cin >> N;
i = N;
while (_______){
    if (N % i == 0)
        printf("%d,", i);
    i -= 1;
}
printf("1");

{{ select(12) }}

  • i-=1
  • i==1
  • i>1
  • i>=1

13、下面C++代码执行后输出的是?

int Sum = 0;
for (int i = 0; i < 10; i++){
    if (i % 2 == 0)
        continue;
    if (i % 5 == 0)
        break;
    Sum += i;
}
cout << Sum;

{{ select(13) }}

  • 55
  • 15
  • 9
  • 4

14、尝试编译并执行以下C++代码,描述正确的是?

float x;
x = 101;
x++;
cout << ++x;

{{ select(14) }}

  • 输出 101
  • 输出 102
  • 输出 103
  • 编译报错,无法运行

15、以下代码可以找出百位十位个位满足特定条件的三位数,则横线处应填?

int count = 0;
for (int i = 100; i <= 999; i++) {
    int a = i / 100;
    _________________________
    int c = i % 10;
    if (a * a + b * b == c * c) {
        count++;
    }
}

{{ select(15) }}

  • int b = (i / 10) / 10;
  • int b = (i / 10) % 10;
  • int b = (i % 10) / 10;
  • int b = (i % 10) % 10;

二、判断题

16、人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。

{{ select(16) }}

  • 正确
  • 错误

17、如果N是C++的整型变量,值为5,则表达式 (N+!N) 的值为 4。

{{ select(17) }}

  • 正确
  • 错误

18、以下代码,删除 break 语句对程序执行结果没有影响。

int i;
for (i = 0; i < 10; i++){
    continue;
    cout << i << "#";
    break;
}
if (i >= 10)
    cout << "END";

{{ select(18) }}

  • 正确
  • 错误

19、删除下面C++代码中的continue后其输出是0#2#4#6#8#。

int i;
for (i = 0; i < 10; i++){
    if (i % 2 == 0){
        cout << i << "#";
        continue;
    }
}
if (i >= 10)
    cout << "END";

{{ select(19) }}

  • 正确
  • 错误

20、将下面代码中的 i<100; i=i+1 修改为 i<200; i+=i+1,其输出结果与修改前的输出相同。

int cnt = 0;
for (int i = 0; i < 100; i = i + 1)
    cnt += 1;
cout << cnt;

{{ select(20) }}

  • 正确
  • 错误

21、交换下面C++代码中的 i+=2cnt+=1 ,交换前后分别运行的两次输出相同。

int i, cnt = 0;
cnt = 0;
while (i < 10){
    i += 2;
    cnt += 1;
}
cout << cnt;

{{ select(21) }}

  • 正确
  • 错误

22、执行下面代码会输出 45。

int cnt;
for (int i = 0; i < 10; i++)
    cnt += 1;
cout << cnt;

{{ select(22) }}

  • 正确
  • 错误

23、执行代码 cout << (12+12.12); 会报错,因为 12 是 int 类型,而 12.12 是 float 类型,不同类型不能直接运算。

{{ select(23) }}

  • 正确
  • 错误

24、在C++代码中,不可以将变量命名为false,因为false是C++语言的关键字。

{{ select(24) }}

  • 正确
  • 错误

25、已知X是C++的整型变量,则表达式 3<X<5 的求值结果是 4。

{{ select(25) }}

  • 正确
  • 错误