#3520. YCL 五级理论模拟题

YCL 五级理论模拟题

2022 五级C++ 模拟试卷3(理论部分)

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

  1. 下列关于数组的说法中,不正确的是: {{ select(1) }}
  • A 数组在定义时必须指定数组的大小
  • B 数组在定义时必须指定数组的类型
  • C 数组在定义时必须指定数组的名字
  • D 数组在定义时必须指定数组中元素的值
  1. 下列代码中,能实现判断一个字符ch是否为大写字母的是: {{ select(2) }}
  • A if (ch <='A' || ch>= Z')
  • B if (ch >='A' || ch<= 'Z')
  • C if (ch >= 'A' && ch <= Z')
  • D if (ch <= 'A' && ch >= Z')
  1. 关于形参和实参的描述,以下选项中正确的是: {{ select(3) }}
  • A 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
  • B 函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式
  • C 程序在调用时,将形参复制给函数的实参
  • D 函数定义中参数列表里面的参数是实际参数,简称实参
  1. 以下cmp函数中,能够实现结构体node按照y的大小从小到大排序的是: {{ select(4) }}
  • A bool cmp(node a, node b) { return a.y < b.y; }
  • B bool cmp(int a, int b) { return a.y < b.y; }
  • C boot cm(nade a, node b) { return a < b; }
  • D bol cp(nde a, nde b) { return a.y > b.y; }
  1. 现有一string字符串s = "student",下列关于代码 s = "I am a good " + s; 的说法正确的是: {{ select(5) }}
  • A 该代码运行后会报错
  • B 该代码运行后 s = "I am a good student"
  • C 该代码与 s = "I am a " + "good student"; 运行后的s相同
  • D 该表达式与 s += "I am a good "; 运行后的结果相同
  1. 以下关于箱排序的说法中,正确的是: {{ select(6) }}
  • A 箱排序中定义的box[] 数组用来存放被排序的数字
  • B 箱排序只能实现从大到小排序
  • C 箱排序在对小数进行排序时,需要进行预处理
  • D 箱排序可以对大小为 10^9 的数据进行排序
  1. 算法的时间复杂度是指: {{ select(7) }}
  • A 执行算法所需要的时间
  • B 算法的长度
  • C 算法执行过程所需要的基本运算次数
  • D 算法的指令条数
  1. 以下关于函数的说法正确的是: {{ select(8) }}
  • A 函数在使用前必须声明
  • B 函数必须有返回值
  • C 函数必须有输入参数
  • D 函数返回值可以是整个数组
  1. 现有一个m行n列的二维数组a,二维数组中每个元素的初始值都是1,则a[5][4]及其之前所有元素的总和是多少: {{ select(9) }}
  • A 5 * m + 4
  • B 5 * n + 4
  • C 5 * m + 5
  • D 5 * n + 5
  1. 现有一string字符串 s="YouAreAGoodStudent",以下说法中,不正确的是: {{ select(10) }}
  • A s.length() 的值为18
  • B s[5]对应的字符为'e'
  • C s[6]对应的字符ASCII码在97到122之间
  • D s可以通过字符串C+D(其中C="YouAre",D="GoodStudent")计算得到
  1. 以下关于数组的说法中,不正确的是: {{ select(11) }}
  • A 数组在定义时必须要指定大小
  • B 数组在定义时不能使用变量来指定大小
  • C 数组在定义时必须指定初始值
  • D 若定义了一个大小为10的数组,那么最后一项的索引是9
  1. 妈妈将啤酒和可乐分别倒入了桌子上的几个杯子里,每个杯子上都贴着一句话:第1个杯子上的是“所有杯子中都装着啤酒”,第2个杯子:“本杯子里装着可乐”,第3个杯子:“本杯子装的不是可乐”,第4个杯子:“有些杯子里不是可乐”。假如只有1个杯子上的话是真话,那么以下说法哪个是对的? {{ select(12) }}
  • A 第2个杯子的话一定是真的
  • B 第3个杯子的话一定是真的
  • C 第3个杯子里一定是可乐
  • D 第2个杯子里一定是可乐
  1. 下列关于结构体的定义中,正确的是: {{ select(13) }}
  • A struct student { int math; int id; };
  • B struct student { math,id; };
  • C struct student { int math; int id; struct student(int math, int id);
  • D (无完整选项内容,按原题呈现)
  1. 定义整型数组a[10],对于数组a说法正确的是: {{ select(14) }}
  • A a数组中的元素从a[0]到a[10]
  • B 可以直接使用cout << a; 来输出数组中的所有元素
  • C a数组中的最后一个元素是a[9]
  • D 可以使用 a = {0,1,2,3,4,5,6,7,8,9}; 来对数组进行赋值
  1. 以下关于string字符串的说法中,正确的是: {{ select(15) }}
  • A 字符串不是数字,所以不能进行比较
  • B 字符串是一个整体,不能单独拆出某一位
  • C 可以通过某些函数获得字符串的长度
  • D 字符串不能直接cout输出,必须一位一位输出

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

  1. 以下关于字符串常用函数的说法,正确的是: {{ multiselect(16) }}
  • A size() 函数可以计算出字符串的长度
  • B erase() 函数可以修改字符串中的字符为其他字符
  • C find() 函数可以查找该字符串中是否含有某些特定字符串
  • D substr() 函数可以截取字符串中的某一段
  1. 下列关于结构体的说法中,不正确的是: {{ multiselect(17) }}
  • A 结构体是一种自定义的数据类型
  • B 结构体中包含的变量必须是同一类型
  • C 结构体内不能包含函数
  • D 结构体定义时有了{ },所以最后可以不加分号
  1. 阅读程序,以下说法正确的是:
int fun(int a, int b) {
    int c=a;
    a=b;
    b=c;
    return a + b;
}
int main() {
    int a=2, b=3;
    int c=fun(a,b);
    cout << a << " " << b << " " << c;
    return 0;
}

{{ multiselect(18) }}

  • A 输出时,a 的值是 3
  • B 输出时,b 的值是 3
  • C 输出结果是:2 3 5
  • D 输出结果是:3 2 5
  1. 以下定义数组的语句中正确的有: {{ multiselect(19) }}
  • A int num[][3]={{1,0,2},3,4,6};
  • B int num[2][4]={{1,2},{3,4},{5,6}};
  • C int num[]={1,2,3,4,5,6};
  • D int num[][4]={1,2,3,4,5,6};
  1. A、B、C三名运动员参与了一次运动会,他们参加的比赛有排球、足球、篮球,并且3个人都得奖了。现在我们知道:(1)A的身高比足球运动员高;(2)足球运动员比C和篮球运动员都矮。请问以下说法中正确的是: {{ multiselect(20) }}
  • A 足球运动员是B
  • B 篮球运动员是B
  • C 排球运动员是C
  • D 足球运动员是C