#1496. 信息素养大赛初赛模拟赛

信息素养大赛初赛模拟赛

单项选择题

  1. C++ 表达式 (32)3+5(3 - 2) * 3 + 5 的值是()

{{ select(1) }}

  • 13-13
  • 88
  • 22
  • 00
  1. C++ 语句 cout << "5%2=" << 5 % 2 的输出是()

{{ select(2) }}

  • 222 2
  • 111 1
  • 5%2=25\%2=2
  • 5%2=15\%2=1
  1. 执行 C++ 语句 cin >> a 时如果输入 5+25+2,下列说法正确的是()。

{{ select(3) }}

  • 变量 aa 将被赋值为整数 77
  • 变量 aa 将被赋值为字符串,字符串内容为 5+25+2
  • 语句执行将报错,不能输入表达式
  • 依赖于变量 aa 的类型。如果没有定义,会有编译错误。
  1. 下面 C++ 代码执行时输入 2121 后,有关描述正确的是()
int n;
cin >> n;
if (n % 3 == 0) 
    cout << "能被3整除";
else if (n % 7 == 0)
    cout << "能被7整除";
else
    cout << "不能被3和7整除";
cout << endl;

{{ select(4) }}

  • 代码第四行被执行
  • 第四行和第七行都被执行
  • 代码仅第七行被执行
  • 第八行代码将被执行
  1. 下面代码的输出是()。
int tot = 0;
for (int i = 0; i < 10; i++)
    if (i % 3 && i % 7)
        tot++;
cout << tot;

{{ select(5) }}

  • 00
  • 55
  • 33
  • 44
  1. 下面代码被用于判断输入的数字 nn 是不是质数,在括号处应该填入的代码是()。
int n;
cin >> n;
int cnt = 0; // 记录 n 被整除的次数
for (int i = 1; i < n + 1; i++)
    if ()
        cnt += 1;
if (cnt == 2)
    cout << n << "是质数";
else
    cout << n << "不是质数";

{{ select(6) }}

  • n % i
  • n % i == 0
  • n / i == 0
  • n / i
  1. 以下选项不符合 C++ 变量命名规则的是()

{{ select(7) }}

  • studend
  • 2_from
  • _to
  • Text
  1. 以下说法错的是 ()。 {{ select(8) }}
  • while 循环满足循环条件时不断地运行,知道指定的条件不满足为止。
  • if 语句通常用于执行条件判断。
  • C++ 中可以使用 foreach 循环。
  • breakcontinue 语句都可以用在 forwhile 循环中。
  1. 下列 44 个选项,答案不为 88 的是() {{ select(9) }}
  • abs(-8)
  • min(max(8, 9), 10)
  • int(8.88)
  • sqrt(64)
  1. 下列代码的执行结果是()
int n, i, result;
n = 81, i = 1, result = 1;
while (i * i <= n)
{
    if (n % (i * i) == 0)
        result = i * i;
    i += 1;
}
cout << result;

{{ select(10) }}

  • 1616
  • 3636
  • 4949
  • 8181
  1. 下列关于 C++ 语言中数组的叙述,不正确的是( )。

{{ select(11) }}

  • 一维数组在内存中一定是连续存放的。
  • 二维数组是一维数组的一维数组。
  • 二维数组中的每个一维数组在内存中都是连续存放的。
  • 二维数组在内存中可以不是连续存放的。
  1. 下列关于 C++ 语言中函数的叙述,正确的是( )。

{{ select(12) }}

  • 函数必须有名字。
  • 函数必须有参数。
  • 函数必须有返回值。
  • 函数定义必须写在函数调用前。
  1. 一个二维数组定义为 double array[3][10];,则这个二维数组占用内存的字节大小为 ( )。{{ select(13) }}
  • 3030
  • 6060
  • 120120
  • 240240
  1. 如果 aaint 类型的变量,且 aa 的值为 66,则执行 a &= 3;之后,aa 的值会是( )。{{ select(14) }}
  • 33
  • 99
  • 22
  • 77
  1. 以下哪个函数声明在调用时可以传递二维数组的名字作为参数?( ){{ select(15) }}
  • void BubbleSort(int a[][4])
  • void BubbleSort(int a[3][])
  • void BubbleSort(int a[][])
  • void BubbleSort(int ** a)
  1. 整数 5-51616 位补码表示是( )。{{ select(16) }}
  • 1005
  • 1006
  • FFFA
  • FFFB
  1. 2-21616 进制是 FFFE,则短整数 4-4 的十六进制是( ){{ select(17) }}
  • FF04
  • FFFA
  • FFFC
  • FFFH
  1. 下面 C++ 代码执行后的输出是 ( )
int main()
{
    cout << (3 | 16);
    return 0;
}

{{ select(18) }}

  • 33
  • 1616
  • 1919
  • 4848
  1. 定义整数 int x = -5 ,则执行 C++ 代码 cout << (x == (x << 1 >> 1)) 输出是() {{ select(19) }}
  • 00
  • 11
  • 5-5
  • 55
  1. 已知字符 0ASCII 编码的十进制表示为 4848,则执行下面 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;
    return 0;
}

{{ select(20) }}

  • 1010
  • 5858
  • 154154
  • 316316
  1. C++ 中,与 for(int i = 10; i < 20; i +=2) cout << i; 输出结果相同的是( )。 {{ select(21) }}
  • for(int i = 10; i < 19; i +=2) cout << i;
  • for(int i = 11; i < 19; i +=2) cout << i;
  • for(int i = 10; i < 21; i +=2) cout << i;
  • 以上均不对
  1. 以下 C++ 代码实现从小到大的顺序输出能整除 nn 的数(nn 的因子),例如 n=18n=18 时输出 1 2 3 6 9 18,横线处应填入( )。
