#218. YCL五级模拟客观题

YCL五级模拟客观题

题目信息

  • 题目 ID:cpp-level5-simulation-1
  • 标签:C++、五级、模拟试卷、理论题、数组、字符串、排序、结构体、逻辑推理
  • 总分:45分(单选题30分+多选题15分)

题面

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

  1. 下列关于数组的说法中,不正确的是: {{ select(1) }}
  • 数组在定义时必须指定数组的大小
  • 数组在定义时必须指定数组的类型
  • 数组在定义时必须指定数组的名字
  • 数组在定义时必须指定数组中元素的值
  1. 某天,城市中发生了一起盗窃案,经过侦查,犯罪嫌疑人被锁定在甲、乙、丙、丁中,现对该四人进行审讯,得到结果如下,经查实,这四人中有1人说谎了,请问最终能判断出谁是犯罪嫌疑人: 甲:嫌疑人肯定不是我 乙:嫌疑人是丁 丙:嫌疑人是乙 丁:嫌疑人不是我 {{ select(2) }}
  1. 现有一string字符串s = "student",下列关于代码 s = "I am a good " + s; 的说法正确的是: {{ select(3) }}
  • 该代码运行后会报错
  • 该代码运行后 s = "I am a good student"
  • 该代码与 s = "I am a " + "good student"; 运行后的s相同
  • 该表达式与 s += "I am a good "; 运行后的结果相同
  1. 以下关于箱排序的说法,不正确的是: {{ select(4) }}
  • 箱排序中装箱的顺序决定了从大到小排序还是从小到大排序
  • 箱排序中拆箱的顺序决定了从大到小排序还是从小到大排序
  • 箱排序只能对一定数据量以内的数据进行排序
  • 箱排序不能直接对小数进行排序
  1. 下列代码中,能实现判断一个字符ch是否为大写字母的是: {{ select(5) }}
  • if(ch<='A'||ch>=Z')
  • if (ch>='A'||ch<='Z')
  • if(ch>='A' && ch<=Z')
  • if(ch<='A'&& ch>=Z)
  1. 妈妈将啤酒和可乐分别倒入了桌子上的几个杯子里,每个杯子上都贴着一句话,第1个杯子上的是“所有杯子中都装着啤酒”,第2个杯子:“本杯子里装着可乐”,第3个杯子:“本杯子装的不是可乐”,第4个杯子:“有些杯子里不是可乐”。假如只有1个杯子上的话是真话,那么以下说法哪个是对的? {{ select(6) }}
  • 第2个杯子的话一定是真的
  • 第3个杯子的话一定是真的
  • 第3个杯子里一定是可乐
  • 第2个杯子里一定是可乐
  1. 阅读以下代码,请问最终输出结果是:
main() {
    int cnt = 10, cur = 0;
    if (cnt % 5 == 0) cnt += 3;
    cnt += 5;
    cur++;
    cout << cnt << endl;
}

{{ select(7) }}

  • 30
  • 35
  • 18
  • 43
  1. 已知a为一整型变量,则表达式(a > 0) || (a == 0) || (a < 0) 的值是: {{ select(8) }}
  • true
  • false
  • a
  • 无法判断
  1. 现有二维数组定义如下:int a[9][5]; 以下哪个代码能够对数组进行完整的遍历: {{ select(9) }}
  • for(int i=1;i<9;i++) for(int j=0;j<5;j++) cout<<a[i][j];
  • for(int i=0;i<9;i++) for(int j=0;j<5;j++) cout<<a[i][j];
  • for(int i=1;i<9;i++) for(int j=1;j<5;j++) cout<<a[j][i];
  • for(int i=0;i<9;i++) for(int j=0;j<5;j++) cout<<a[j][i];
  1. 以下代码能够实现将大写字母转换成小写字母的是: {{ select(10) }}
  • c = c - 'A';
  • c = c - 'a';
  • c = c - 'a' + 'A';
  • c = c - 'A' + 'a';
  1. 以下关于数组的说法中,不正确的是: {{ select(11) }}
  • 数组在定义时必须要指定大小
  • 数组在定义时不能使用变量来指定大小
  • 数组在定义时必须指定初始值
  • 若定义了一个大小为10的数组,那么最后一项的索引是9
  1. 现有一个结构体的定义如下,对于该结构体的说法,不正确的是:
struct Student {
    int ID, math, chinese, english;
    double aver;
} stu[10];

{{ select(12) }}

  • 该结构体名是Student
  • 该结构体中包括5个成员变量
  • 程序中定义了一个stu类型的数组
  • 程序中定义的数组一共有10个元素
  1. 判断表达式:(a != 0) || (a == 0) && (a > 0) || (a < 0) 的值: {{ select(13) }}
  • true
  • false
  • a
  • 无法判断
  1. 以下关于sort函数的说法不正确的是: {{ select(14) }}
  • sort函数可以实现结构体的排序
  • sort函数可以实现从大到小排序
  • sort函数输入2个参数时一定会报错
  • sort函数默认从小到大排序
  1. 以下关于代码 sort(a + 1, a + n + 1); 的说法中,不正确的是: {{ select(15) }}
  • 该代码实现了a[1] 到a[n] 中所有元素的排序
  • 该代码的排序方式是从大到小
  • 该代码中sort函数没有返回值
  • 在使用该代码前,需要引用头文件

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

  1. A、B、C三名运动员参与了一次运动会,他们参加的比赛有排球、足球、篮球,并且3个人都得奖了。现在我们知道:(1)A的身高比足球运动员高;(2)足球运动员比C和篮球运动员都矮。请问以下说法中正确的是: {{ multiselect(16) }}
  • 足球运动员是B
  • 篮球运动员是B
  • 排球运动员是C
  • 足球运动员是C
  1. 小王、小张、小赵三个人是好朋友,他们中间其中一个人下海经商,一个人考上了重点大学,一个人参军了。此外他们还知道以下条件:小赵的年龄比士兵的大;大学生的年龄比小张小;小王的年龄和大学生的年龄不一样。则以下说法中,正确的是: {{ multiselect(17) }}
  • 小赵是大学生
  • 小张是士兵
  • 小王是士兵
  • 小王是商人
  1. 以下关于字符串常用函数的说法中,正确的是: {{ multiselect(18) }}
  • size() 函数可以计算出字符串的长度
  • erase() 函数可以修改字符串中的字符为其他字符
  • find() 函数可以查找该字符串中是否含有某些特定字符串
  • substr() 函数可以截取字符串中的某一段
  1. 下列说法中,不正确的是: {{ multiselect(19) }}
  • 在C++中,将变量定义为double就可以精准表示出所有小数
  • 在C++中,在程序中仅能定义一个函数
  • 在C++中,引用对应的头文件后,就能直接使用头文件中的函数
  • 在C++中,字符串string也是一种基本数据类型
  1. 阅读以下代码,下列说法中正确的是:
void fun(int a, int b) {
    int c = a + b;
    b = a;
    a = c;
}
int main() {
    int a = 2, b = 3;
    fun(a, b);
    cout << a << " " << b << endl;
    return 0;
}

{{ multiselect(20) }}

  • 最终输出的a是2
  • 最终输出的a是5
  • 最终输出的b是3
  • 最终输出的b是2