2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟题5:文末附答案)

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟题5:文末附答案)

一、单选题
  1. 在C++中,下列哪个头文件是使用coutcin所必需的?

    A. <stdio.h>

    B. <iostream>

    C. <cmath>

    D. <cstring>

  2. 一只骆驼载重200千克,需要运输总重量为850千克的货物,至少需要多少只骆驼?以下代码能正确计算并输出结果的是( )。

    A. int need = 850 / 200; cout << need;

    B. int need = 850 % 200; cout << need;

    C. int need = (850 + 200 - 1) / 200; cout << need;

    D. double need = 850 / 200; cout << need;

  3. 商队从长安出发,第一天行进40公里,之后每一天比前一天多走5公里,共走了7天。要计算总路程,下列循环结构正确的是( )。

    A. int s=0, d=40; for(int i=1;i<=7;i++){ s+=d; d+=5; }

    B. int s=0; for(int i=1;i<=7;i++) s+=40+(i-1)*5;

    C. int s=0, d=40; for(int i=0;i<7;i++){ s+=d; d+=5; }

    D. 以上都是

  4. 丝绸服饰图案中,一个基本花纹的宽度为8个像素,需要判断像素位置x(从0开始)是否处于每个花纹的第5个像素(相对位置索引为4)。正确的表达式是( )。

    A. x % 8 == 5

    B. x % 8 == 4

    C. x / 8 == 4

    D. x % 4 == 8

  5. 执行以下代码,输出结果是什么?

    cpp 复制代码
    int a = 7, b = 3;
    cout << (a / b) << "," << (a % b);

    A. 2,1

    B. 2,2

    C. 2.333,1

    D. 2,3

  6. 敦煌壁画有mn列像素(m、n为变量),需要创建一个二维数组存储灰度值,正确的定义语句是( )。

    A. int mural[m][n];

    B. int mural[ ][ ] = new int[m][n];

    C. int mural[m][n] = {0};

    D. 在标准C++中,若m、n不是常量,不能这样定义,应使用动态分配或vector

  7. 下列哪个循环语句会无限执行?

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

    B. int i=0; while(i<10) i++;

    C. int i=0; do{ i++; }while(i<10);

    D. for(int i=0;i>=0;i++);

  8. 驼队计划从敦煌到吐鲁番,路线分为三段,需要输入每段的天数,输出总天数。以下代码段正确的是( )。

    A. int d1,d2,d3; cin>>d1>>d2>>d3; int sum = d1+d2+d3; cout<<sum;

    B. int d1,d2,d3; cin >> d1 >> d2 >> d3; int sum; d1+d2+d3 = sum; cout<<sum;

    C. int d1,d2,d3; cin << d1 << d2 << d3; int sum = d1+d2+d3; cout>>sum;

    D. int d1,d2,d3; cout>>d1>>d2>>d3; int sum = d1+d2+d3; cin<<sum;

  9. 阅读以下代码:

    cpp 复制代码
    int x = 4;
    int y = ++x * 3;
    cout << x << "," << y;

    输出结果是( )。

    A. 4,12

    B. 5,12

    C. 5,15

    D. 4,15

  10. 假设有数组int loads[] = {180, 220, 195, 210};,要求找出最大载重量,以下代码正确的是( )。

    A. int max = loads[0]; for(int i=1;i<4;i++) if(loads[i]>max) max=loads[i];

    B. int max = 0; for(int i=0;i<4;i++) if(loads[i]>max) max=loads[i];

    C. int max = loads[0]; for(int i=0;i<4;i++) if(loads[i]>max) max=loads[i];

    D. 以上都对

  11. 定义函数计算长方体的体积,用于估算货物仓储空间,函数原型正确的是( )。

    A. int volume(int a, int b, int c){ return a*b*c; }

    B. void volume(int a, int b, int c){ return a*b*c; }

    C. double volume(int a, b, c){ return a*b*c; }

    D. int volume(a,b,c){ return a*b*c; }

  12. 根据绿洲编号分配补给:编号1~3对应增加水量分别为30,50,20,编号4增加10,其它编号不增加。使用if-else if结构,正确的代码是( )。

    A. if(num==1) water+=30; else if(num==2) water+=50; else if(num==3) water+=20; else water+=10;

    B. if(num=1) water+=30; else if(num=2) water+=50; else if(num=3) water+=20; else if(num=4) water+=10;

    C. if(num==1) water=30; if(num==2) water=50; if(num==3) water=20; if(num==4) water=10;

    D. if(num==1) water+=30; else if(num==2) water+=50; else if(num==3) water+=20; else if(num==4) water+=10;

  13. 模拟丝绸之路商队旗帜,输出一个直角三角形图案,高度为5行,第一行1个星号,第二行2个星号,依次递增,每行星号之间无空格。正确的代码是( )。

    A. for(int i=1;i<=5;i++){ for(int j=1;j<=i;j++) cout<<"*"; cout<<endl; }

    B. for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++) cout<<"*"; cout<<endl; }

    C. for(int i=5;i>=1;i--){ for(int j=1;j<=i;j++) cout<<"*"; cout<<endl; }

    D. for(int i=1;i<=5;i++){ for(int j=1;j<=5-i;j++) cout<<"*"; cout<<endl; }

  14. 字符串变量city1 = "喀什"city2 = "龟兹",要比较两个字符串的大小(按字典序),使用C++ string类型,正确的表达式是( )。

    A. city1 > city2

    B. strcmp(city1, city2) > 0

    C. city1.compare(city2) > 0

    D. A和C都可以

  15. 骆驼运输条件:年龄≥5岁,或者负重能力≥180千克且健康值为true。设变量ageloadhealthy(bool类型),正确表达式是( )。

    A. age>=5 || load>=180 && healthy

    B. (age>=5 || load>=180) && healthy

    C. age>=5 && load>=180 || healthy

    D. (age>=5) && (load>=180 || healthy)

