2024年GESP6月C++-二级

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

A. Jan
B. Mar
C. Jan Mar
D. 以上均不对
*
第 7 题执行下面 C++ 代码后,有关说法错误的是( )。
A. 如果先后输入 1 和 1,则将输出 1
B. 如果先后输入 0 和 1 或者 1 和 0,则将输出 3
C. 如果先后输入 0 和 0,则将输出 2
D. 如果先后输入 0 和 0,则将输出 4
*
第 8 题某货币由 5 元,2 元和 1 元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处应填入代码是( )。
A. 第 1 横线处应填入:N / 2 第 2 横线处应填入:N - M5 - M2
B. 第 1 横线处应填入:(N - M5 * 5) / 2 第 2 横线处应填入:N - M5 * 5 - M2 * 2
C. 第 1 横线处应填入:N - M5 * 5 / 2 第 2 横线处应填入:N - M5 * 5 - M2 * 2
D. 第 1 横线处应填入:(N - M5 * 5) / 2 第 2 横线处应填入:N - M5 - M2
*
第 9 题下面 C++ 代码执行后的输出是( )。
A. 55
B. 45
C. 36
D. 28
*
第 10 题下面 C++ 代码执行后的输出是( )。
A. 25
B. 16
C. 10
D. 9
*
第 11 题假设下面 C++ 代码执行过程中仅输入正负整数或 0,有关说法错误的是( )。
A. 执行上面代码如果输入 0,将终止循环
B. 执行上面代码能实现所有非 0 整数的求和
C. 执行上面代码第一次输入 0,最后将输出 0
D. 执行上面代码将陷入死循环,可将 while (N) 改为 while (N == 0)
*
第 12 题执行下面的 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;

A. 如果输入正整数,上面代码能正确判断 N 是否为质数
B. 如果输入整数,上面代码能正确判断 N 是否为质数
C. 如果输入大于等于 0 的整数,上面代码能正确判断 N 是否质数
D. 如将 Flag = true 修改为 Flag = N >= 2 ? true : false 则能判断所有整数包括负整数、0、正整数是否为质数
*
第 13 题下面 C++ 代码用于实现如下图所示的效果,其有关说法正确的是( )。
A. 当前代码能实现预期效果,无需调整代码
B. 如果 cout << endl; 移到循环 L2 内部,则可实现预期效果
C. 如果 cout << endl; 移到循环 L1 外部,则可实现预期效果
D. 删除 cout << endl; 行,则可实现预期效果
*
第 14 题下面 C++ 代码执行后,输出是( )。
A. 5 2
B. 5 0
C. 0 2
D. 0 0
*
第 15 题在下面的 C++ 代码中,N 必须是小于 10 大于 1 的整数,M 为正整数(大于 0)。如果 M 被 N 整除则 M 为幸运数,如果 M 中含有 N 且能被 N 整除,则为超级幸运数,否则不是幸运数。程序用于判断 M 是否为幸运数或超级幸运数或非幸运数。阅读下面代码,有关说法正确的是( )。
A. 如果 N 输入 3,M 输入 36 则将输出:36 是 3 的超级幸运数!
B. 如果 N 输入 7,M 输入 21 则将输出:21 是 7 的幸运数!
C. 如果 N 输入 8,M 输入 36 则将输出:36 非 8 的超级幸运数!
D. 如果 N 输入 3,M 输入 63 则将输出:63 是 3 的超级幸运数!
二、判断题 (每题 2 分,共 20 分)
*
第 1 题 执行 C++ 代码 cout << '9' + '1'; 的输出为 10。( )
正确
错误
*
第 2 题 C++ 表达式 -12 % 10 的值为 2。( )
正确
错误
*
第 3 题 C++ 表达式 int(12.56) 的值为 13。( )
正确
错误
*
第 4 题 C++ 的整型变量 N 被赋值为 10,则语句 cout << N / 3 << "-" << N % 3 执行后输出是 3-1。( )
正确
错误
*
第 5 题 在 C++ 代码中,不可以将变量命名为 scanf,因为 scanf 是 C++ 语言的关键字。( )
正确
错误
*
第 6 题 下面 C++ 代码执行后将导致死循环。( )

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

        continue;

正确
错误
*
第 7 题 下面 C++ 代码执行后将输出 10。( )

    int cnt = 0;

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

        for (int j = 0; j < i; j++){        

            cnt += 1;break;    

        }

    cout << cnt;

正确
错误
*
第 8 题 下面 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;

正确
错误
*
第 9 题 下面 C++ 代码能实现正整数各位数字之和。( )

    int N, Sum = 0;

    cin >> N;

    while (N){    

        Sum += N % 10;   

         N /= 10;

    }

    cout << Sum;

正确
错误
*
第 10 题 GESP 测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )
正确
错误
问卷星提供技术支持
举报