cin >> n;
for (____)
{
    if (n % i == 0)
        cout << i << " ";
}

{{ select(22) }}

  • int i = 0; i < n; i++
  • int i = 1; i < n; i++
  • int i = 0; i < n+1; i++
  • int i = 1; i < n+1; i++
  1. 下面 C++ 代码用于判断输入的整数是否为对称数,如1221、12321 是对称数,但 123、972 不是对称数。下面对该题对应代码的说法,正确的是( )。
int n, sum = 0;
cin >> n;
while (n)
{
    sum = sum * 10 + n % 10;
    n /= 10;
}
if (sum == n)
    cout << n << "是对称数";

{{ select(23) }}

  • 代码没有语法错误,如果 nn 为对称数,第 99 行将能正确输出。
  • 代码没有语法错误,但如果 nn 为负数,将导致死循环。
  • 代码存在语法错误,程序不能被执行。
  • 代码没有语法错误,但不能达到预期目标,因为循环结束 nn 总为 00
  1. 下面 C++ 代码执行后的输出是( )。
int n = 4;
for (int i = 0; i < n; i++)
{
    for (int j = 1; j < i; j++)
        if (i * j % 2 == 0)
            cout << i << "#";
    continue;
}
cout << "0";

{{ select(24) }}

  • 2#3#0
  • 1#2#0
  • 1#0#
  • 2#3#
  1. 以下 C++ 代码用于输出 11001\sim 100(含)的整数平方数(完全平方数),如 161644 的平方,横线处应填写( )
for (int i = 1; i < 100 + 1; i++)
    if (____)
        cout << i << " ";

{{ select(25) }}

  • int(sqrt(i)) * int(sqrt(i)) = i
  • int(sqrt(i)) = sqrt(i)
  • int(sqrt(i)) * int(sqrt(i)) == i
  • int(sqrt(i)) == int(i/sqrt(i))
  1. C++ 表达式 int(-123.123 / 10) 的值是( )。 {{ select(26) }}
  • 124-124
  • 123-123
  • 13-13
  • 12-12
  1. 输出 nnnn 列的矩阵,从左上到右下的对角线的数字都为 11,其余都为 00,横线处应填入( )。
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
    for (int j = 1; j <= n; j++)
    {
        if (____) cout << 1 << " ";
        else cout << 0 << " ";
    }
    cout << endl;
}

{{ select(27) }}

  • i = j
  • j != j
  • i >= j
  • i == j
  1. 下面 C++ 代码执行后的输出是( )。
int x = 1;
while (x < 100)
{
    if (!(x % 3)) cout << x << ",";
    else if (x / 10) break;
    x += 2;
}
cout << x;

{{ select(28) }}

  • 1
  • 3,9,11
  • 3,6,9,10
  • 1,5,7,11,13,15
  1. 输入行数,约定 1linecount91≤ linecount ≤ 9,输出以下图形。应在 C++ 代码横线处填入( )。

linecount = 4 时,图案如下所示。

      1
    1 2 1
  1 2 3 2 1
1 2 3 4 3 2 1
int linecount = 0;
cin >> linecount;
for (int i = 0; i < linecount; i++)
{
    for (int j = 0; j < _____; j++)
        cout << " ";
    for (int j = 1; j < i + 1; j++)
        cout << j << " ";
    for (int j = i + 1; j > 0; j--)
        cout << j << " ";
    cout << endl;
}

{{ select(29) }}

  • (linecount - i - 1) * 2
  • (linecount - i) * 2
  • linecount - i - 1
  • linecount - i
  1. 某班级人数不知,连续输入成绩直到输入负数停止 ,输入结束后求出平均成绩。在以下 C++ 代码横线处应填入是( )。
double sum = 0;
int num = 0;
while (___)
{
    double s;
    cin >> s;
    if (s < 0) break;
    sum += s;
    num += 1;
}
cout << "平均分:" << sum / s;

{{ select(30) }}

  • true
  • false
  • True
  • False

判断题

  1. 我们常说的互联网(Internet)是—个覆盖全球的广域网络,它不属于任何—个国家。 {{ select(31) }}
  • 正确
  • 错误
  1. 神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机 TOP500 排行榜中多次荣膺榜首。 {{ select(32) }}
  • 正确
  • 错误
  1. C++ 表达式 7.8 / 2 的值为 3.93.9,类型为 double。 {{ select(33) }}
  • 正确
  • 错误
  1. C++ 表达式 (2 * 3) || (2 + 5) 的值为 6767。 {{ select(34) }}
  • 正确
  • 错误
  1. 如果 aaint 类型的变量,则表达式 (a >= 5 && a <= 10)(5 <= a <= 10) 的值总是相同的。 {{ select(35) }}
  • 正确
  • 错误
  1. 任意整数 aa 的二进制反码与补码都有 11 位不同。 ( ) {{ select(36) }}
  • 正确
  • 错误
  1. 对整型变量 int a = 3,执行 C++ 代码 a << 2 将把 22 输出到 aa 中。( ) {{ select(37) }}
  • 正确
  • 错误
  1. C++ 语言中,字符数组被定义时,它的大小可以调整。() {{ select(38) }}
  • 正确
  • 错误
  1. 对定义的数组 int a[7]={2,0,2,4,3,1,6},可以用简单循环就找到其中最小的整数。() {{ select(39) }}
  • 正确
  • 错误
  1. 任何一个 for 循环都可以转化为等价的 while 循环。() {{ select(40) }}
  • 正确
  • 错误