选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共5道

11 12 13 14 15

731 2025年信息素养大赛C++_初中组_初赛_真题2-练习
选择题 共15道
01 以下关于变量定义的C++语句中存在编译错误的是哪项? 5分
登录后查看选项
02

执行下列代码,输入"hello world"(不带引号),输出结果为?


string s;
cin >> s;
cout << s;

5分
登录后查看选项
03 C++程序流程控制的基本结构不包括以下哪项? 5分
登录后查看选项
04 找出以下代码中哪一行是C++中合法的注释? 5分
登录后查看选项
05 在C++中,以下哪条语句可以正确输出"Hello,World!"? 5分
登录后查看选项
06

执行下列C++代码后,计算s[0].d+s[1].i,结果是多少?

	struct S { double d; int i; };
	S s[2]={{1.5,1}, {2.5,2}};
	
5分
登录后查看选项
07

补全以下代码,将数组a按升序排列。下列选项中哪一项正确?

	int a[7]= {7, 1, 4, 2, 2, 3, 6};
	int N =7;
	for (int i=0; i<N-1; i++) {
		for (int j=0; j<_①_; j++) {
			if (a[j] > a[j+1]) swap(a[j], a[j+1]);
		}
	}

5分
登录后查看选项
08 以下说法正确的? 5分
登录后查看选项
09 下列C++代码中哪个语句运行结果是7? 5分
登录后查看选项
10

输入一个DNA序列:由字符A、C、G和T组成的字符串。补充下列代码找到最长的连续相同字符子串。下列选项中哪一项正确?


string s;
cin>> s;
int len=_①_, ans = l;
for(int i=_②_; i<s.size(); i++) {
	if(s[i]=s[_③_]) len++;
	else len = 1;
	if(_④_) ans=len;
}
cout<< ans;
5分
登录后查看选项
11

想要打印等腰三角形,输入n=4时,输出如下:


*
**
* *
*  *
* *
**
*

代码空白处应该填入( )。


int n;
cin >> n;
for (int i= 1; i <= n; i++) {
	if(i == 1) cout << "*" << endl;
	else {
		cout << "*";
		for (int j= 1; j<=i-2; j++) cout << " ";
		cout << "*" << endl;
	}
}
for (int i=_①_; i>= 1; i--) {
	if(i== _②_) cout << "*" <<endl;
	else {
		cout << "*";
		for (int j=1; j<=i-2; j++) cout << " ";
		cout << "*" << endl;
	}
}

5分
登录后查看选项
12

从一个2x2网格的左上角出发,若只允许向右或向下移动,恰好有如下6条路径可以到达右下角:

补全以下代码,计算对于9x9的网格,有多少条路径可以到达右下角?


int g[10][10]= {};
_①_;
for (int i=0; i<10; i++) {
	for (int j=0; j<10; j++) {
		if(i-1>=0) g[i][j] += g[i-1][j]);
		_②_ g[i][j] += g[i][j-1];
	}
}
cout << g[9][9];

5分
登录后查看选项
13

有n个人,第i个人的当前头发长度为Li(1≤i≤N)。

每个人的头发每天增长1。请计算并输出从第一天开始,第一次出现头发长度至少为t的人数>=p是第几天?


int n,t,p,L[100],cnt;
cin >> n >> t>> p;
for (int i=0; i<n; i++) cin>>L[i];
for (int i=1; i<t; i++) {
	cnt=0;
	for (int j=0; j<n; j++) {
		if(_①_)cnt++;
	}
	if(_ ②_ ) {
		cout << i<< endl;
		break;
	}
}

5分
登录后查看选项
14

执行下列程序,输出结果为?


#include <iostream>
using namespace std;
int main() {
	int i=1, j=1;
	int x=i++, y=++j;
	cout<<i<<" "<<j<<" "<<x<<" "<<y;
	return 0;
}

5分
登录后查看选项
15

补全下列代码,计算n(1≤n≤1x109)的阶乘中后缀0的个数。下列选项中哪一项正确?

例如5!=1*2*3*4*5=120,它有1个后缀0

20!=2432902008176640000,它有4个后缀0。

提示:

n!中每个后缀0都是由一个因子2和一个因子5相乘得到的,而在阶乘中因子2的个数远多于因子5的个数,因此只需统计因子5的个数。

一个5的倍数可以提供至少1个因子5;

一个 25 的倍数可以提供至少2个因子5;

一个125 的倍数可以提供至少3个因子5;

以此类推。


int n,i= _①_,ans =0;
cin >> n;
while (_②_ ) {
	i*=5;
	ans+= _③_;
}
cout << ans;

5分
登录后查看选项
判断题 共5道
11 C++中,逻辑与&&的优先级高于逻辑或||,因此true||false&&true等价于true||(false&&true)。 5分
登录后查看选项
12 ASCII码表中,所有数字字符('0'到'9')是连续的。 5分
登录后查看选项
13 max(1,max(2,3))是合法的表达式,返回值为3。 5分
登录后查看选项
14 选择排序的时间复杂度在最好的情况下是0(n)。 5分
登录后查看选项
15 二维数组int a[2][3],则数组a一共有6个元素。 5分
登录后查看选项