#fx20261007. 高级班5月月测选择题

高级班5月月测选择题

1. \ 下列关于 C++ 结构体的描述,正确的是() {{ select(1) }}

  • 结构体中只能存放整型数据
  • 结构体可以把不同类型的数据组合成一个整体
  • 结构体定义后不能创建变量
  • 结构体内部不能定义多个成员

2. \ 定义一个表示学生的结构体,写法合法的是() {{ select(2) }}

  • struct Student { int id; string name; };
  • struct Student ( int id; string name; )
  • struct { int id; string name; } Student
  • Student struct { int id; };

3. \ 已有结构体定义: struct Person { int age; char sex; }; Person p; 访问变量 p 中年龄成员的正确写法是() {{ select(3) }}

  • Person.age
  • p->age
  • p.age
  • age.p

4. \ 以下关于 C++ 结构体变量初始化,语法正确的是() struct Book { string title; int price; }; {{ select(4) }}

  • Book b = {"语文", 20};
  • Book b = ("语文", 20);
  • Book b = title:"语文", price:20;
  • Book b; b = "语文";

5. \ 关于结构体数组 + sort 排序,说法正确的是() {{ select(5) }}

  • 结构体数组无需比较函数,直接 sort 即可
  • 必须自定义布尔类型的比较函数才能排序
  • sort 不支持对结构体数组排序
  • 比较函数可以是 void 类型

6. \ 对于普通整型数组 int a [5] = {3,1,4,2,5};,执行 sort (a,a+5) 后,数组最终顺序是() {{ select(6) }}

  • 5,4,3,2,1
  • 1,2,3,4,5
  • 3,1,4,2,5
  • 2,1,3,5,4

7. \ 默认情况下,sort 函数的排序规则是() {{ select(7) }}

  • 从大到小降序
  • 从小到大升序
  • 随机排序
  • 倒序乱排

8. \ 下列代码中,能够实现成绩升序的比较函数是() struct Stu {int sc;}; {{ select(8) }}

  • bool cmp(Stu a,Stu b){return a.sc < b.sc;}
  • bool cmp(Stu a,Stu b){return a.sc > b.sc;}
  • int cmp(Stu a,Stu b){return a.sc;}
  • void cmp(Stu a,Stu b){return a.sc<b.sc;}

9. \ 有结构体数组如下,若要对结构体数组使用 sort 排序,说法错误的是() struct Stu { int score; }; Stu s [10]; {{ select(9) }}

  • 可以自定义比较函数实现排序
  • 不能直接用默认 sort 排序结构体数组
  • 结构体数组完全无法使用 sort 函数
  • 可根据 score 分数高低排序

10. \ 自定义比较函数 cmp,实现分数从高到低排序,函数写法正确的是() struct Stu { int score; }; {{ select(10) }}

  • bool cmp(Stu x, Stu y){ return x.score > y.score; }
  • bool cmp(Stu x, Stu y){ return x.score < y.score; }
  • int cmp(Stu x, Stu y){ return x.score; }
  • void cmp(Stu x, Stu y){}

11. \ 已知 string s [3] = {"banana","apple","cat"};,执行 sort (s,s+3) 后第一个元素是() {{ select(11) }}

  • banana
  • apple
  • cat
  • 顺序不变

12. \ 下面代码片段中,结构体数组排序语句正确的是() #include struct Stu{ int num; }; Stu arr[5]; bool cmp(Stu a,Stu b){ return a.num < b.num; } {{ select(12) }}

  • sort(arr, arr+5, cmp);
  • sort(cmp, arr, arr+5);
  • sort(arr, 5, cmp);
  • sort(arr+5, arr, cmp);

13. \ 关于结构体数组,下列说法错误的是() {{ select(13) }}

  • 结构体数组每个元素都是一个结构体变量
  • 可以用循环遍历结构体数组所有成员
  • 结构体数组不能和 sort 配合使用
  • 结构体数组下标访问规则和普通数组一致

14. \ 执行 sort (a, a+3),其中 string a [] = {"z","a","m"},排序结果为() {{ select(14) }}

  • a, m, z
  • z, m, a
  • m, a, z
  • a, z, m

15. \ 遍历数组中第一个元素的数学成绩,正确写法是()

struct Score{ int chinese; int math; }; Score s[3];

{{ select(15) }}

  • s.math[0]
  • s[0].math
  • math.s[0]
  • s->math