2025备考信息素养大赛-c++初赛练习

2024年全国青少年信息素养大赛C++算法创意实践初赛真题

(一)选择题

1、编写程序,计算区间100~n之间的所有整数(100<n<=999),数字x(0<x<9)共出现的次数,补全①、②和③处的代码例如:100到109中,即100、101、102、103、104、105、106、107、108、109中,数字1出现了11次。

#include<iostream>
using namespace std;
int main(){
    int n, x, cnt = 0;
    cin >> n >> x;  
    for(int i = 100; i <= n; i++){   
    ___①___    
    int g,s,b;    
    g=a%10;    
    ___②___    
    ___③___    
    if(g == x){      
    cnt++;     }   
    if(s == x){     
     cnt++;     }    
    if(b == x){      
    cnt++;     } 
  }  
  cout<<cnt<<endl;  
  return 0;
}

①、②和③处的代码为:

A. int a = i; s=a/10%10; b =a/100;
B. int g = i; s=g%10; b=g%100;
C. int cnt = i; s = cnt%10; b = cnt/100;
D. int a = n; s=a/10; b =a%100;

2、完全数是指一个数恰好等于除它本身之外的所有因数之和。例如:6的因数有1、2、3、6,除去6之外的因数之和为1+2+3=6,所以6为完全数。编写程序,按从小到大的顺序寻找1到10000之间的完全数,输出第n个完全数,n的范围0<n<5。

#include<iostream>
using namespace std;
int main(){
  int n,sum = 0, num = 0;
  cin >> n;
  for(int i=1; i<10000;i++){
      int a = i;
      sum = 0;
      for(int j=1; j <a; j++){
        if(a%j == 0){
        _①_
        }
      }
      if(_②_){
        num++;
      }
      if(num == n){
         cout<<a;
         _③_;
      }
   }
  return 0;
}

补全①、②和③处的代码

A. sum +=i;sum == a;  continue;
B. sum+=j;sum == a;   break;
C. sum +=j;sum == a;   continue;
D. sum +=i; sum == a;  break;

3、下面哪个语句运行结果是9?( )

A. cout <<"5+ 4" << endl;
B. cout << 5<<"+"<<4<< endl;
C. cout << 5+4<<endl;
D. cin >> 5+4 > > endl;

4、下面代码实现的是判断n是否是质数的功能。

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

补全①和②处的代码:

A. bool isprime = true; n%i == 0
B. bool isprime = false; n%i!=0
C. bool isprime = true; n%i != 0
D. bool isprime = false; n%i ==0

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

   A. int      B. bool      C. double      D. string

6、声明一个整型变量age的正确方式是( )

   A. int age;      B. float age;      C. string age;      D. char age;

7、假设有两个城市:城市A和城市B。每个城市的温度都在-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(_①_)
  {
    if(_②_){
      cout <<1;
      return 0;
    }
  }
  if(a >= 0){
    if(b < 0){
      cout <<1;
      return 0;
    }
  }
  cout <<0;
  return 0;
}

补全①和②处的代码:

A. a<0   b>=0
B. a>0   b<=0
C. a>=0  b>=0
D. a <0  b<0

8、运行以下程序

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

输出的结果是( )

A.6     B.8      C.5       D.10

9、C++中有很多数据类型,以下可以定义存储浮点型变量的关键字是( )
A. int B. double C. char D. long long
10、执行以下程序段,输入11,则输出的值是( )
int x;
cin >> x;
cout<<x + 2;

A.10    B.11   C.x    D.13

11、在C++中,表示小于或等于的关系运算符是( )

A.<     B. ==     C.<=     D.>

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

A. 2things     B. _myVariable     C. my-variable     D.None of the above

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

A. cout << "Hello, World!";       B. cout "Hello,World!";    
C. cout << Hello, World!;         D. cout >> "Hello, World!";

14、小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;
}

补全①、②和③处的代码.

A.j*j==x sum+x<=L continue;      B.j*j==x sum+x<=L break;
C. x/j==i sum<=L continue;       D. x/j==i sum<=L break;

15、运行以下程序

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

输出的结果是( )

A. Hello,World       B. Hello World       C.语法错误        D.无任何输出

