#10987. 2023年信息素养大赛初赛-客观题(初中组)

0

2023年信息素养大赛初赛-客观题(初中组)

2023年C++全国信息素养大赛初中组初赛

一、单项选择题

第1题

以下程序的输出结果是()

#include <iostream>
using namespace std;
int main() {
    int arr[] = {0, 2, 0, 4, 0, 6};
    int sum = 0;
    for (int i = 1; i <= 5; i += 2) {
        sum += arr[i];
    }
    cout << sum << endl;
    return 0;
}

{{ select(1) }}

  • 12
  • 18
  • 20
  • 21

第2题

在 C++ 中,用于声明值不能被修改的变量的关键字是() {{ select(2) }}

  • unsigned
  • const
  • static
  • mutable

第3题

数学表达式 (8+6)×a-10+c÷2 在 C++ 中应表示为() {{ select(3) }}

  • (8+6)×a-10+c÷2
  • (8+6)*a-10+c÷2
  • (8+6)*a-10+c/2
  • (8+6)×a-10+c/2

第4题

C++ 中,11%3 的运算结果是() {{ select(4) }}

  • 3
  • -1
  • 1
  • 2

第5题

下列关于算法的叙述不正确的是() {{ select(5) }}

  • 算法的每一步必须没有歧义
  • 算法必须有输入
  • 同一问题可能存在多种不同的算法
  • 同一算法可以用多种不同的形式来描述

第6题

执行以下代码后,a、b、c 的值分别为()

int a,b,c;
a=b=c=5;
b+=++a&&++c>b;

{{ select(6) }}

  • 6,7,6
  • 6,6,6
  • 6,6,5
  • 6,1,6

第7题

有四个人从 A 点坐船到 B 点,船一次最多坐 2 人,单人过河时间为 1、2、4、8,两人过河时间取较大值。最短全部过河时间为() {{ select(7) }}

  • 14
  • 15
  • 16
  • 17

第8题

下列代码执行后输出结果是()

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a = 0, b = 1235;
    while (b > 0) {
        a += 1;
        b /= 10;
    }
    cout << a;
    return 0;
}

{{ select(8) }}

  • 4
  • 5
  • 6
  • 7

第9题

关于 C++ 函数,以下说法正确的是() {{ select(9) }}

  • 函数不可以没有返回值
  • 函数不可以没有参数
  • 调用函数时的参数名必须与声明时一致
  • 调用时参数个数可少于声明个数

第10题

以下排序算法中,不稳定的是() {{ select(10) }}

  • 快速排序
  • 归并排序
  • 冒泡排序
  • 基数排序

第11题

运行以下程序,输出结果为()

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a;
    a = 45.8 - 30;
    a *= 2;
    cout << a << endl;
    return 0;
}

{{ select(11) }}

  • 10.0
  • 18
  • 30
  • 30.0

第12题

1000 个升序整数用二分查找,最多需要比较次数为() {{ select(12) }}

  • 10 次
  • 11 次
  • 12 次
  • 13 次

第13题

下列代码执行后输出结果是()

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a = 10, b = 0;
    for (; a = 0; a--) b += a * (a + 1);
    cout << b << endl;
    return 0;
}

{{ select(13) }}

  • 38
  • 40
  • 0
  • 程序错误

第14题

在下列代码横线处填写(),可将大写字母转为小写。

#include <bits/stdc++.h>
using namespace std;
int main() {
    char word[100];
    int l = strlen(word);
    for (int i = 0; i < l; i++) {
        if (word[i] >= 'A' && word[i] <= 'Z') {
            __________;
        }
    }
    return 0;
}

{{ select(14) }}

  • word[i] - 'a' + 'A'
  • word[i] -= 'A' + 'a'
  • word[i] += 'A' - 'a'
  • word[i] += 'a' - 'A'

二、判断题

第15题

表达式 (3 && 0) || (0 && -1) 的结果为假。() {{ select(15) }}

  • 正确
  • 错误

第16题

字符'0'的 ASCII 码为 48,则字符'5'的 ASCII 码为 39。() {{ select(16) }}

  • 正确
  • 错误

第17题

只要 while 循环条件一直成立,循环就一定会永远执行下去。() {{ select(17) }}

  • 正确
  • 错误

第18题

条件 a+b>c && b+c>a && c+a>b 可以判断三条边能构成三角形。() {{ select(18) }}

  • 正确
  • 错误

第19题

表达式 ('1'+'1''2'? flag=1:flag=2) 的结果值与 (flag2) 相同。() {{ select(19) }}

  • 正确
  • 错误