#1853. GESP 2024年3月认证C++三级真题

GESP 2024年3月认证C++三级真题

一、单选题(每题 2 分,共 30 分)

1), 整数-5的16位补码表⽰是( )。 {{ select(1) }}

  • A. 1005
  • B. 1006
  • C. FFFA
  • D. FFFB

2), 如果16位短整数 -2 的⼆进制是"FFFE",则短整数 -4 的⼗六进制是( )。 {{ select(2) }}

  • A. FF04
  • B. FFFA
  • C. FFFC
  • D. FFFH

3), 下⾯C++代码执⾏后的输出是( )。

int main()
{
    cout << (3|16) << endl;
    cout << endl;
    return 0;
}

{{ select(3) }}

  • A. 3
  • B. 16
  • C. 19
  • D. 48

4), 定义整数 int x=-5 ,则执⾏C++代码 cout << (x == (x<<1>>1)) 输出是( )。 {{ select(4) }}

  • A. 0
  • B. 1
  • C. -5
  • D. 5

5), 已知字符 '0' 的ASCII编码的⼗进制表⽰为48,则执⾏下⾯C++代码后,输出是( )。

int main()
{
    string s="316";
    int n=s.length();
    int x=0;
    for(int i = 0; i < n; i++)
        x += s[i];
    cout << x  << endl;
    cout << endl;
    return 0;
}

​ {{ select(5) }}

  • A. 10
  • B. 58
  • C. 154
  • D. 316

6), 下⾯C++代码执⾏后数组中⼤于0的数的特征是( )。

int main()
{
    int a[20],i;
    for(i = 0; i < 20; i++)
        a[i] = i+1;
    for(int i = 0; i < 20; i++)
        if((a[i]%2)&&(a[i]%3))
            a[i] = 0;
    for(i = 0; i < 20; i++)
        if(a[i])
            cout << a[i] << " ";
    cout << endl;
    return 0;
}

{{ select(6) }}

  • A. 2的倍数
  • B. 3的倍数
  • C. 能被2或3整除的数
  • D. 能被2和3同时整除的数

7), 执⾏下⾯C++代码后输出的第⼀个数是( )。

int main()
{
    int a[20],i;
    for(i = 0; i < 20; i++)
        a[i] = i+1;
    for( ; i > 0; i--)
        cout << a[i-1] << " ";
    cout << endl;
    return 0;
}

{{ select(7) }}

  • A. 20
  • B. 19
  • C. 1
  • D. 不确定

8), 在下列代码的横线处填写( ),可以使得输出是 GESP IS INTERESTING 。

int main()
{
    string str="gEsP is Interesting";
    int x = str.length();
    GESP IS INTERESTING 。
        for(int i = 0; i < x; i++)
            if ((str[i]>='a') && (str[i]<='z'))
                ________________________;
    cout << str << endl;
    cout << endl;
    return 0;
}

{{ select(8) }}

  • A. str[i] += 'a' - 'A'
  • B. str[i] += 20
  • C. str[i] += 'A' - 'a'
  • D. ⽆法实现

9), 假设英⽂句⼦由若⼲词构成。下⾯C++代码统计输出的词数是( )。

int main()
{
    string str="gEsP is  Interesting  !";
    int x = str.length();
    int nwords = 0;
    for(int i = 0; i < x; i++)
        if (str[i]==' '){
            nwords++;
            while(str[++i]==' ') ;
        }
    cout << nwords << endl;
    cout << endl;
    return 0;
}

{{ select(9) }}

  • A. 1
  • B. 2
  • C. 3
  • D. 4

10), C++的字符变量的码值是整数,下⾯字⾯量形式的字符码值最⼤的是( )。 {{ select(10) }}

  • A. 100
  • B. 075
  • C. 0x70
  • D. 0x60

11), 下⾯C++程序执⾏的结果是( )。

int main()
{
    int a[20],i;
    int cnt=0;
    for(i = 0; i < 20; i++)
        a[i] = i+1;
    for( ; i > 1; i--)
        if((a[i-1]+a[i-2])%3)
            cnt++;
    cout << cnt << endl;
    cout << endl;
    return 0;
}

{{ select(11) }}

  • A. 5
  • B. 6
  • C. 10
  • D. 12

12), 定义字符数组 char str[20] = {'G', 'E', 'S', 'P'}; ,则 str 的字符串长度为( )。 {{ select(12) }}

  • A. 4
  • B. 5
  • C. 19
  • D. 20

13), 定义整型变量 int a=3, b=16 ,则 a|b 的值和 a+b 的关系是( )。 {{ select(13) }}

  • A. ⼤于
  • B. 等于
  • C. ⼩于
  • D. 等于或⼩于

14), ⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表,他说⼿表上跑的是鸿蒙,这个鸿蒙是( )。 {{ select(14) }}

  • A. ⼩程序
  • B. 计时器
  • C. 操作系统
  • D. 神话⼈物

15), 中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖,王选先⽣的重⼤贡献是( )。 {{ select(15) }}

  • A. 制造⾃动驾驶汽车
  • B. 创⽴培训学校
  • C. 发明汉字激光照排系统
  • D. 成⽴⽅正公司

二、判断题(每题 2 分,共 20 分)

16), 任意整数 a 的⼆进制反码与补码都有1位不同。 ( ) {{ select(16) }}

  • true
  • false

17), 对整型变量 int a = 3 ,执⾏C++代码 a<<2 将把2输出到 a 中。( ) {{ select(17) }}

  • true
  • false

18), 下⾯C++代码可以计算1到100的累加和,采⽤的是穷举法。

int main()
{
    int i,sum=0;
    for(int i = 1; i <= 100 ; i++)
        sum += i;
    cout << sum  << endl;
    cout << endl;
    return 0;
}

{{ select(18) }}

  • true
  • false

19), ⼀个 int 类型变量 a ,执⾏操作 (a<<2>>2) 后的值⼀定是 a 。( ) {{ select(19) }}

  • true
  • false

20), 在C++语⾔中, (010<<1) 执⾏结果是 100 。( ) {{ select(20) }}

  • true
  • false

21), 执⾏下⾯C++代码后将输出 2 。( )

int main()
{
    string str="gEsP is Interesting";
    int x = str.find("s");
    cout << x << endl;
    cout << endl;
    return 0;
}

{{ select(21) }}

  • true
  • false

22), 在C++语⾔中,字符数组被定义时,它的⼤⼩可以调整。( ) {{ select(22) }}

  • true
  • false

23), 对定义的数组 int a[7]={2,0,2,4,3,1,6} ,可以⽤简单循环就找到其中最⼩的整数。( ) {{ select(23) }}

  • true
  • false

24), ⼩杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒⼦才能收看节⽬,那这个WIFI盒 {{ select(24) }}

  • true
  • false

25), 任何⼀个 for 循环都可以转化为等价的 while 循环( )。 {{ select(25) }}

  • true
  • false