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

【GESP202406C++二级】选择题

一、选择题

  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) }}
  • ×

Statistics

Related

In following contests:

GESP 二级测试2