#806. 2024年全国青少年信息素养大赛初赛

2024年全国青少年信息素养大赛初赛

选择题15题,判断题5题,每题5分,共100分

1、运行下列程序段,输出的结果是( )

int n=572765;
cout <<n/10%10;

{{ select(1) }}

  • 5
  • 6
  • 4
  • 1

2、假设有两个城市:城市A和城市8,每个城市的温度都在-50到50摄氏度之间。当且仅当只有一个城市的温度低于0时,输出1,也就是说,如果城市A的温度低于0而城市B大于等于0;或者如果城市A的温度大于等于0而B小于0,则输出1,否则输出0。补全①和②处的代码

#include<iostream>  
using namespace std; 
int main() 
{ 
    int a,b; 
    cin>>a>>b; 
    if(___1__) 
    { 
        if(___2___) 
        { 
            cout<<1; 
            return 0; 
        } 
    } 
    if(a>=0) 
    { 
        if(b<0) 
        { 
            cout<<1; 
            return 0; 
        } 
    } 
    cout<<0; 
    return 0; 
} 

{{ select(2) }}

  • a<0 b>=0
  • a>0 b<=0
  • a>=0 b>=0
  • a<0 b<0

3、执行以下代码段,变量x和y的值分别是

int x=7;
int y=x/2*3;

{{ select(3) }}

  • x=7, y=10.5
  • x=7,y=10
  • x=7,y=12
  • x=7, y=9

4、在C++中,输出指令是

{{ select(4) }}

  • cin
  • cout
  • clog
  • int

5、小A有一个神奇口袋,里面可以装各个平方数,口袋的负载量就是口袋里所有数字之和。当负载量超过L的时候不能再装平方数,现在给定n个数,从左往右筛选其中的平方数,并依次将平方数放入口袋,编成程序,输出口袋里能装下几个平方数。平方数就是一个愁数乘以自己的结果(例如:1、4、9、16、…)。补全①、②和③处的代码。 例如: 输入L为100,n为5,接下来的5个数分别是49、19、36、25、73,则口袋里只装了49和36两个平方数,所以输出2。

#include<iostream>
using namespace std; 
int main()
{
	int L,n,cnt = 0,sum = 0;
	cin >> L >> n;
	for(int i=1;i<=n;i++)
	{
		int x;
		bool flag = false;
		cin >> x;
		for(int j=1;j<x;j++)
		{
			if(__①__)
			{
				flag = true;
				break;
			}
		}
		if(flag == true)
		{
			if(__②__)
			{
				sum += x;
				cnt++;
			}
			else
			{
				__③__
			}
		}
	}
	cout << cnt;
	return 0; 
} 

{{ select(5) }}

  • j*j==x sum +x<=L continue;
  • j*j==x sum +x<=L break;
  • x/j==i sum <=L continue;
  • x/j==i sum <= L break;

6、在C++中,表示布尔数据类型的关键字是()

{{ select(6) }}

  • int
  • bool
  • double
  • string

7、下列关于C++语言中变量的叙述,不正确的是()

{{ select(7) }}

  • 变量定义时可以不初始化
  • 变量被赋值之后的类型不变
  • 变量没有定义也能够使用
  • 变量名必须是合法的标识符

8、在C++中,以下正确的变量命名是()

{{ select(8) }}

  • 2things
  • _myVariable
  • my-variable
  • None of the above

9、执行以下程序段,输出的结果是

for(int j=1;j<=6;j++)
{
	if(j%3 == 0)
	{
		break;
	}
	cout << j << ' ';
}

{{ select(9) }}

  • 1 2
  • 1 2 3
  • 1 2 3 4 5 6
  • 1 2 4 5

10、如果我们想在终端输出变量x的值,正确的代码是()

{{ select(10) }}

  • cin >> x
  • cout << x
  • cout >> x
  • cin << x

11、运行以下程序,输出的结果是()

#include<iostream>
using namespace std; 
int main()
{
	cout << "Hello" << " ";
	cout << "World";
	return 0;
} 

{{ select(11) }}

  • Hello,World!
  • Hello World
  • 语法错误
  • 无任何输出

12、输出1到10之间的所有偶数,请补全以下代码

#include<iostream>
using namespace std; 
int man()
{
	for(int i=1;i<=10;i++)
	{
		if(__①__)
		{
			cout<<i<<endl;
		}
	}
	return 0;
} 

{{ select(12) }}

  • i%2==0
  • i%2!=0
  • i%2=1
  • i%2

13、以下可以作为变量名的是

{{ select(13) }}

  • cnt_1
  • 1_cnt
  • cnt1_#
  • @cnt

14、运行以下程序,输出的结果是()

#include<iostream>
using namespace std; 
int man()
{
	int a = 5;
	int b = a + 3;
	int c = b - 2;
	cout << c;
	return 0;
} 

{{ select(14) }}

  • 6
  • 8
  • 5
  • 10

15、下面代码实现的是判断n是否是质数的功能,补全①和②处的代码

#include<iostream>
using namespace std; 
int man()
{
	int n;
	cin >> n;
	_①_
	for(int i=2;i<n;i++)
	{
		if(_②_)
		{
			isprime = false;
			break;
		}
	}
	cout << isprime << endl;
	return 0;
}

{{ select(15) }}

  • bool ispime = true; n%i == 0
  • bool ispime = false; n%i != 0
  • bool ispime = true; n%i != 0
  • bool ispime = false; n%i == 0

二、判断题(共5题,每题5分,共25分)

16、在C++中,&&和||分别代表逻辑与和逻辑或运算

{{ select(16) }}

  • 正确
  • 错误

17、在C++中,for 循环至少执行一次

{{ select(17) }}

  • 正确
  • 错误

18、在C++中,cout 用于输入,而 cin 用于输出

{{ select(18) }}

  • 正确
  • 错误

19、在C++中,变是声明后,如果不初始化,其值是确定的

{{ select(19) }}

  • 正确
  • 错误

20、在C++中,所有变是都必须在使用前声明其数据类型

{{ select(20) }}

  • 正确
  • 错误