第16届蓝桥杯C++中高级选拔赛(STEMA)2024年10月20日真题
========================================================================
答案和更多内容请查看网站:【试卷中心 -----> 蓝桥杯 ----> C++ ----> 选拔赛】
网站链接
青少年软件编程历年真题模拟题实时更新
=======================================================================
第16届蓝桥杯C++中高级选拔赛(STEMA)2024年10月20日真题
一、单选题
第 1 题
下列选项中,( )是 C++ 的除法运算符。
A.*
B./
C.+
D.-
答案B
解析
C++中的除法运算符是/,如a / b表示a除以b。选项A是乘法运算符,C和D分别是加法和减法运算符。
第 2 题
表达式 1 + 2 * 3 的结果是( )。
A.6
B.7
C.8
D.9
答案B
解析
表达式1 + 2 * 3中,乘法优先级高于加法,先计算2 * 3 = 6,再计算1 + 6 = 7。
第 3 题
定义 int a[5] = {3, 11, 9, 23, 5},请问 a[3] 的值是( )。
A.11
B.9
C.23
D.5
答案C
解析
数组下标从0开始,a[3]是第4个元素。数组{3, 11, 9, 23, 5}中,第4个元素是23。
第 4 题
六进制数 2345 转换为二进制数后,二进制数位上有多少个数字是 1?( )
A.5
B.6
C.7
D.8
答案
A
解析
六进制数2345转换为十进制:
2×6 3+3×62+4×61+5×60=432+108+24+5=569
569的二进制是1000111001,其中1的个数是5。
第 5 题
下面的函数要实现的功能是删除单向链表中所有值为 value 的节点,请问横线处应该填写( )。
struct Node
{int val;Node *nxt;
};
Node* DeleteNode(Node *head, int value)
{Node *cur, node;node.nxt = head;cur = &node;while(cur->nxt != NULL){_____________________elsecur = cur->nxt;}return node.nxt;
}
A.if(cur->val == value) cur->nxt = cur->nxt->nxt;
B.if(cur->val == value) node.nxt = cur->nxt;
C.if(cur->nxt->val == value) node.nxt = cur->nxt;
D.if(cur->nxt->val == value) cur->nxt = cur->nxt->nxt;
答案D
解析
函数需删除链表中值为value的节点。遍历时需检查下一个节点(cur->nxt->val),若匹配则跳过该节点(cur->nxt = cur->nxt->nxt)。选项D正确实现此逻辑。
二、编程题
第 6 题 购买铅笔
题目描述:
某班级里有 n 名同学,每名同学需要 3 支铅笔,请计算 n 名同学共需要多少支铅笔?
输入描述:
输入一个整数 n(1≤n≤100),表示班级里的同学数量。
输出描述:
输出一个整数,表示 n 名同学共需要的铅笔数量。
样例输入:
10
样例输出:30
查看答案
#include <iostream>
using namespace std;int main() {int n;cin >> n;cout << n * 3 << endl;return 0;
}
========================================================================
答案和更多内容请查看网站:【试卷中心 -----> 蓝桥杯 ----> C++ ----> 选拔赛】
网站链接
青少年软件编程历年真题模拟题实时更新
=======================================================================