A. 2024年信息素养大赛(8)

    客观题

2024年信息素养大赛(8)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

一. 单项选择题(共 15 题,每题 5 分,共计 75 分)

1.C++表达式 3 - 3 * 3 / 5 的值是( )。 {{ select(1) }}

  • -1.2
  • 1
  • 0
  • 2

2.在C++中,假设N为正整数,则表达式 cout << (N % 3 + N % 7) 可能输出的最大值是( )。 {{ select(2) }}

  • 6
  • 8
  • 9
  • 10

3.下面C++代码执行时输入10后,正确的输出是( )。

int N;
cout<< ”请输入正整数:";
cin >> N;
if(N % 3)
	printf(”第5行代码%2d“, N % 3);
else
	printf(”第6行代码%2d“, N % 3);

{{ select(3) }}

  • 第5行代码1
  • 第6行代码1
  • 第5行代码 1
  • 第6行代码 1

4.执行下面C++代码后输出的cnt的值是( )。

int cnt=0;
for(int i = 0; i*i < 64; i+=2)
	cnt++;
cout<<cnt;

{{ select(4) }}

  • 8
  • 7
  • 4
  • 1

5.下面C++代码执行后的输出是( )。

int loopCount = 0;
for(int i=0; i < 10; i++)
for(int j=1; j < i; j++)
loopCount += 1;
cout << loopCount;

{{ select(5) }}

  • 55
  • 45
  • 36
  • 28

6.在C++中,下列不可做变量的是( )。 {{ select(6) }}

  • five-Star
  • five_star
  • fiveStar
  • _fiveStar

7.在C++中,与 for(int i=0; i<10; i++) 效果相同的是( )。 {{ select(7) }}

  • for(int i=0; i<10; i+=1)
  • for(int i=1; i<=10; i++)
  • for(int i=10; i>0; i--)
  • for(int i=10; i<1; i++)

8.假设下面C++代码执行过程中仅输入正负整数或0,有关说法错误的是( )。

int N,sum = 0;
cin >> N;
while(N){
	sum += N;
	cin >> N;
}
cout << sum;

{{ select(8) }}

  • 执行上面代码如果输入0,将终止循环
  • 执行上面代码能实现所有非0整数的求和
  • 执行上面代码第一次输入0,最后将输出0
  • 执行上面代码将陷入死循环,可将 while(N) 改为而(N==0)

9.执行下面的C++代码,有关说法正确的是( )【质数是指仅能被1和它本身整除的正整数】。

int N;
cin >> N;
bool flag = true;
for(int i = 2; i < N; i++){
	if(i * i > N)
		break;
	if(N % i == 0){
		flag = false;
		break;
	}
}
if(flag)
cout << N << “是质数” << endl;
else
	cout << N <<“不是质数” << endl;

{{ select(9) }}

  • 如果输入正整数,上面代码能正确判断N是否为质数
  • 如果输入整数,上面代码能正确判断N是否为质数
  • 如果输入大于等于0的整数,上面代码能正确判断N是否质数
  • 如将 flag = true 修改为 flag = N>=2?true:flase 则能判断所有整数包括负整数、0、正整数是否为质数

10.有以下函数,当调用语句为 longlong p=fun(3,3)p = fun ( 3 , 3 ) ;时,返回的 pp 值是? ( )

long fun (int x, int y) {
  int i;
  long p= 1;
  for (i = 0; i < y; i ++)
    p *= x;
  return p;
}

{{ select(10) }}

  • 3
  • 9
  • 27
  • 71

11、下面哪种循环语句在条件判断之前至少会执行一次循环体?( ) {{ select(11) }}

  • for
  • while
  • do-while
  • switch

12、以下程序段运行后,输入: ABCdefABCdef ,输出应为?( )

char ch;
while ((ch = getchar()) != '\n') {
  if (ch >= 'A' && ch <= 'Z'){
    ch = ch + 32;
    cout << ch;
  }
  else if (ch >= 'a' && ch <= 'z'){
    ch = ch - 32;
    cout << ch;
  }
}

{{ select(12) }}

  • ABCdef
  • abcdef
  • ABCDEF
  • abcDEF

13、斐波那契数列的第 1 和第 2 个数分别为 0 和 1 ,从第三个数开始,每个数等于其前两个数之和,即 F(0)=0F(0) = 0F(1)=1F(N)=F(N1)+F(N2)F(1) = 1,F(N) = F(N - 1) + F(N - 2),其中 N>1N > 1 。 为求斐波那契数列中的前 20 个数,要求每行输出 5 个数编写了以下程序,在 3 个空格处应填写哪些内容?( )

#include<iostream>
using namespace std;
int main() {
  int n = 20; //需要计算的项数
  int f1 = 0, f2 = 1; // 前两项
  int fn; // 第n项
  cout <<"斐波那契数列前"<<n << "个数为:" << endl;
  // 计算斐波那契数列前n项并输出
  for (int i = 1; i <= n; i++){
    // 计算第i项
    if (i == 1){
      fn = f1;
    }
    else if (i == 2) {
      fn = f2;
    }
    else {
      fn = __(1)__;
      f1 = f2;
      f2=__(2)__;
    }
  }
  //输出第i项
  cout << fn << "\t";
  // 每行输出5个数
  if (__(3)__){
    cout << endl;
  }
  return 0;
}

{{ select(13) }}

  • f1,fn, i==5
  • fn, f1 + fn, i / 5 == 0
  • f1 + f2, fn, i % 5 == 0
  • f1 + f2, f1, i % 5 == 0

14.数字直角三角形:给出n,输出一个直角边长为 n 的数字直角三角形。所有数字都是 2 位组成的,如果没有 2 位则加上前导 0 。补全(1)和(2)处的代码?( ) 例如: n 为 5 时,数字直角三角形为:

01
0203
040506
07080910
1112131415
#include <iostream>
using namespace std;
int main() {
  int n;
  cin >> n;
  int cnt = 0;
  for(int i=1; i<=n; i++) {
    for(int j=1;___(1)___;j++){
      cnt ++;
      if(___(2)___){
        cout << 0;
      }
      cout << cnt;
    }
    cout << endl;
  }
  return 0;
}

{{ select(14) }}

  • j <= n cnt < 10
  • j <= n cnt > 10
  • j <=i cnt < 10
  • j <=i cnt > 10

15、要在 C++ 中打印 "Hello,World!" ,以下语句正确的是( ) {{ select(15) }}

  • cout << "Hello, World!";
  • cout "Hello,World!";
  • cout << Hello, World!;
  • cout >> "Hello, World!";

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

16.执行C++代码 cout << '9'+'1'; 的输出为10。( ) {{ select(16) }}

  • ×

17.C++表达式 -12 % 10 的值为2。( ) {{ select(17) }}

  • ×

18.C++表达式 整数(12.56) 的值为13。( ) {{ select(18) }}

  • ×

19.C++的整型变量N被赋值为10,则语句 cout << N / 3 << “-” << N % 3 执行后输出是3-1。 ( ) {{ select(19) }}

  • ×

20.在C++代码中,不可以将变量命名为scanf,因为scanf是C++语言的关键字。( ) {{ select(20) }}

  • ×

2025年信息素养大赛(8)

未参加
状态
已结束
规则
IOI(严格)
题目
1
开始于
2025-5-5 16:15
结束于
2025-5-5 16:27
持续时间
0.2 小时
主持人
参赛人数
10