2025年 全国青少年信息素养大赛 算法创意挑战赛C++ 小学组 初赛真题
需要免费获取 参考答案 和 详细解析 的同学,可前往 ET答题 (etdati.cn)免费阅览。
ET答题 是专注青少年编程教育的在线平台,其中主要以C++编程为主(可在线提交编程题代码验证答案 OJ系统),图形化、Python为辅,收录有近几年各大青少年编程竞赛的真题,并且每道题都配有详细解析。
素养大赛的题目每个考生略有不同,我都整理在ET答题网站上面了,下面是其中一套真题试卷。
单选题(15题,共75分)
第1题
执行以下程序,输入56 25,输出的结果是?
int a, b;
cin >> a >> b;
cout<<max(a,b);
A.56
B.25
C.1000
D.无输出
第2题
在C++中,a=a-b可以简写为a--b。执行下列代码,输出结果为?
int a=10;
a-=9;
cout<<a;
A.2
B.-6
C.9
D.1
第3题
下列不属于C++基本程序框架的是?
A.头文件
B.命名空间
C.主函数
D.程序开发时间:2025-03-23
第4题
已知正方形边长为a,下列选项中,可以计算正方形周长的是?
A.cout<<a;
B.cout<< 2*a;
C.cout<< 4*a;
D.cout<< 10*a;
第5题
下列关系运算符,可以用来判断两数相等的是?
A.==
B.>
C.<=
D.<
第6题
下面程序段输出的结果是?
char upper='A';
char lower = upper + 32 ;
cout << lower;
A.A
B.a
C.65
D.97
第7题
执行下列代码,输出结果为?
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
第8题
执行以下程序,输出的结果是?
int array[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
第9题
现有数组定义为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
第10题
小明同学想判断输入的年份x是否是闰年,是则输出Yes,否则输出No。那么下面程序段中①处应该填写( )。一个年份如果能被400整除或者能被4整除但不能被100整除,那么这个年份就是闰年。例如:2000、2020是闰年。
int x;
cin >> x;
if(_①_) {cout << "Yes";
} else {cout << "No";
}
A.x%400==0 && x%4==0 && x%100!=0
B.%400==0 && x%4==0 || x%100!=0
C.x%400==0 || x%4==0 || x%100!=0
D.(x%400==0) || (x%4==0 && x%100!=0)
第11题
运行以下程序,输入6,输出的结果是?
#include <iostream>
using namespace std;
int main() {int n;cin >> n;if (n % 2 == 0) {cout << "QWER";} else if (n % 3 == 0) {cout << "WERQ";} else if (n % 5 == 0) {cout << "ERQW";} else {cout << "RQWE";}return 0;
}
A.QWER
B.WERQ
C.ERQW
D.RQWE
第12题
下图为n=5时输出的图案,输入一个正整数n,输出一个n+1行特殊的直角三角形,则①处应补充的代码为?
*
**
****
******
********
**********int n;
cin >> n;
cout << "*"<< endl;
for (int i=1; i<=n; i++) {for (int j=1; _①_; j++) {cout << "*";}cout << endl;
}
A.j<=2*i
B.j<=i
C. j<=2*i-1
D.j<=2*i+1
第13题
阅读以下代码,输出的内容是?
#include <iostream>
using namespace std;
int main() {for(int i=1; i<=4; i++) {for(int j=5; j>=1; j--) {cout<<j<<" ";}cout << endl;}return 0;
}
A.
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
B.
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
C.
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
D.
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
第14题
阅读程序,当输入7,程序输出的结果为?
#include<iostream>
using namespace std;
int main() {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];return 0;
}
A.63
B.97
C.115
D.127
第15题
运行以下程序,输出的结果是?
int a[6]= {1, 2, 3, 4, 5, 6};
for (int i=0; i<=5; i++) {cout << a[i] << "+";
}
A.1 2 3 4 5 6
B.1+2+3+4+5+6+
C.1+2+3+4+5+6
D.1,2,3,4,5,6,
判断题(5题,共25分)
第1题
在C++中,&&表示逻辑运异符"或"。
第2题
在C++中,可以通过这种方式定义数组并初始化:int c[3]={1,2,3,4,5}。
第3题
在C++语言中,一维数组的下标是从0开始。
第4题
定义int arr[10];后,执行arr[10]=5;不会导致数组越界。
第5题
下面代码段最终的值是-1。
int i=5;
while(i>0){i-=2;
}
参考答案 和 详细解析可前往 ET答题 平台免费阅览