#A. [C++二级 模拟题] 客观题

    Type: Objective

[C++二级 模拟题] 客观题

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

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

  1. 以下选项中,符合 C++ 变量命名规则的是( )?

    {{ select(1) }}

  • Love!Luogu
  • 012AB
  • __GESP
  • P(AB)
  1. 下图为“5050 米跑步”评分流程图。若需满足:时间(tt)小于等于 77 秒为优秀;7799 秒为良好,大于 99 秒为需努力,则 A 处和 B 处分别应当填写( )? {{ select(2) }}
  • t>7t<=7
  • t<=7t>7
  • t>=9t<=7
  • t<=9t<=7
  1. C++ 语言中,变量 xx 为以下哪项时,可以使得表达式 sqrt(x) == abs(x) 成立?( ) {{ select(3) }}
  • 11
  • 22
  • 33
  • 44
  1. 一个正整数 nn 的双阶乘为不超过这个正整数且与它有相同的奇偶性的所有正整数的乘积,例如 5!!=1×3×5=155!!=1\times 3\times 5=15。以下 C++ 代码用于求解计算 n(n25)n(n \leq 25) 的双阶乘,横线处应当填写( )? {{ select(4) }}

    long long ans = 1;
    for (int i = 1; i <= n; i++) {
        if (________)
            ans *= i;
    }
    cout << ans << endl;
    
  • n % i == 0
  • n % i == i % n
  • n % 2 == i
  • n % 2 == i % 2
  1. 现需要输出一个边长为 nn 的,由字符 * 构成的等腰直角三角形,例如:当 n=4n=4 时如下图所示:
    image 以下 C++ 代码用于求解该问题,则横线处应当填入的代码为( )?
int n;
 cin >> n;
 for (int i = 1; i <= n; i++) {
     for (________)
         cout << ' ';
     for (int j = 1; j <= i; j++)
         cout << '*';
     cout << endl;
 }

{{ select(5) }}

  • int j = 1; j <= n - i; j++
  • int j = 1; j <= i; j++
  • int j = 1; j <= i; i++
  • int j = 1; j <= n - i; i++
  1. 下列 C++ 代码用于计算正整数 nn 各位数之和的立方,保证 1n10181 \leq n \leq 10^{18}。下面对于该代码,错误的说法是( )?
long long n, ans = 0;
cin >> n;
while (n > 0) {
    int x = n % 10;
    n /= 10;
    ans += x;
}
cout << ans * ans * ans << endl;

{{ select(6) }}

  • 变量 ans 定义为 int 类型,不会影响程序的输出结果。
  • 该程序的 while 循环可以改写为 for 循环。
  • 该程序的循环一共要执行 nn 次。
  • n=12345n=12345 时,输出为 33753375
  1. 下列代码用于判断一个不超过 10910^9 的正整数 nn 是否能被 3838 整除且出现过 3838。对于该代码,错误的说法是( )?
int n; cin >> n;
bool flag = 0;
if (n % 38 == 0) flag = 1;
while (n) {
    if (n % 100 == 38) {
        flag = 1;
        break;
    }
    n /= 10;
}
if (flag)
    cout << "Yes" << endl;
else
    cout << "No" << endl;

{{ select(7) }}

  • 该代码不存在语法问题,可以正常编译运行,且输出结果能达成预期该程序的 while 循环用于判断正整数 nn 中是否出现过 3838
  • 若删除 break 语句,不影响程序的输出结果
  • 若误输入了负数 nn,程序不会陷入死循环。
  1. 小洛编写了一个程序,用于练习加法。他的程序能生成两个随机自然数,小洛需要计算出这两个数的和。小洛需要正确计算 55 次程序才会退出。他的程序如下所示。对于该代码,错误的说法是( )?
srand(time(0));
int tot = 0;
while (tot <= 5) {
    int a = rand() % 10, b = rand() % 10, x;
    cout << a << "+" << b << "=";
    cin >> x;
    if (a + b == x) {
        cout << "Correct!" << endl;
        tot++;
    } else
        cout << "Wrong!" << endl;
}
cout << "Finish!" << endl;

{{ select(8) }}

  • srand(time(0)) 的意思是,以当前的系统时间作为初始种子,初始化随机数生成器。
  • 间隔一段时间运行该代码,rand() 函数可以产生不同的随机数数列。
  • 该代码中存在错误,会使得小洛实际需要正确计算 66 次才会退出程序。
  • 每次计算加法时的变量 aabb 必然不可能为相同的数。
  1. 已知 A 的 ASCII 码为 6565a 的 ASCII 码为 9797。则以下哪一行代码可以完成将输入的大写字母字符 ch 转化为小写字母后并输出?( ) {{ select(9) }}
  • cout << char(ch+32);
  • cout << char(ch+'32');
  • cout << char(ch+int('A')-int('a'));
  • cout << char(ch+'97');
  1. 下面 C++ 代码,若输入 n=12n=12,则运行后输出是( )?