(二)判断题

16、在C++中,整型 int可以用来存储小数。
17、在C++中,&&和Ⅱ分别代表逻辑与和逻辑或运算。
18、在C++中,变量声明后,如果不初始化。其值是确定的。
19、在C++中,cout用于输入,而cin用于输出。
20、在C++中,break语句可以用来立即退出当前的循环。

2023年全国青少年信息素养大赛C++算法创意实践初赛真题

(一)以下程序的输出结果是:( ) [单选题]

1、程序的输出结果是:( )

#include <iostream>
using namespace std;

int main() {
    int arr[] = {0, 2, 0, 4, 0, 6}; 
    int sum = 0;
    
    for (int i = 1; i <= 5; i += 2) {
        sum += arr[i];
    }
    
    cout << sum << endl; // 输出结果
    return 0;
}

  A. 12       B.18          C.20            D.21

2、在 C++中,下面哪个关键字用于声明一个变量,其值不能被修改?( )

   A.unsigned      B.const     C.static           D.mutable

3、(8+6)×a-10+c÷2 在 C++中应表示为( )

A.(8+6)×a-10+c÷2        B.(8+6)*a-10+c÷2
C.(8+6)*a-10+c/2        D.(8+6)×a-10+c/2

4、C++中, 11%3 的运算结果是( )

A.3     B.-1      C.1      D.2
  1. 下列关于算法的叙述不正确的是()
    A.算法的每一步必须没有歧义,不能有半点含糊
    B.算法必须有输入
    C. 同一问题可能存在多种不同的算法
    D. 同一算法可以用多种不同的形式来描述
    6、若有如下语句:
int a,b,c;
a=b=c=5;
则执行语句:
b+=++a&&++c>b
后 a、b、c 的值分别为()
A. 6,7,6      B. 6,6,6     C. 6,6,5      D. 6,1,6

7、有四个人要从 A 点坐一条船过河到 B 点,船开始在 A 点,该船一次最多可坐
两个人,己知这四个人中每个人独自坐船的过河时间分别为 1, 2, 4, 8, 且两个人坐 船的过河时间为两人独自过河时间的较大者。则最短()时间可以让四个人都过河 到 B 点(包括从 B 点把船开回 A 点的时间)。

   A. 14       B. 15      C. 16       D. 17

8、 下列 C++代码执行之后输出的结果是()

A 4      B 5      C 6       D 7

9、关于 C++函数,以下说法正确的是()
A 函数不可以没有返回值
B 函数不可以没有参数
C 调用函数时的填写的参数必须和函数声明时的变量名一致
D 有的时候调用函数时函数参数可以少于声明时的参数个数
10、 以下哪种排序的时间复杂度是不稳定的()。
A 快速排序
B 归并排序
C 冒泡排序
D 基数排序
11、 运行下方程序,输出结果为()

  A 10.0       B 18      C 30      D 30.0

12、 有一个由 1000 个整数构成的顺序表,假定表中的元素已经按升序排列,采用二分查找定位一个元素。则最多需要几次比较就能确定是否存在所查找的元素()

  A 10 次      B 11 次      C 12 次      D 13 次

13、 下列 C++代码执行之后输出的结果是()

  A 38      B 40      C 0      D 程序有错误,无法输出

14、 在下列代码横线处埴写(),可以将输入的单词的大写字母全部变小写。

  A word[i]-'a'+'A;        B word[i]-='A'+'a';
  C word[i]+='A'-'a';      D word[i]+='a'-'A';

(二)判断题

  1. 表达式(3 &&0)||(0 && -1)的结果为假。()
  2. 字符' 0'的 ASCII 码为 48 ,则字符'5'的 ASCIT 码为 39。()
  3. 只要 while 循环语句中的条件表达式一直成立,循环就一定会永远执行下去。()
  4. 条件"a+b>c&&b+c>a&&c+a>b"可以正确判断"a,b,c 三条边可以构成 三角形"()
  5. 第 7 题 C++表达式 ('1'+'1''2'? flag=1:flag=2) 的结果值和表达式 (flag2) 的相 同。( )
posted @ 2025-05-16 10:41  gdyyx  阅读(527)  评论(0)    收藏  举报