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答题 平台免费阅览

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值