信奥赛能力阶段性测试(二)

C++ 40分钟 总分 100.0 5 题
试卷题目预览
第1题 中级 20分 判断
运行以下程序后,变量a的值最终会变为20。

void modify(int *p) {
*p = *p + 10;
}
int main() {
int a = 10;
modify(&a);
return 0;
}

T. 正确
F. 错误
第2题 中级 20分 判断
在C++中,引用一旦初始化并绑定到某个变量后,可以通过赋值语句将其重新绑定到另一个变量。
T. 正确
F. 错误
第3题 中级 20分 判断
下面程序可以正确计算并输出3名学生的平均成绩。

struct Student {
int id;
int score;
};
int main() {
Student students[3] = {
{1, 90},
{2, 80},
{3, 100}
};
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += students[i].score;
}
double average = sum / 3.0;
cout << average << endl;
return 0;
}

T. 正确
F. 错误
第4题 中级 20分 判断
选择排序算法在寻找每一轮最小值时,如果遇到相等的元素不进行交换,则选择排序是一种稳定的排序算法。
T. 正确
F. 错误
第5题 中级 20分 判断
如果使用带flag的冒泡排序,且待排序数组一开始就是有序的,那么算法只需一轮扫描即可结束,时间复杂度为O(n)。
T. 正确
F. 错误
💬