#A. 【GESP202406C++二级】选择题

    Type: Objective

【GESP202406C++二级】选择题

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

一、选择题

  1. 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证 种?( )。 {{ select(1) }}
  • 1
  • 2
  • 3
  • 4
  1. 下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填入( )。 image {{ select(2) }}
  • (yr%400==0) || (yr%4==0)
  • (yr%400==0) || (yr%4==0 && yr%100!=0)
  • (yr%400==0) && (yr%4==0)
  • (yr%400==0) && (yr%4==0 && yr%100!=0)
  1. 在C++中,下列不可做变量的是( )。 {{ select(3) }}
  • five-Star
  • five_star
  • fiveStar
  • _fiveStar
  1. 在C++中,与 for(int i=0; i<10; i++) 效果相同的是( )。 {{ select(4) }}
  • for(int i=0; i<10; i+=1)
  • for(int i=1; i<=10; i++)
  • for(int i=10; i>0; i--)
  • gfor(int i=10; i<1; i++)
  1. 在C++中, cout << (5 % 2 && 5 % 3) 的输出是( )。 {{ select(5) }}
  • 1
  • 2
  • true
  • false
  1. 6.执行下面的C++代码时输入 1 ,则输出是( )

    int month;
    cin >> month;
    switch(month){
        case 1: 
            cout << "Jan ";
        case 3: 
            cout << "Mar ";
            break; 
        default: 
            ; 
    }
    

    {{ select(6) }}

  • Jan
  • Mar
  • Jan Mar
  • 以上均不对
  1. 执行下面C++代码后,有关说法错误的是( )。
    int a, b; 
    cin >> a >> b; 
    if (a && b) 
        cout << "1"; 
    else if (!(a || b)) 
        cout << "2"; 
    else if (a || b) 
        cout << "3"; 
    else 
        cout << "4";
    

{{ select(7) }}

  • 如果先后输入1和1,则将输出1
  • 如果先后输入0和1或者1和0,则将输出3
  • 如果先后输入0和0,则将输出2
  • 如果先后输入0和0,则将输出4
  1. 某货币由5元,2元和1元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处 入代码是( )。
    image {{ select(8) }}
  • 第1横线处应填入:N/2;
    第2横线处应填入:N - M5 - M2
  • 第1横线处应填入:(N - M5 * 5)/2;
    第2横线处应填入:N - M5 * 5 - M2*2
  • 第1横线处应填入:N - M5 * 5 / 2;
    第2横线处应填入:N - M5 * 5 - M2 *2
  • 第1横线处应填入:(N - M5 * 5) / 2;
    第2横线处应填入:N - M5 - M2
  1. 下⾯C++代码执⾏后的输出是()。
    int loopCount = 0;
    for (int i=0; i < 10; i++)
        for (int j=1; j < i; j++) 
            loopCount += 1;
    cout << loopCount;
    

{{ select(9) }}

  • 55
  • 45
  • 36
  • 28
  1. 下⾯C++代码执⾏后的输出是( )。
    int loopCount = 0;
    for (int i=0; i < 10; i++){ 
        for (int j=0; j < i; j++) 
            if (i * j % 2) 
                break; 
        loopCount += 1; 
    } 
    cout << loopCount;
    

{{ select(10) }}

  • 25
  • 16
  • 10
  • 9
  1. 假设下面C++代码执行过程中仅输入正负整数或0,有关说法错误的是( )。
    int N,Sum = 0;
    cin >> N; 
    while (N){
        Sum += N;
        cin >> N;
    }
    cout << Sum;
    

{{ select(11) }}

  • 执行上面代码如果输入0,将终止循环
  • 执行上面代码能实现所有非0整数的求和
  • 执行上面代码第一次输入0,最后将输出0
  • 执行上面代码将陷入死循环,可将 while (N) 改为 while (N==0)
  1. 执行下面的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(12) }}

  • 如果输入正整数,上面代码能正确判断N是否为质数
  • 如果输入整数,上面代码能正确判断N是否为质数
  • 如果输入大于等于0的整数,上面代码能正确判断N是否为质数
  • 如将 Flag = true 修改为 Flag = N>=2? true:false 则能判断所有整数包括负整数、0、正整数是否为质数
  1. 下面C++代码用于实现如下图所示的效果,其有关说法正确的是( )。 image {{ select(13) }}
  • 当前代码能实现预期效果,无需调整代码
  • 如果 cout << endl; 移到循环L2内部,则可实现预期效果
  • 如果 cout << endl; 移到循环L1外部,则可实现预期效果
  • 删除 cout << endl; 行,则可实现预期效果
  1. 下面C++代码执行后,输出是( )。
    int cnt1 = 0, cnt2 = 0;
    for (int i = 0; i < 10; i++){
        if (i % 2 == 0) 
            continue;
        if (i % 2) 
            cnt1 += 1; 
        else if (i % 3 == 0) 
            cnt2 += 1; 
    } 
    cout << cnt1 << " " << cnt2
    

{{ select(14) }}

  • 5 2
  • 5 0
  • 0 2
  • 0 0
  1. 在下面的C++代码中,N必须是小于10大于1的整数,M为正整数(大于0)。如果M被N整除则M为幸运数,如果M中含有N且能被N整除,则为超级幸运数,否则不是幸运数。程序用于判断M是否为幸运数或超级幸运 或非幸运数。阅读下面代码,有关说法正确的是( )。
    image {{ select(15) }}
  • 如果N输入3,M输入36则将输出:36是3的超级幸运数!
  • 如果N输入7,M输入21则将输出:21是7的幸运数!
  • 如果N输入8,M输入36则将输出:36非8的超级幸运数!
  • 如果N输入3,M输入63则将输出:63是3的超级幸运数!

二、判断题

  1. 执行C++代码 cout << '9'+'1'; 的输出为10。( ) {{ select(16) }}
  • ×
  1. C++表达式 -12 % 10 的值为2。( ) {{ select(17) }}
  • ×
  1. C++表达式 int(12.56) 的值为13。( ) {{ select(18) }}
  • ×
  1. C++的整型变量N被赋值为10,则语句 cout << N / 3 << "-" << N % 3 执行后输出是3-1。( ) {{ select(19) }}
  • ×
  1. 在C++代码中,不可以将变量命名为scanf,因为scanf是C++语言的关键字。( ) {{ select(20) }}
  • ×

21.下面C++代码执行后将导致死循环。( )

for (int i = 0; i < 10; i++) 
    continue;

{{ select(21) }}

  • ×
  1. 下面C++代码执行后将输出10。( )
    int cnt = 0; 
    for (int i = 0; i < 10; i++)
        for (int j = 0; j < i; j++){
            cnt += 1;
            break;
        }
    cout << cnt;
    

{{ select(22) }}

  • ×
  1. 下面C++代码执行后,将输出5。( )
    int cnt = 0;
    for (int i = 1; i < 5; i++)
       for (int j = i; j < 5; j +=i)
           if (i * j % 2 == 0)
               cnt += 1;
    cout << cnt;
    

{{ select(23) }}

  • ×
  1. 下面C++代码能实现正整数各位数字之和。( )
    int N,Sum = 0;
    cin >> N;
    while (N){
        Sum += N % 10;
        N /= 10;
    }
    cout << Sum;
    

{{ select(24) }}

  • ×
  1. GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( ) {{ select(25) }}
  • ×

GESP 二级测试2

Not Attended
Status
Done
Rule
Ledo
Problem
3
Start at
2025-1-13 13:30
End at
2025-1-13 15:00
Duration
1.5 hour(s)
Host
Partic.
9