#XSY20260504. 信息素养初赛模拟三

信息素养初赛模拟三

一.单选题(每题 5 分,共 75 分)

  1. 下列关于C++变量的叙述,正确的是( )
A. 变量可以没有定义就直接使用
B. 对未定义的变量赋值相当于定义了新变量
C. 执行赋值语句后,变量的类型不会改变
D. 变量名可以完全是数字

{{ select(1) }}

  • 变量可以没有定义就直接使用
  • 对未定义的变量赋值相当于定义了新变量
  • 执行赋值语句后,变量的类型不会改变
  • 变量名可以完全是数字

  1. 红军记录行军温度(可能为 -15.5℃),应使用哪种变量类型?( ) {{ select(2) }}
  • int
  • double
  • char
  • bool

  1. 关于 endl,以下说法正确的是( )
A. endl 只能用在 cin 后面
B. endl 的作用是换行
C. endl 和 "\n" 完全一样
D. 一个 cout 语句只能用一次 endl

{{ select(3) }}

  • endl 只能用在 cin 后面
  • endl 的作用是换行
  • endl 和 "\n" 完全一样
  • 一个 cout 语句只能用一次 endl

  1. 红军仓库有子弹200发,分给7个战斗小组,以下哪个表达式可以算出剩余子弹数?( ) {{ select(4) }}
  • 200 / 7
  • 200 % 7
  • 200 - 7
  • 200 * 7

  1. 红军修建营地,需要计算面积。pow(3, 4) 的结果是( ) {{ select(5) }}
  • 7
  • 12
  • 81
  • 64

  1. 关于 if-else if-else 结构,以下说法正确的是( )
A. 所有条件分支都会依次执行
B. 一旦某个条件满足,执行对应语句后跳出整个结构
C. else if 可以单独使用
D. else 分支必须存在

{{ select(6) }}

  • 所有条件分支都会依次执行
  • 一旦某个条件满足,执行对应语句后跳出整个结构
  • else if 可以单独使用
  • else 分支必须存在

  1. C++表达式 2 - 1 && 2 % 10 的值是( ) {{ select(7) }}
  • 0
  • 1
  • 2
  • 3

  1. 红军长征途中经过若干桥梁,观察以下代码:
for (int i = 1; i <= 4; i *= 2) {
    cout << i << " ";
}

输出结果是( ) {{ select(8) }}

  • 1 2 3 4
  • 1 2 4
  • 1 2 4 8
  • 1 2

  1. 观察以下代码:
int i = 1, sum = 0;
while (i <= 4) {
    sum += i;
    i++;
}
cout << sum << endl;

输出结果是( ) {{ select(9) }}

  • 4
  • 6
  • 10
  • 无限循环

  1. 以下哪个是C++中合法的 do-while 循环?( )
A. do { cout << 1; } while (true);
B. do cout << 1; while (true)
C. do (cout << 1) while (true);
D. while do { cout << 1; };

{{ select(10) }}

  • do { cout << 1; } while (true);
  • do cout << 1; while (true)
  • do (cout << 1) while (true);
  • while do { cout << 1; };

  1. 观察以下代码:
char c = char(65);
cout << c << endl;

输出结果是( ) {{ select(11) }}

  • 65
  • A
  • a
  • 编译错误

  1. 红军根据作战阶段制定不同计划,观察以下代码:
int phase = 1;  // 1=侦察 2=突击 3=撤退
if (phase == 1) {
    cout << "侦察敌情";
} else if (phase == 2) {
    cout << "发起突击";
} else {
    cout << "安全撤退";
}

输出结果是( ) {{ select(12) }}

  • 侦察敌情
  • 发起突击
  • 安全撤退
  • 侦察敌情发起突击

  1. 红军根据信号等级选择通讯方式,观察以下代码:
int signal = 3;
switch (signal) {
    case 1: cout << "烽火"; break;
    case 2: cout << "骑马"; break;
    case 3: cout << "电报"; break;
    default: cout << "其他"; break;
}

输出结果是( ) {{ select(13) }}

  • 烽火
  • 骑马
  • 电报
  • 其他

  1. 关于C++一维数组,以下说法正确的是( )
A. 数组下标从 1 开始
B. int arr[5] 的有效下标范围是 0~4
C. 数组大小可以在运行时随意改变
D. arr[5] 是合法的数组访问

{{ select(14) }}

  • 数组下标从 1 开始
  • int arr[5] 的有效下标范围是 0~4
  • 数组大小可以在运行时随意改变
  • arr[5] 是合法的数组访问

  1. 以下哪个是正确定义和调用函数的写法?( )
A. int add(int a, b) { return a + b; }
B. int add(int a, int b) { return a + b; }
C. int add(a, b) { return a + b; }
D. add(int a, int b) { return a + b; }

{{ select(15) }}

  • int add(int a, b) { return a + b; }
  • int add(int a, int b) { return a + b; }
  • int add(a, b) { return a + b; }
  • add(int a, int b) { return a + b; }

二.判断题(每题 5 分,共 25 分)

  1. 在C++中,程序按照代码书写顺序从上到下依次执行,这是顺序结构的特征。( ) {{ select(16) }}
  • 正确
  • 错误
  1. 循环嵌套中,外层循环每执行一次,内层循环完整执行一遍。( ) {{ select(17) }}
  • 正确
  • 错误
  1. 模拟法就是按照题目描述的过程,一步步用代码"模仿"出来。( ) {{ select(18) }}
  • 正确
  • 错误
  1. 表达式 6 & 3 的值是2。( ) {{ select(19) }}
  • 正确
  • 错误
  1. 选择排序每一轮从未排序部分选出最小的元素,放到已排序部分的末尾。( ) {{ select(20) }}
  • 正确
  • 错误