#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