#838. gesp三级模拟(1)

gesp三级模拟(1)

选择题

第 1 题:将十进制小数 72.2572.25 转换为二进制表示,结果是下列哪一项?

{{ select(1) }}

  • 1001000.01
  • 1001000.10
  • 1001001.01
  • 100100.01

第 2 题:以下关于 标准 C++ 一维数组 的说法,哪一项是 错误的

{{ select(2) }}

  • 数组下标从 11 开始
  • 数组在内存中是连续存储的
  • 数组的长度只能在程序编译时才能确定
  • 可以在程序中修改数组某个元素的值

第 3 题:以下关于 C++ 求最大值函数 std::max() 的描述,不正确的是( )

{{ select(3) }}

  • 函数必须返回一个值
  • 该函数可以嵌套调用
  • 调用 std::max(5) 是错误的,不能通过编译
  • 调用 std::max()(不传任何参数)可以通过编译,结果为 0

第 4 题:8 位二进制补码能够表示的最小整数是( )

{{ select(4) }}

  • -127
  • -128
  • -255
  • -256

第 5 题:以下代码含义不正确的是( )

{{ select(5) }}

  • x&(x-1) 可以判断一个数字是否是二的整数次幂
  • x&1 可以判断一个数字的奇偶性
  • x^y 的结果一定大于等于 x+y
  • x&-x 可以用于求出 x 的二进制下最低位 1 的值

第 6 题:补码加法中,若最高位(符号位)进位与次高位进位不同,则说明( )

{{ select(6) }}

  • 结果正确
  • 发生溢出
  • 发生下溢
  • 结果符号位错误

第 7 题:八进制数 47.2 对应的十进制数是( )

{{ select(7) }}

  • 39.25
  • 31.25
  • 39.5
  • 37.25

第 8 题:二进制按位异或 1011 ^ 1101 的结果是( )

{{ select(8) }}

  • 0110
  • 1111
  • 1011
  • 1000

第 9 题:若 X 的 8 位补码为 1111 1100,则 X/4 的 8 位补码是( )

{{ select(9) }}

  • 1111 1111
  • 0011 1111
  • 1111 1110
  • 0000 0001

第 10 题:若 a = 10b = 12,则表达式 a | b(按位或运算)的结果是( )

{{ select(10) }}

  • 14
  • 8
  • 6
  • 2

第 11 题:阅读下面程序,程序输出的结果是( )

#include <iostream>
using namespace std;
int main(){
    int sum = 0;
    for(int i = 10; i <= 20; i++){
        int x = i;
        int s = 0;
        while(x){
            s += x % 10;
            x /= 10;
        }
        sum += s;
    }
    cout << sum;
    return 0;
}

{{ select(11) }}

  • 57
  • 65
  • 66
  • 75

第 12 题:以下程序统计区间 ([2000,2100]) 内有多少个闰年,横线处应该填入的是( )

#include <iostream>
using namespace std;

int main(){
    int count = 0;
    for(int y = 2000; y <= 2100; y++){
        __________________________________
        {
            count++;
        }
    }
    cout << count << endl;
    return 0;
}

{{ select(12) }}

  • if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
  • if(y % 4 == 0)
  • if(y % 400 == 0)
  • if(y % 100 == 0)

第 13 题:下面程序最后能够得到字符串 HelloC++,横线处应该填入的是( )

#include <iostream>
#include <string>
using namespace std;

int main(){
    string str = "HelloWorld";
    ___________________
    cout << str;
    return 0;
}

{{ select(13) }}

  • str.replace(0, 5, "C++");
  • str.replace(5, 5, "C++");
  • str.append("C++");
  • str.erase(5);

第 14 题:下面程序统计字符串中字符 'a' 出现的次数,横线处应该填入的是( )

#include <iostream>
#include <string>
using namespace std;

int main(){
    string s = "banana";
    int cnt = 0;
    for(int i = 0; i < s.size(); i++){
        ___________________
        {
            cnt++;
        }
    }
    cout << cnt;
    return 0;
}

{{ select(14) }}

  • if(s[i] == 'a')
  • if(s[i] = 'a')
  • if(s[i] == "a")
  • if(s[i] != 'a')

第 15 题:下面程序找出数组中的最大值,横线处应该填入的是( )

#include <iostream>
using namespace std;

int main(){
    int arr[] = {7,3,9,2,6};
    int maxx = arr[0];
    for(int i = 1; i < 5; i++){
        ___________________
        {
            maxx = arr[i];
        }
    }
    cout <<  maxx;
    return 0;
}

{{ select(15) }}

  • if(arr[i] > maxx)
  • if(arr[i] < maxx)
  • if(arr[i] == maxx)
  • if(arr[i] >= 0)

第 16 题:若三角形三边为 a、b、c,则只要满足 a+b>c、a+c>b、b+c>a,三角形一定可以成立。( )

{{ select(16) }}

  • 正确
  • 错误

第 17 题:字符 'A' 的 ASCII 码为 65,因此它是一个奇数。( )

{{ select(17) }}

  • 正确
  • 错误

第 18 题:年份 2100 能被 4 整除,因此它是闰年。( )

{{ select(18) }}

  • 正确
  • 错误

第 19 题:表达式 cout<<(n%3==0&&n%5==0?"YES":"NO"); 可以判断 n 是否同时被 3 和 5 整除。( )

{{ select(19) }}

  • 正确
  • 错误

第 20 题:从 n 个同学中选择若干人参加活动(可以一个都不选),共有 2n2^n 种不同的选择方式。( )

{{ select(20) }}

  • 正确
  • 错误

第 21 题:若一个整数的二进制表示中 1 的个数为偶数,则称为 A 类数,否则称为 B 类数。整数 10 的二进制为 1010,因此 10 属于 A 类数。( )

{{ select(21) }}

  • 正确
  • 错误

第 22 题:程序不断输出 n/=2 并执行 n/=2直至 nn 变为 00,可以得到该整数的二进制表示(从低位到高位)。( )

{{ select(22) }}

  • 正确
  • 错误

第 23 题:在 13 进制中,A 表示 10,B 表示 11,因此 A+B 的结果是 18(13 进制)。( )

{{ select(23) }}

  • 正确
  • 错误

第 24 题:在 k 进制计数中,当某一位达到 k 时就向高一位进 1,这称为“逢 k 进一”。( )

{{ select(24) }}

  • 正确
  • 错误

第 25 题:十进制数 255 用十六进制表示为 FF。( )

{{ select(25) }}

  • 正确
  • 错误