GESP2026年6月认证C++四级( 第二部分判断题(1-10))精讲

发布时间:2026/7/2 7:20:31
GESP2026年6月认证C++四级( 第二部分判断题(1-10))精讲 第1题 指针修改变量★★★★★答案√1、看程序void modify(int *p) { *p *p 10; } int main() { int a 10; modify(a); }判断最后 a 是否变成202、故事魔法遥控器1小杨有一个魔法遥控器。变量a 102把a交给函数。3注意a不是数字10。而是a的地址。(4) 于是p拿到了地址。关系图p ↓ a105执行*p*p10;意思就是找到a把里面的数据改掉。6于是a 10 ↓ 203、判断✔ 正确。第2题 引用重新绑定★★★★★答案×1、题目说引用初始化以后可以重新绑定到另一个变量。这是错误的。2、故事身份证1引用是什么想象小明 身份证身份证一旦属于小明。以后不能改成小红2例如int a5; int b8; int ra;3现在r ↓ a4如果写rb;很多同学认为r ↓ b5其实不是真正发生的是ab;变成a8 b86引用没有改绑。它一直都是↓ a7因此引用一旦绑定终身不变。8所以判断×错误。3、记忆口诀引用不能改主人只能改主人的值。第3题 平均成绩★★★答案√1、看程序sum students[i].score; double average sum / 3.0;1是不是整数除法不是。因为3.0是double于是整个运算自动提升成double2例如270 / 3.0 90.0是可以得到正确平均数。所以判断✔ 正确。2、如果写成sum/3那就是整数除法。例如271/3 90小数直接没了。第4题 选择排序稳定吗★★★★★★答案×1、题目说如果相等元素不交换选择排序就是稳定排序。很多同学觉得有道理啊。其实还是错。2、故事排队的小朋友1有三个孩子5A 5B 22第一轮找到最小2交换。3结果2 5B 5A注意位置还是变了。4所以相对顺序改变。因此选择排序不稳定。3、判断×错误。4.记忆口诀1稳定冒泡 插入 归并2不稳定选择 快速 堆一定要记下来。第5题 Flag优化冒泡排序★★★★★答案√1、题目说如果数组本来就是有序。带flag的冒泡排序只扫描一轮。正确吗2、故事老师检查队伍老师看看有没有站错。1第一遍检查1 2 3 4 52发现没人交换。于是flagfalse;3结束。所以只检查一遍。4时间复杂度就是O(n)这就是优化后的冒泡排序。3、因此判断✔ 正确。4、如果是普通冒泡呢普通冒泡不知道有没有排好。必须继续到最后。所以还是O(n²)第6题 二维数组省略维数★★★★★答案√1、题目int a[][2];合法。int a[][];非法。为什么2、故事宿舍楼1二维数组三层楼 每层2个房间2如果告诉编译器每层2个房间那么它就能算一共有多少层。3所以int a[][2]可以。4但是int a[][]连每层几个房间都不知道。编译器根本不会算地址。5因此非法。判断✔ 正确。记忆口诀第一维可以省。第二维绝不能省。第7题 时间复杂度★★★★★答案错误❌️应该是O(n²)1、程序for(i1;in;i) { for(j1;ji;j) cnt; }2、很多同学看到两层循环1我们算一下。第一轮1第二轮2第三轮3……最后n2总次数123... nn(n1)/2约等于n²/23所以时间复杂度为O(n²)判断错误❌️。3、记忆口诀遇见二重循环时间复杂度首先想到O(n²)第8题 cout重定向★★★★★★答案√1、看程序cout.rdbuf(fout.rdbuf());很多同学没见过。2、故事改变输出位置1原来cout ↓ 屏幕2现在位置改变为文件3于是coutGESP;不会显示。而是写进output.txt4最后cout.rdbuf(old_buf);又恢复回来。3、因此判断✔ 正确。4、知识点cout.rdbuf(...)就是重定向cout的输出。第9题 值传递★★★★★答案×1、看程序void recharge(int money) { money20; }调用recharge(card);最后coutcard;很多同学觉得会输出70。其实不会。2、故事值传递1函数是传值调用card ↓ 50money ↓ 50复印件修改的是money不是card2所以函数结束。复印件没了。真正的card仍然是503因此判断❌️错误。3、记忆口诀普通参数就是复制。引用地址才是真人。第10题 数组能不能★★★★★答案×1、看程序int a[5]; a;很多初学者认为数组也是地址。为什么不能2、故事门牌号数组名例如a虽然很多时候可以当地址使用。但是它不是变量。而是固定门牌号。3、例如a的开头是100号房你不能写100号房他是常量是不能变的。4、所以a;会编译错误。5、真正能的是int *pa; p;因为p是变量。地址可以改变。6、记忆口诀数组名是常量地址不能修改。所以a❌️错误。判断题110知识点总结题号考察知识答案必须掌握第1题指针传参修改变量√⭐⭐⭐⭐⭐第2题引用重新绑定×⭐⭐⭐⭐⭐第3题浮点除法√⭐⭐⭐⭐第4题选择排序稳定性×⭐⭐⭐⭐⭐⭐第5题Flag优化冒泡排序√⭐⭐⭐⭐⭐第6题二维数组省略维数√⭐⭐⭐⭐⭐第7题时间复杂度×⭐⭐⭐⭐⭐第8题rdbuf输出重定向√⭐⭐⭐⭐第9题值传递×⭐⭐⭐⭐⭐第10题数组名与指针区别×⭐⭐⭐⭐⭐⭐建议同学们牢牢记住下面六句话指针传地址可以修改外面的变量值传递只能修改副本。引用一旦绑定就不能重新绑定到其他变量。选择排序天生不稳定不会因为“不交换相等元素”就变稳定。二维数组第一维可以省略第二维绝不能省略。数组名是常量地址不是普通指针因此不能执行a。遇到123...n这样的循环次数总时间复杂度通常是O(n²)。