int n, ans = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
   for (int j = i; j >= 1; j--) {
       if (i % j == 0 && n % j == 0) {
           ans += j;
           break;
       }
   }
}
cout << ans << endl;

{{ select(10) }}

  • 1212
  • 2828
  • 4040
  • 6060
  1. 下面 C++ 代码,若输入 n=12n=12,则运行后输出是( )? {{ select(11) }}

    int n, ans = 0;
    cin >> n;
    for (int i = 1; i <= n; i++) {
       int p = 0;
       for (int j = i; j >= 1; j--) {
           int k = j;
           for (; k >= 1; k--) {
               if (i % k == 0 && j % k == 0)
                   break;
           }
           if (k == 1) p++;
       }
       ans += p;
    }
    cout << ans << endl;
    
  • 44
  • 1010
  • 3232
  • 4646
  1. 下面 C++ 代码,若输入 n=12n=12,则运行后输出是( )? {{ select(12) }}

    int n, tot = 0, i;
    cin >> n;
    for (i = 2; tot < n; i++) {
        bool flag = true;
        for (int j = 2; j <= i - 1; j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }
        if (flag) tot++;
    }
    cout << i - 1 << endl;
    
  • 2929
  • 3131
  • 3737
  • 4141
  1. CCF CSP 非专业组所采用的评测机 CPU 具体介绍如下:
参数 数据
名称 Intel Core i7-8700K
主频 3.7GHz
一级缓存 384KB
二级缓存 1.5MB
三级缓存 12MB

该评测机有 32GB 的内存。在上述所提到的所有可以用于数据存储的硬件中,存取数据最快的是( )? {{ select(13) }}

  • 一级缓存
  • 二级缓存
  • 三级缓存
  • 内存
  1. 小洛要为班级同学讲解计算机网络知识,其中有一段内容如下: {{ select(14) }}

    IPv4 协议采用 3232 位地址,一共能够提供约 AA 个地址空间。随着互联网的不断发展,地址不断地被分配,地址资源日趋枯竭。因此,它正逐渐被使用 BB 位地址的 IPv6 协议所取代。

    以上的 AABB 分别应当填入( )?

  • 2312^{31}6464
  • 2312^{31}128128
  • 2322^{32}6464
  • 2322^{32}128128
  1. 计算机界的最高奖项是( )? {{ select(15) }}
  • 诺贝尔奖
  • 图灵奖
  • 菲尔兹奖
  • CCF 终身成就奖

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

  1. 78.12.123.95 是一个合法的 B 类 IPv4 地址。 {{ select(16) }}
  • ×
  1. FTP 协议是一种应用层协议,可以用于进行远程文件传输。 {{ select(17) }}
  • ×
  1. 高级语言比汇编语言程序更容易从一种计算机上移植到另一种计算机上。 {{ select(18) }}
  • ×
  1. 在 C++ 语言中,使用 STL 函数 c=max(a,b) 求解变量 a,ba,b 中的最大值时,若 aa 为 int 类型,而 bb 为 long long 类型,程序也可以正常运行。 {{ select(19) }}
  • ×
  1. 在 C++ 语言中,执行下列代码的结果为 3434
int ans = 0;
for (int i = 1; i <= 50; i++)
    ans += !!(i % 3);
cout << ans << endl;

{{ select(20) }}

  • ×
  1. 在 C++ 语言中,下列代码可以正常执行,输出一个实数。
cout << sqrt(-1) << endl;

{{ select(21) }}

  • ×
  1. 在 C++ 语言中,循环可以进行多层嵌套。循环层数嵌套多的代码,运行速度一定比层数嵌套少的代码慢。 {{ select(22) }}
  • ×
  1. AABB 是两个布尔类型表达式,则在 C++ 语言下,!(A && B)(!A) || (!B) 等价。 {{ select(23) }}
  • ×
  1. 在 C++ 语言中,可以定义一个名叫 cin 的变量名。 {{ select(24) }}
  • ×
  1. 已知:在 C++ 语言中,执行下列代码可以计算得到圆周率 π\pi 的近似值。
    你需要判断这一句话的正误:如果将 eps 的定义改为 const double eps=1e-6;,计算得到的 π\pi 更精确。
const double eps = 1e-3;
int main() {
    int sign = 1, n = 1;
    double ans = 0, term = 1;
    while (abs(term) >= eps) {
        ans += term;
        n += 2;
        sign = -sign;
        term = sign / (1.0 * n);
    }
    cout << fixed << setprecision(8) << ans * 4 << endl;
    return 0;
}

{{ select(25) }}

  • ×

202509C++二级模拟题

Not Claimed
Status
Done
Problem
3
Open Since
2025-9-21 0:00
Deadline
2025-9-29 23:59
Extension
24 hour(s)