二、判断题
  1. C++中,int a[10]; 定义了一个包含10个整型元素的数组,合法的下标范围是0到9。( )
  2. 在if语句中,条件表达式必须使用圆括号括起来。( )
  3. 使用break语句可以提前终止本次循环的剩余语句并开始下一次迭代。( )
  4. 全局变量在程序的任何地方都可以访问,但局部变量只能在其所在函数内访问。( )
  5. 整数除法5/2的结果是2.5。( )

参考答案与解析
单选题解析
  1. B
    coutcin是iostream库中的对象,需要包含<iostream>

  2. C

    向上取整公式(总重 + 单驼载重 - 1) / 单驼载重可确保余数时多一只骆驼。A结果为4,实际需要5只;B是余数;D得到浮点数4.25但输出可能不整。

  3. D

    A和C通过循环累加并增加步长;B直接使用等差数列公式。三种均正确。

  4. B

    取模运算得到单元内偏移,第5个像素索引为4,故x % 8 == 4

  5. A

    整数除法7/3得2,取余7%3得1,输出2,1

  6. D

    标准C++中,数组维度必须是编译时常量。变量m、n不是常量,不能直接定义静态数组。应使用动态内存或vector。

  7. D
    i>=0始终为真(i不断增大),循环无限执行。A、B、C均会正常结束。

  8. A

    正确使用cin >>输入,+求和,cout <<输出。B赋值方向错误;C输入输出方向反了;D完全反了。

  9. C
    ++x先自增为5,再乘以3得15,输出5,15

  10. D

    A从第二个元素开始比较,正确;B设max=0,因所有负载>0也可行;C从第一个开始且循环包含第一个,也正确。三个都能找出最大值。

  11. A

    A返回整型体积,参数类型正确。B的void类型不能返回int;C参数未写类型;D参数无类型。

  12. D

    A最后的else错误;B中num=1是赋值而非比较;C使用多个独立if,但water不是+=;D正确。

  13. A

    A外循环控制行数,内循环控制当前行星号数(递增),输出直角三角形。B输出5×5方形;C输出倒直角三角形;D输出每行星号递减。

  14. D

    string类支持>等关系运算符直接比较字典序,也支持compare()成员函数。B适用于C风格字符串,不能直接用于string对象。

  15. A

    逻辑或||优先级低于&&

  16. A

    A外循环控制行数,内循环控制当前行星号数(递增),输出直角三角形。B输出5×5方形;C输出倒直角三角形;D输出每行星号递减。

  17. D

    string类支持>等关系运算符直接比较字典序,也支持compare()成员函数。B适用于C风格字符串,不能直接用于string对象。

  18. B

    逻辑或||优先级低于&&,但为清晰最好加括号。条件为:年龄≥5 (负重≥180且健康)。B正确。A缺少括号,但&&优先级高于||,实际等价于age>=5 || (load>=180 && healthy),也是对的。但考虑到可读性和避免混淆,通常建议加括号。不过A也正确。因为题目要求"正确表达式",A和B逻辑等价。单选题中若同时出现,选最标准写法B。C逻辑不同;D是年龄≥5且(负重≥180或健康),错误。

判断题解析
  1. 数组下标从0开始,长度10的元素下标0~9。

  2. 条件表达式必须用圆括号括起来,如if(x>0)

  3. ×
    break终止整个循环(跳出循环),continue才跳过本次迭代剩余语句。

  4. 全局变量作用域为整个程序(多个文件需extern),局部变量只在其定义所在的函数内有效。

  5. ×

    整数除法5/2结果为2(截断小数部分)。

关注老师的专栏,查看完整版全国青少年信息素养大赛C++备赛资料(初赛+复赛):

https://blog.csdn.net/weixin_66461496/category_12969975.html

各种学习资料,助力大家一站式学习和提升!!!

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	cout<<"##########  一站式掌握信奥赛知识!  ##########";
	cout<<"#############  冲刺信奥赛拿奖!  #############";
	cout<<"######  课程购买后永久学习,不受限制!   ######";
	return 0;
}

【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新): https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转

GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	cout<<"跟着王老师一起学习信奥赛C++";
	cout<<"    成就更好的自己!       ";
	cout<<"  csp信奥赛一等奖属于你!   ";
	return 0;
}
相关推荐
王老师青少年编程8 小时前
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟题4:文末附答案)
答案·初赛·模拟卷·2026年·青少年信息素养大赛·算法应用主题赛·c++赛项
王老师青少年编程7 天前
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项模拟训练1:文末付答案)
答案·试卷·2026年·青少年信息素养大赛·算法应用主题赛·c++赛项·模拟训练
王老师青少年编程7 天前
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项模拟训练2:文末付答案)
答案·试卷·2026年·青少年信息素养大赛·算法应用主题赛·c++赛项·模拟训练
逸尘谈PM18 天前
智能体框架对比:OpenClaw、LangChain、AutoGPT、CrewAI 深度对比
人工智能·ai·langchain·职场·2026年
王老师青少年编程1 个月前
2025年3月GESP真题及题解(C++七级): 选择题和判断题(题解)
c++·真题·gesp·答案·csp·信奥赛·七级
Freshman小白3 个月前
《智能制造系统》网课答案
学习·答案·网课答案
Freshman小白3 个月前
《现代电力电子技术及应用》2025网课答案
学习·答案·网课答案
Freshman小白4 个月前
《人工智能与创新》网课答案2025
人工智能·学习·答案·网课答案
噜~噜~噜~4 个月前
雨课堂科技信息检索与论文写作专题讲座期末
期末·答案·雨课堂·科技信息检索与论文写作专题讲座