2025信息素养大赛|算法创意实践挑战赛(小学组·华南初赛)试题+答案
试卷说明
适用:小学组|算法创意实践挑战赛版本:2025初赛(华南)内容:试题+答案+详细解析用途:备考刷题、复习巩固、赛前训练
一、单选题(每题5分)
第1题
执行以下程序段,输入30 50,输出的结果为?
int a,b;cin >>a>>b;if(a>b){cout<< a;}else{cout<<b;}A. 30 B. 50 C. 30 50 D. 无输出✅ 正确答案:B解析: 比较30和50,30不大于50,执行else分支输出b的值50。
第2题
执行以下程序,输入56 25,输出的结果是?
int a,b;cin >>a>>b;cout << max(a,b);A. 56 B. 25 C. 1000 D. 无输出✅ 正确答案:A解析: 使用max函数取较大值,56大于25,输出56(假设已包含正确头文件)。
第3题
下列关系运算符,可以用来判断两数相等的是? A. == B. > C. <= D. <✅ 正确答案:A解析: C++中判断相等的关系运算符是==。
第4题
在C++中,表示逻辑运算符“或”的是? A. || B. & C. == D. @✅ 正确答案:A
第5题
下列选项中,输出结果为0的是? A. cout << "5 - 5";B. cout << 5 - 5;C. cout << 2 * 3;D. cout << 7 / 2;✅ 正确答案:B解析: 5-5的计算结果为0,直接输出数值0。
第6题
现有数组定义为int num[4] = {6};,则数组num中的元素分别是? A. 6 6 6 6 B. 0 0 0 0 C. 6 0 0 0 D. 0 0 0 6✅ 正确答案:C解析: 数组初始化时只指定第一个元素,其余元素默认初始化为0。
第7题
执行下面程序段,输入:5 1 2 9 8 7,输出结果为?
int n,maxx =0;cin>>n;for(int i=1;i<=n;i++) {int num;cin>>num;maxx = max(maxx,num);}cout<< maxx;A. 1 B. 9 C. 8 D. 7✅ 正确答案:B解析: 遍历输入的5个数,最大值为9。
第8题
执行下列代码,输出结果为?
for (int i=1;i<=5;i++) {if(i%2==0) {continue;}cout <<i<<" ";}A. 1 B. 2 4 C. 1 3 5 D. 1 2 3 4✅ 正确答案:C
第9题
在C++程序中,可以得到一个四位整数的十位上的数字的表达式是? A. number / 1000B. number / 100 % 10C. number / 10 % 10D. number % 10✅ 正确答案:C解析: 通过整除和取余运算得到十位数字:number / 10 % 10。
第10题
执行以下程序,输出的结果是?
intarray[3]={4,5,6};array[0] = array[0] - 3;cout << array[0] <<" "<<array[1]<<" "<<array[2];A. 4 5 6 B. 1 5 6 C. 4 2 6 D. 4 5 3✅ 正确答案:B解析: 修改数组第一个元素为4-3=1,输出1 5 6。
第11题
使用双重for循环求1!+2!+…+n!,①处应补充的代码是?
int sum=0;for (int i=1;i<=n;i++){int mul=1;for (int j=1;j<=i;j++){_1_}sum += mul;}cout << sum <<endl;A. mul += j; B. mul *= j; C. mul *= i; D. mul += i;✅ 正确答案:B解析: 内层循环计算阶乘,mul *= j。
第12题
阅读程序,输入7,输出结果为?
#include<iostream>usingnamespacestd;intmain(){int n;int a[51]={};cin >>n;a[1]=1;for(int i=2;i<=n;i++) {a[i]=a[i-1]*2+1;}cout <<a[n];return0;}A. 63 B. 97 C. 115 D. 127✅ 正确答案:D解析: 递推计算得a[7]=127。
第13题
军训转身问题,补全代码(输出面向教官的编号),正确选项是?
#include<iostream>usingnamespacestd;int a[1001];intmain(){int n;cin >>n;for(int i=1;i<=n;i++) a[i]=0;for (int i=1;i<=n;i++){if(i%3==0) a[i]=1;if(i%5==0) a[i]=1;}for (int i=1;i<=n; i++) {if(_1_) { ② }}return0;}A. a[i]==0 输出a[i]B. a[i]==0 输出iC. a[i]==1 输出a[i]D. a[i]==1 输出i✅ 正确答案:B解析: 面向教官为0,输出编号i。
第14题
以下程序段输出结果为?
int cnt=0;for (int i=0;i<5;i++)for (int j=0;j<4;j++)for (int k=0; k<2;k++) cnt++;cout << cnt <<endl;A. 40 B. 60 C. 90 D. 120✅ 正确答案:A解析: 三层循环次数:5×4×2=40。
第15题
执行程序,输入5,输出结果为?
#include<iostream>usingnamespacestd;intmain(){int n; cin>>n;int ans=0;for (int i=1;i<=n;i++) ans=ans+i*i;cout << ans;return0;}A. 5 B. 30 C. 55 D. 85✅ 正确答案:C解析: 1²+2²+3²+4²+5²=55。
二、判断题(每题5分)
第1题
执行代码cout << "8 - 2";,双引号内内容原样输出,结果为8 - 2。() A. 正确 B. 错误✅ 正确答案:A
第2题
在C++语言中,一维数组的下标是从0开始。() A. 正确 B. 错误✅ 正确答案:A
第3题
定义char s[100];,最多能存储10000个字符。() A. 正确 B. 错误✅ 正确答案:B解析: 最多存100个字符。
第4题
定义int arr[10];后,执行arr[10] = 5;不会数组越界。() A. 正确 B. 错误✅ 正确答案:B解析: 下标范围0~9,arr[10]越界。
第5题
在C++循环中,可以用continue结束循环。() A. 正确 B. 错误✅ 正确答案:B解析: continue跳过本次循环,break结束循环。
💡 备战信息素养大赛,这份真题请收好!
持续更新:历届真题|模拟试卷|知识点讲解|编程技巧

关注信奥营,孩子赛考不迷路!