2025年全国青少年信息素养大赛C++小学全年级初赛试题

发布于:2025-05-20 ⋅ 阅读:(224) ⋅ 点赞:(0)

一、单选题

1、在C++中,表示逻辑运算符 "或" 的是?( )(5 分)

A.||

B.&

C.==

D.@

解析:||是或者, &&是并且

2、执行下列代码,输入3,输出结果为?( )

    #include<iostream>using namespace std;int main(){  int n;  cin >> n;  cout << n - 3;  return 0;}(5 分)

    A.-n

    B.0

    C.9

    D.81

    3、下列选项中,输出结果为0的是?( )(5 分)

    A.cout << "5 - 5";

    B.cout << 5 - 5;

    C.cout << 2 * 3;

    D.cout << 7 / 2;

    4、执行下列代码段,输出结果为?( )

    cout << 10 % 3;

    (5 分)

    A.1

    B.2

    C.5

    D.10

    5、下列不属于C++基本程序框架的是?( )(5 分)

    A.头文件

    B.命名空间

    C.主函数

    D.程序开发时间:2025-03-23

    6、阅读以下程序,输入1 5,输出的结果是?( )

    int a,b;

    cin >> a >> b;

    a += b;

    b *= a;

    cout << a << " " << b << endl;

    (5 分)

    A.1 5

    B.6 5

    C.5 6

    D.6 30

    7、在C++程序中,可以得到一个四位整数的十位上的数字的表达式是?( )(5 分)

    A.number / 1000

    B.number / 100 % 10

    C.number / 10 % 10

    D.number % 10

    8、以下程序的功能是对一个正整数n进行数位分离,并按逆序打印每一位,①处应该填写?( )

      #include<iostream> using namespace std;int main(){  int n;  cin >> n;  while (_①_){    int d = n % 10;    n /= 10;    cout << d << " ";  }      return 0;}(5 分)

      A.n > 0

      B.n >= 0

      C.n < 0

      D.n <= 0

      9、下面程序输出的结果是"1 4 7 10",补全①处的代码。下列选项中哪一项正确?( )

        #include <iostream>using namespace std;int main (){  for(int i = 1; i <= 10;  _①_){    cout << i << " ";  }  return 0;}(5 分)

        A.i++

        B.i *= 2

        C.i += 3

        D.i * 2

        10、执行下列代码,输出结果为?( )

          for (int i = 1; i <= 5; i++){    if (i % 2 == 0){        continue;    }    cout << i << " ";}(5 分)

          A.1

          B.2 4

          C.1 3 5

          D.1 2 3 4

          11、下图为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;}(5 分)

            A.j <= 2 * i

            B.j <= i

            C.j <= 2 * i - 1

            D.j <= 2 * i + 1

            12、以下程序段输出的结果为?( )

              int cnt = 0;for (int i = 0; i < 5; i++){    for (int j = 0; j < 4; j++){        for (int k = 0; k < 2; k++){            cnt++;        }    }}cout << cnt << endl;

              (5 分)

              A.40

              B.60

              C.90

              D.120

              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;}(5 分)

                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、执行以下程序,输入5,输出的结果是?( )

                  #include <iostream> using namespace std;int main(){ int n;cin >> n;int ans = 0;for (int i = 1; i <= n; i++){  ans = ans + i*i;}cout << ans;return 0; }(5 分)

                  A.5

                  B.30

                  C.55

                  D.85

                  15、运行以下程序,输入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;}(5 分)

                    A.QWER

                    B.WERQ

                    C.ERQW

                    D.RQWE

                    二、判断题

                    1.在C++中,&&表示逻辑运算符“或”

                    正确

                    错误

                    2.在C++中 可以通过这种方式定义数组并初始化 int c[3]={1,2,3,4,5} 

                    正确

                    错误

                    3.在C++语言中一维数组的下标是从0开始的。

                    正确

                    错误

                    解析:确实从0开始

                    4.代码段

                      int i=5;while(i>0){    i-=2;}

                      最终的值是-1.

                      正确

                      错误

                      5.定义int arr[5];后,执行arr[5]=5不会导致数组越界。

                      正确

                      错误


                      微信公众号

                      今日签到

                      点亮在社区的每一天
                      去签到