当前位置: 首页 > news >正文

第16届蓝桥杯C++中高级选拔赛(STEMA)2024年12月22日真题

 ========================================================================

答案和更多内容请查看网站:【试卷中心 -----> 蓝桥杯 ---->  C++ ----> 选拔赛】

网站链接 

青少年软件编程历年真题模拟题实时更新

=======================================================================

第16届蓝桥杯C++中高级选拔赛(STEMA)2024年12月22日真题
一、单选题
第 1 题    单选题
运行以下程序,输出的结果是()。

cout<<5 * 2+1;

A.15

B.10

C.11

D.5 * 2+1


答案 C
解析
cout << 5 * 2+1; 先计算表达式 5 * 2=10,再加上 1 得到 11,输出结果为 11。

第 2 题    单选题
下列选项中,添加iostream头文件正确的写法是()。

A.#include<iostream>

B.include<iostream>

C.include"iostream"

D.#include"iostream"


答案 A
解析
在C++中,包含标准库头文件应使用尖括号,即#include <iostream>。但题目中选项A没有空格,实际上在C++中,#include<iostream>也是正确的(编译器通常允许没有空格)。而选项D用双引号虽然可能可以,但标准做法是使用尖括号。根据C++标准,标准库头文件应使用尖括号,因此A正确。

第 3 题    单选题
下列关于C++语言描述不正确的是()。

A.变量必须先定义后使用

B.if语句不能单独存在,必须有匹配的else语句

C.do...while至少会执行一次循环语句

D.数组的大小可以在声明时不指定,而在初始化时由编译器推断


答案 B
解析
在C++中,if语句可以单独使用,不需要else语句。其他选项:A正确,变量必须先定义后使用;C正确,do...while循环至少执行一次;D正确,数组在初始化时可以省略大小,由编译器推断(例如:int arr[] = {1,2,3};)。

第 4 题    单选题
下列选项中,循环执行次数与其他选项不同的是()。

A.for(int i=0; i<10; i++)

B.for(int i=1; i<=10; i++)

C.for(int i=2; i<12; i++)

D.for(int i=3; i<=13; i++)


答案 D
解析
计算每个循环的执行次数:

A:i从0到9,共10次。

B:i从1到10,共10次。

C:i从2到11,共10次。

D:i从3到13,共11次(3,4,...,13)。

所以D选项执行11次,其他都是10次。

第 5 题    单选题
运行以下程序,输出的结果是( )。

int x(int arr[], int n)
{int ans = 0;for (int i = 0; i < n - 1; i++){int m = i;for (int j = i + 1; j < n; j++){if (arr[j] < arr[m])m = j;}if (m != i){int temp = arr[i];arr[i] = arr[m];arr[m] = temp;ans++;}}return ans;
}
int main()
{int arr[] = {64, 25, 12, 22, 11, 90, 34};cout << x(arr, 7) << endl;for(int i = 0; i < 7; i++)cout << arr[i] << " ";return 0;
}

A.

4

90 64 34 25 22 12 11

B.
5

11 12 22 25 34 64 90

C.
6

90 64 34 25 22 12 11

D.
6

11 12 22 25 34 64 90


答案 B
解析
选择排序的原理是每次从未排序部分选择最小(或最大)元素放到已排序部分的末尾。函数x中的ans记录的是交换次数。对于数组{64,25,12,22,11,90,34},选择排序的交换过程如下:

最小元素11,与64交换:{11,25,12,22,64,90,34} -> 交换1次

在剩余部分{25,12,22,64,90,34}中,最小元素12,与25交换:{11,12,25,22,64,90,34} -> 交换2次

在剩余部分{25,22,64,90,34}中,最小元素22,与25交换:{11,12,22,25,64,90,34} -> 交换3次

25已经是剩余部分最小,不交换(当前数组:{11,12,22,25,64,90,34})

在剩余部分{64,90,34}中,最小元素34,与64交换:{11,12,22,25,34,90,64} -> 交换4次

在剩余部分{90,64}中,最小元素64,与90交换:{11,12,22,25,34,64,90} -> 交换5次

因此,交换次数为5次。排序后数组为{11,12,22,25,34,64,90}。所以输出5,然后输出排序后的数组:11 12 22 25 34 64 90。所以答案是B。

二、编程题
第 6 题  摆钟

题目描述:

有一座摆钟,它的摆锤每摆动一次用时 2 秒。摆锤摆动 n 次,用时多少秒?

输入描述:

输入一个整数 n(1≤n≤500),表示摆锤的摆动次数。

输出描述:

输出一个整数,表示摆锤摆动 n 次用时多少秒。

样例输入:

3

样例输出:

6

查看答案
 

#include <iostream>
using namespace std;int main() {int n;cin >> n;cout << n * 2 << endl;return 0;
}

解析
直接计算n次摆动需要的时间:2*n秒。

 ========================================================================

答案和更多内容请查看网站:【试卷中心 -----> 蓝桥杯 ---->  C++ ----> 选拔赛】

网站链接 

青少年软件编程历年真题模拟题实时更新

=======================================================================

http://www.dtcms.com/a/348121.html

相关文章:

  • elasticsearch 7.x elasticsearch 使用scroll滚动查询中超时问题案例
  • 【C#】构造函数实用场景总结
  • PostgreSQL interval 转换为 int4 (整数)
  • Flink SQL执行SQL错误排查
  • 结构化智能编程:用树形向量存储重构AI代码理解范式
  • RAGFlow (二)小试牛刀:登陆页重构
  • 《链路状态路由协议OSPF》
  • 前端工程师面试题-vue
  • 记一次生产环境Hbase填坑之路、Hbase客户端登陆、kerberos认证、端口列表、Pod上手撕代码【Hbase最佳实践】
  • 【CV】OpenCV①——OpenCV常用模块
  • 使用 Fargate 在 AWS ECS 上运行 Spring Boot 应用程序
  • 【C#】【WinForm】ListView_列表视图控件
  • [每周一更]-(第157期):深入理解Go语言的垃圾回收机制:调优与监控
  • BERT(Bidirectional Encoder Representations from Transformers)模型详解
  • 2.7 提示词调优编码实战(二)
  • 2025年8月第3周AI资讯
  • 将C++资源管理测试框架整合到GitLab CI/CD的完整实践指南
  • Ansible自动化配置
  • 手写MyBatis第31弹-用工厂模式重构MyBatis的SqlSession创建过程
  • 小迪安全v2023学习笔记(七十一讲)—— Python安全反序列化反编译格式化字符串安全
  • 深入解析MyBatis中#{}和${}的区别与应用场景
  • Implementing Redis in C++ : E(AVL树详解)
  • spring源码之事务篇(事务管理器整个流程)
  • 笔记 | Anaconda卸载重装
  • Hyperledger Fabric官方中文教程-改进笔记(十五)-从通道中删除组织
  • 【机器学习】3 Generative models for discrete data
  • HTML网页游戏五子棋
  • 电路学习(四)二极管
  • Spring框架相关面试题
  • 【机器学习】4 Gaussian models