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

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

题目信息

  • 题目 ID:cpp-level5-test-1
  • 标签:C++、五级、编程水平测试、理论题、数组、函数、算法、数据结构、逻辑推理
  • 总分:60分(单选题30分+多选题15分+编码题75分)

题面

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

  1. 已知 int m = 0;,下面的表达式中与其他三个表达式的值不相同的是: {{ select(1) }}
  • m++
  • m += 1
  • ++m
  • m + 1
  1. 关于形参和实参的描述,以下选项中正确的是: {{ select(2) }}
  • 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
  • 函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式
  • 程序在调用时,将形参复制给函数的实参
  • 函数定义中参数列表里面的参数是实际参数,简称实参
  1. 对于一个C++程序,以下叙述中正确的是: {{ select(3) }}
  • 程序的执行总是从 main 函数开始,在 main 函数结束
  • 程序的执行总是从程序的第一个函数开始,在 main 函数结束
  • 程序的执行总是从 main 函数开始,在程序的最后一个函数中结束
  • 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
  1. 关于 hash 函数,下面说法正确的是: {{ select(4) }}
  • hash 函数提高了数据安全性
  • hash 函数可以用来对密码进行加密
  • hash 函数可以用来校验文件的一致性
  • 上面说的都对
  1. 箱子里面有16张牌:红桃A、Q、4,黑桃J、8、4、2、7、3,草花K、Q、4、5、6,方块A、5。无名从中取出一张,然后把点数告诉了有名,把花色告诉了真名。无名让有名和真名去猜自己拿到的牌,有名说:“我不知道这张牌”,真名说:“我知道你不知道这张牌”,有名说:“现在我知道了”,真名说:“我也知道了”。那么无名拿到的到底是什么牌? {{ select(5) }}
  • 红桃A
  • 红桃4
  • 方块5
  • 方块A
  1. 算法的时间复杂度是指: {{ select(6) }}
  • 执行算法所需要的时间
  • 算法的长度
  • 算法执行过程所需要的基本运算次数
  • 算法的指令条数
  1. 若数组 amn 列,则在 a[i][j] 前的元素个数是: {{ select(7) }}
  • i * n + j
  • i * m + j
  • i * n + n + j
  • i * n + n + j + 1
  1. 关于算法的描述,以下选项中说法错误的是: {{ select(8) }}
  • 算法是指解题方案的准确而完整的描述
  • 算法的复杂度主要包括时间复杂度和数据复杂度
  • 算法具有可行性、确定性、有穷性的基本特征
  • 算法的基本要素包括数据对象的运算和操作及算法的控制结构
  1. 若有定义 int a[10], p = a;,则 p + 5 表示: {{ select(9) }}
  • 数组元素 a[5] 的值
  • 数组元素 a[5] 的地址
  • 数组元素 a[6] 的地址
  • 数组元素 a[0] 的值加上6
  1. 已知 int a=20, b=1; 那么 a>>b 结果是: {{ select(10) }}
  • 40
  • 20
  • 10
  • 1
  1. 关于函数的描述,以下选项中错误的是: {{ select(11) }}
  • 函数名称不可赋给其他变量
  • 一条函数定义一个用户自定义对象
  • 函数也是数据
  • 函数定义语句可执行
  1. 按照“FILO”原则组织数据的结构是: {{ select(12) }}
  • 队列
  • 链表
  1. 已知数组定义如下 int a[10][10];,请问 a 数组的第10个元素是: {{ select(13) }}
  • a[0][10]
  • a[1][10]
  • a[0][9]
  • a[1][9]
  1. 下列关于字符数组的赋值错误的是: {{ select(14) }}
  • char s[]= 'goodluck';
  • char s[20]= "GoodLuck";
  • char s[]={'g','o','o','d'};
  • char s[]={ "goodluck" };
  1. 下列能将字符变量 c 中的小写字母转换成大写字母的操作是: {{ select(15) }}
  • c = c - 'A'
  • c = c - 26
  • c = c - 32
  • c = c + 'a' - 'Z'

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

  1. 下面关于表达式 '9' - '0' 的值说法错误的有: {{ multiselect(16) }}
  • 整数9
  • 字符9
  • 表达式不合法
  • 字符0
  1. 下面关于C++函数说法正确的是:
#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
  1. 甲、乙、丙三个人在一起做作业,有一道数学题比较难,当他们三个人都把自己的解法说出来以后,甲说:“我做错了。”乙说:“甲做对了。”丙说:“我做错了。”在一旁的丁看到他们的答案并听了她们的意见后说:“你们三个人中有一个人做对了,有一个人说对了。”下面说法正确的是: {{ multiselect(18) }}
  • 甲说得对
  • 乙说得对
  • 丙做的对
  • 甲做的对
  1. 以下叙述中错误的有: {{ multiselect(19) }}
  • 在C++程序中无论是整数还是实数,只要在允许的范围内都能准确无误地表示
  • C++程序由主函数组成
  • C++程序由若干函数组成
  • C++程序中只允许包含一个函数
  1. 无名、有名、真名三个人是好朋友,他们中间其中一个人下海经商,一个人考上了重点大学,一个人参军了。此外还知道以下条件:无名的年龄比士兵的大;大学生的年龄比有名小;真名的年龄和大学生的年龄不一样。下面说法可能正确的是: {{ multiselect(20) }}
  • 无名是大学生
  • 有名是商人
  • 有名是士兵
  • 真名是商人