试卷总分:100分


选择题 10题 40分

01 02 03 04 05 06 07 08 09 10


判断题 10题 20分

11 12 13 14 15 16 17 18 19 20


编程题 2题 40分

21 22

E892 电子学会青少年软件编程等级考试-C++ -CIE-202603-C++二级-真题-考试

选择题 共10道

01 C++中,用于从文件中读取数据的文件流对象?( ) 4分
登录后查看选项
02 以下关于C++文件操作的说法,错误的?( ) 4分
登录后查看选项
03 执行以下C++代码,变量b的最终值?( )
#include <iostream>
int main() {
    double a = 3.99;
    int b = (int)a;
}
4分
登录后查看选项
04

执行以下C++代码,输入`85`后,输出结果?( )

#include <iostream>
int main() {
    int score;
    std::cin >> score;
    if(score >= 90)
        std::cout << "A";
    else if(score >= 80)
        std::cout << "B";
    else if(score >= 60)
        std::cout << "C";
    else
        std::cout << "D";
}

4分
登录后查看选项
05 以下C++代码执行后,输出结果?( )
#include <iostream>
int main() {
    int a = 10, b = 20;
    if(a > 30){
        if(a == b) 
            std::cout << "1";
        else 
            std::cout << "2";
    }else{
        if(a < b) 
            std::cout << "3";
        else 
            std::cout << "4";
    }
}
4分
登录后查看选项
06

以下C++代码执行后,`*`一共会输出多少次?( )

#include <iostream>
int main() {
    for(int i=0;i<3;i++)
        for(int j=0;j<4;j++)
            std::cout << "*";
}

4分
登录后查看选项
07 以下C++代码执行后,输出的结果?( )
#include <iostream>
int main() {
    int cnt = 0;
    for(int i=1;i<=5;i++)
        for(int j=1;j<=i;j++)
            cnt += 1;
    std::cout << cnt;
}
4分
登录后查看选项
08 以下关于C++一维数组的定义,正确的?( ) 4分
登录后查看选项
09 执行以下代码,数组arr中第3个元素(下标为2)的值?( )
#include <iostream>
int main() {
    int arr[5] = {10,20,30,40,50};
    arr[2] = arr[2] + arr[4];
}
4分
登录后查看选项
10 以下代码用于求数组中所有元素的最大值,横线处应填入的代码?( )
#include <iostream>
int main() {
    int arr[5] = {3,1,4,5,2};
    int max_val = arr[0];
    for(int i=1;i<5;i++){
        _________
    }
    std::cout << max_val;
}
4分
登录后查看选项

判断题 共10道

11 C++中,使用文件流操作文件时,需要引入<fstream>头文件。( ) 2分
登录后查看选项
12 以ios::out模式打开已存在的文件,不会清空文件原有内容。( ) 2分
登录后查看选项
13 C++中,将浮点型赋值给整型变量时,会自动进行四舍五入。( ) 2分
登录后查看选项
14 if-else if-else语句中,最多只会有一个分支的代码被执行。( ) 2分
登录后查看选项
15 switch语句中,每个case分支都必须包含break语句,否则会编译报错。( ) 2分
登录后查看选项
16 两层for循环嵌套时,外层循环每执行一次,内层循环会完整执行一遍。( ) 2分
登录后查看选项
17 while循环可以嵌套for循环,for循环也可以嵌套while循环。( ) 2分
登录后查看选项
18 C++中,数组的下标默认从1开始。( ) 2分
登录后查看选项
19 一维数组在内存中是连续存储的。( ) 2分
登录后查看选项
20 定义数组int arr[10];后,可以通过arr[10]访问数组的最后一个元素。( ) 2分
登录后查看选项

编程题 共2道

21

[电子学会202603二级]数字三角阵


给定一个正整数 ,输出一个数字三角阵,当 时,输出的三角阵如下: `` 1 22 333 4444 ``

输入格式

单个正整数表示 。

输出格式

一个 行 列的数字三角阵,具体格式参考题面。

输入样例#1
5
输出样例#1
    1
   22
  333
 4444
55555
20分

C0400
登录后作答
22

[电子学会202603二级]奇偶求和


给定一个正整数 ,以及 个整数,请完成以下两个计算: 1. 找出这 个整数中最大的偶数;若不存在偶数,则该值为 0。 2. 计算这 个整数中所有奇数的和;若不存在奇数,则该值为 0。

输入格式

第一行输入一个正整数 ,表示整数的个数; 第二行输入 个整数。

输出格式

输出两行,第一行输出最大的偶数,若无则输出 0;第二行输出所有奇数的和,若无则输出 0。

输入样例#1
5
1 3 5 8 10
输出样例#1
10
9
输入样例#2
3
7 11 15
输出样例#2
0
33
输入样例#3
4
-2 6 -8 4
输出样例#3
6
0
提示

20分

C0401
登录后作答