#3520. YCL 五级理论模拟题
YCL 五级理论模拟题
2022 五级C++ 模拟试卷3(理论部分)
一、单选题(每题2分,共30分)
- 下列关于数组的说法中,不正确的是: {{ select(1) }}
- A 数组在定义时必须指定数组的大小
- B 数组在定义时必须指定数组的类型
- C 数组在定义时必须指定数组的名字
- D 数组在定义时必须指定数组中元素的值
- 下列代码中,能实现判断一个字符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')
- 关于形参和实参的描述,以下选项中正确的是: {{ select(3) }}
- A 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
- B 函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式
- C 程序在调用时,将形参复制给函数的实参
- D 函数定义中参数列表里面的参数是实际参数,简称实参
- 以下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; }
- 现有一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 ";运行后的结果相同
- 以下关于箱排序的说法中,正确的是: {{ select(6) }}
- A 箱排序中定义的box[] 数组用来存放被排序的数字
- B 箱排序只能实现从大到小排序
- C 箱排序在对小数进行排序时,需要进行预处理
- D 箱排序可以对大小为 10^9 的数据进行排序
- 算法的时间复杂度是指: {{ select(7) }}
- A 执行算法所需要的时间
- B 算法的长度
- C 算法执行过程所需要的基本运算次数
- D 算法的指令条数
- 以下关于函数的说法正确的是: {{ select(8) }}
- A 函数在使用前必须声明
- B 函数必须有返回值
- C 函数必须有输入参数
- D 函数返回值可以是整个数组
- 现有一个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
- 现有一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")计算得到
- 以下关于数组的说法中,不正确的是: {{ select(11) }}
- A 数组在定义时必须要指定大小
- B 数组在定义时不能使用变量来指定大小
- C 数组在定义时必须指定初始值
- D 若定义了一个大小为10的数组,那么最后一项的索引是9
- 妈妈将啤酒和可乐分别倒入了桌子上的几个杯子里,每个杯子上都贴着一句话:第1个杯子上的是“所有杯子中都装着啤酒”,第2个杯子:“本杯子里装着可乐”,第3个杯子:“本杯子装的不是可乐”,第4个杯子:“有些杯子里不是可乐”。假如只有1个杯子上的话是真话,那么以下说法哪个是对的? {{ select(12) }}
- A 第2个杯子的话一定是真的
- B 第3个杯子的话一定是真的
- C 第3个杯子里一定是可乐
- D 第2个杯子里一定是可乐
- 下列关于结构体的定义中,正确的是: {{ 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 (无完整选项内容,按原题呈现)
- 定义整型数组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}; 来对数组进行赋值
- 以下关于string字符串的说法中,正确的是: {{ select(15) }}
- A 字符串不是数字,所以不能进行比较
- B 字符串是一个整体,不能单独拆出某一位
- C 可以通过某些函数获得字符串的长度
- D 字符串不能直接cout输出,必须一位一位输出
二、多选题(每题3分,共15分)
- 以下关于字符串常用函数的说法,正确的是: {{ multiselect(16) }}
- A size() 函数可以计算出字符串的长度
- B erase() 函数可以修改字符串中的字符为其他字符
- C find() 函数可以查找该字符串中是否含有某些特定字符串
- D substr() 函数可以截取字符串中的某一段
- 下列关于结构体的说法中,不正确的是: {{ multiselect(17) }}
- A 结构体是一种自定义的数据类型
- B 结构体中包含的变量必须是同一类型
- C 结构体内不能包含函数
- D 结构体定义时有了{ },所以最后可以不加分号
- 阅读程序,以下说法正确的是:
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
- 以下定义数组的语句中正确的有: {{ 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};
- A、B、C三名运动员参与了一次运动会,他们参加的比赛有排球、足球、篮球,并且3个人都得奖了。现在我们知道:(1)A的身高比足球运动员高;(2)足球运动员比C和篮球运动员都矮。请问以下说法中正确的是: {{ multiselect(20) }}
- A 足球运动员是B
- B 篮球运动员是B
- C 排球运动员是C
- D 足球运动员是C