#2451. ws数组循环20题

ws数组循环20题

  1. 以下代码的输出结果是什么?
int arr[5] = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i < 5; i++) {
    sum += arr[i] * (i % 2 == 0 ? 1 : -1);
}
cout << sum;

{{ select(1) }}

  • 15
  • 3
  • 9
  • -3
  1. 关于数组初始化,以下哪个选项是正确的?
int arr[5] = {1, 2, 3};

{{ select(2) }}

  • 编译错误,必须初始化所有元素
  • arr[3]和arr[4]的值是随机值
  • arr[3]和arr[4]的值是0
  • 只有arr[0], arr[1], arr[2]被初始化,其余元素不存在
  1. 以下代码的输出结果是什么?
int p[] = {2, 4, 6, 8, 10};
cout << p[-1] + p[1];

{{ select(3) }}

  • 10
  • 12
  • 4
  • 编译错误
  1. 执行以下代码后,arr[2]的值是多少?
int arr[5] = {5, 4, 3, 2, 1};
for(int i = 0; i < 4; i++) {
    arr[i+1] = arr[i] - 1;
}

{{ select(4) }}

  • 2
  • 3
  • 4
  • 1
  1. 以下哪个选项正确计算了一维数组的平均值?
int arr[] = {10, 20, 30, 40, 50};
int n = 5;

{{ select(5) }}

  • float avg = arr / n;
  • float avg = sum(arr) / n;
  • float avg = accumulate(arr, arr+n, 0) / n;
  • float avg = accumulate(arr, arr+n, 0) / float(n);
  1. 以下代码的输出结果是什么?
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int sum = 0;
for(int i = 0; i < 3; i++) {
    sum += arr[i][i];
}
cout << sum;

{{ select(6) }}

  • 15
  • 25
  • 6
  • 45
  1. 关于二维数组初始化,以下哪个是正确的? {{ select(7) }}
  • int arr[2][] = {{1,2},{3,4}};
  • int arr[][2] = {{1,2},{3,4}};
  • int arr[][] = {{1,2},{3,4}};
  • int arr[,] = {{1,2},{3,4}};
  1. 以下代码的输出结果是什么?
int arr[2][3] = {1,2,3,4,5,6};
cout << arr[1][0] + arr[0][2];

{{ select(8) }}

  • 5
  • 7
  • 9
  • 11
  1. 执行以下代码后,arr[1][1]的值是多少?
int arr[3][3] = {0};
for(int i = 0; i < 3; i++) {
    for(int j = 0; j < 3; j++) {
        arr[i][j] = i + j;
    }
}

{{ select(9) }}

  • 0
  • 1
  • 2
  • 4
  1. 以下代码的输出结果是什么?
int arr[][3] = {{1,2,3},{4,5,6},{7,8,9}};
cout << arr[1][2] + arr[2][1];

{{ select(10) }}

  • 6
  • 9
  • 14
  • 15
  1. 以下代码的输出结果是什么?
string s1 = "Hello";
string s2 = "World";
string s3 = s1 + " " + s2;
cout << s3.length();

{{ select(11) }}

  • 10
  • 11
  • 12
  • 编译错误
  1. 以下代码的输出结果是什么?
string str = "Programming";
str.erase(3, 4);
cout << str;

{{ select(12) }}

  • "Prog"
  • "Progmming"
  • "Proming"
  • "Proramming"
  1. 关于string类的substr方法,以下哪个选项正确? {{ select(13) }}
  • str.substr(2) 返回从索引2开始到字符串末尾的子串
  • str.substr(2, 5) 返回从索引2开始,长度为5的子串
  • str.substr(2, 5) 返回从索引2开始到索引5的子串
  • A和B都正确
  1. 以下代码的输出结果是什么?
string s = "C++ Programming";
int pos = s.find("Pro");
if(pos != string::npos) {
    cout << pos;
} else {
    cout << "Not found";
}

{{ select(14) }}

  • 0
  • 4
  • 5
  • "Not found"
  1. 执行以下代码后,str的值是什么?
string str = "ABCDEF";
for(int i = 1; i < str.length(); i += 2) {
    str[i] = tolower(str[i]);
}

{{ select(15) }}

  • "ABCDEF"
  • "AbCdEf"
  • "aBcDeF"
  • "abcdef"
  1. 以下代码的输出结果是什么?
for(int i = 1; i <= 3; i++) {
    for(int j = 1; j <= i; j++) {
        cout << j << " ";
    }
}

{{ select(16) }}

  • 1 1 2 1 2 3
  • 1 2 3 1 2 1
  • 1 2 3 4 5 6
  • 1 1 1 2 2 3
  1. 以下代码的输出结果是什么?
int count = 0;
for(int i = 0; i < 4; i++) {
    for(int j = 0; j < 4; j++) {
        if((i + j) % 2 == 0) {
            count++;
        }
    }
}
cout << count;

{{ select(17) }}

  • 4
  • 8
  • 12
  • 16
  1. 执行以下代码后,sum的值是多少?
int sum = 0;
for(int i = 1; i <= 3; i++) {
    for(int j = 1; j <= 3; j++) {
        if(i == j) continue;
        sum += i * j;
    }
}

{{ select(18) }}

  • 11
  • 18
  • 22
  • 36
  1. 以下代码的输出结果是什么?
for(int i = 5; i > 0; i--) {
    for(int j = 0; j < i; j++) {
        cout << "*";
    }
    cout << " ";
}

{{ select(19) }}

  • ***** **** *** ** *
  • * ** *** **** *****
  • ***** **** *** ** *
  • A和C
  1. 以下代码的输出结果是什么?
int n = 3;
for(int i = 0; i < n; i++) {
    for(int j = 0; j < n; j++) {
        cout << (i + j) % n + 1 << " ";
    }
}

{{ select(20) }}

  • 1 2 3 2 3 1 3 1 2
  • 1 2 3 1 2 3 1 2 3
  • 1 1 1 2 2 2 3 3 3
  • 3 2 1 2 1 3 1 3 2