#219. YCL五级C++理论题,真题

YCL五级C++理论题,真题

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

1. 已知 int m = 0;,下面的表达式中与其他三个表达式的值不相同的是( )

{{ select(1) }}

  • m++
  • m += 1
  • ++m
  • m + 1

2. 关于形参和实参的描述,以下选项中正确的是( )

{{ select(2) }}

  • 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
  • 函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式
  • 程序在调用时,将形参复制给函数的实参
  • 函数定义中参数列表里面的参数是实际参数,简称实参

3. 对于一个 C++ 程序,以下叙述中正确的是( )

{{ select(3) }}

  • 程序的执行总是从 main 函数开始,在 main 函数结束
  • 程序的执行总是从程序的第一个函数开始,在 main 函数结束
  • 程序的执行总是从 main 函数开始,在程序的最后一个函数中结束
  • 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

4. 关于 hash 函数,下面说法正确的是( )

{{ select(4) }}

  • hash 函数提高了数据安全性
  • hash 函数可以用来对密码进行加密
  • hash 函数可以用来校验文件的一致性
  • 上面说的都对

5. 箱子里面有16张牌:红桃A、Q、4,黑桃J、8、4、2、7、3,草花K、Q、4、5、6,方块A、5。

无名从中取出一张,然后把点数告诉了有名,把花色告诉了真名。

无名让有名和真名去猜自己拿到的牌:

有名说:“我不知道这张牌。”

真名说:“我知道你不知道这张牌。”

有名说:“现在我知道了。”

真名说:“我也知道了。”

那么无名拿到的到底是什么牌?

{{ select(5) }}

  • 红桃A
  • 红桃4
  • 方块5
  • 方块A

6. 算法的时间复杂度是指( )

{{ select(6) }}

  • 执行算法所需要的时间
  • 算法的长度
  • 算法执行过程所需要的基本运算次数
  • 算法的指令条数

7. 若数组 amn 列,则在 a[i][j] 前的元素个数是( )

{{ select(7) }}

  • i * n + j
  • i * m + j
  • i * n + n + j
  • i * n + n + j + 1

8. 关于算法的描述,以下选项中说法错误的是( )

{{ select(8) }}

  • 算法是指解题方案的准确而完整的描述
  • 算法的复杂度主要包括时间复杂度和数据复杂度
  • 算法具有可行性、确定性、有穷性的基本特征
  • 算法的基本要素包括数据对象的运算和操作及算法的控制结构

9. 若有定义

int a[10], *p = a;

p + 5 表示( )

{{ select(9) }}

  • 数组元素 a[5] 的值
  • 数组元素 a[5] 的地址
  • 数组元素 a[6] 的地址
  • 数组元素 a[0] 的值加上 6

10. 已知

int a = 20, b = 1;

那么 a >> b 的结果是( )

{{ select(10) }}

  • 40
  • 20
  • 10
  • 1

11. 关于函数的描述,以下选项中错误的是( )

{{ select(11) }}

  • 函数名称不可赋给其他变量
  • 一条函数定义一个用户自定义对象
  • 函数也是数据
  • 函数定义语句可执行

12. 按照 “FILO” 原则组织数据的结构是( )

{{ select(12) }}

  • 队列
  • 链表

13. 已知数组定义如下

int a[10][10];

请问 a 数组的第 10 个元素是( )

{{ select(13) }}

  • a[0][10]
  • a[1][10]
  • a[0][9]
  • a[1][9]

14. 下列关于字符数组的赋值错误的是( )

{{ select(14) }}

  • char s[] = "goodluck";
  • char s[20] = "GoodLuck";
  • char s[] = {'g','o','o','d'};
  • char s[] = {"goodluck"};

15. 下列能将字符变量 c 中的小写字母转换成大写字母的操作是( )

{{ select(15) }}

  • c = c - 'A'
  • c = c - 26
  • c = c - 32
  • c = c + 'a' - 'Z'

二、多选题(每题 3 分,共 5 题)

16. 下面关于表达式 '9' - '0' 的值,说法错误的有( )

{{ multiselect(16) }}

  • 整数9
  • 字符9
  • 表达式不合法
  • 字符0

17. 阅读下面程序,选择正确说法( )

#include <iostream>
using namespace std;

int func(int a, int b)
{
    int c;
    c = a * b;
    b = a;
    return c;
}

int main()
{
    int a, b, c;

    a = 10;
    b = 100;

    c = func(a, b) + a;

    cout << c << endl;

    return 0;
}

{{ multiselect(17) }}

  • 执行该函数后,变量 a 的值为 10
  • 该函数名称为 func
  • 执行该函数后,变量 c 的值为 200
  • 执行该函数后,变量 b 的值为 100

18. 甲、乙、丙三个人在一起做作业,有一道数学题比较难。

当他们三个人都把自己的解法说出来以后:

  • 甲说:“我做错了。”
  • 乙说:“甲做对了。”
  • 丙说:“我做错了。”

在一旁的丁看到他们的答案并听了他们的意见后说:

你们三个人中有一个人做对了,有一个人说对了。

下面说法正确的是( )

{{ multiselect(18) }}

  • 甲说得对
  • 乙说得对
  • 丙做得对
  • 甲做得对

19. 以下叙述中错误的有( )

{{ multiselect(19) }}

  • 在 C++ 程序中无论是整数还是实数,只要在允许的范围内都能准确无误地表示
  • C++ 程序由主函数组成
  • C++ 程序由若干函数组成
  • C++ 程序中只允许包含一个函数

20. 无名、有名、真名三个人是好朋友。

他们中:

一个人下海经商 一个人考上重点大学 一个人参军

此外还知道:

无名的年龄比士兵大 大学生的年龄比有名小 真名的年龄和大学生的年龄不一样

下面说法可能正确的是( )

{{ multiselect(20) }}

  • 无名是大学生
  • 有名是商人
  • 有名是士兵
  • 真名是商人