笔试时间:2022年8月15日
1)
wchar_t wch[10]; cout << sizeof(wch) << endl; // 40
2)
int a = 2; int b = 1; int& c = a; b = c; c = 4; c = b; cout << a << endl;
3)
enum t { a = 10, b, c, d = 20 }
问c的值是多少
4)上网时,访问某网页却突然出现某个运营商的网页(电信、联通等),原因是?
A Doss攻击 B DNS劫掠 C mac地址欺骗 D 伪造DHCP服务器
选B。
5)公共变量a,在并发执行Test1和Test2之后,a的取值范围?
a = 0; // global void Test1() { for (int i = 0; i < 50; i++) a = a + 1; } void Test2() { for (int i = 0; i < 50; i++) a = a - 1; }
6)对于int a[10]; *pa = a
以下哪一个操作不能修改下标为3的元素的值?
A *(pa[3]) = 10 B a[3] = 10 C *(pa + 3) = 10 D *(&a[0] + 3) = 10
7)下面哪一个不是编译器的功能?
A 检查源程序是否有误 B 自动生成简单源代码 C 优化翻译中间代码 D 将源码译成目标代码
8)假设一个班有2/3的人会JAVA开发,2/5的人会PHP开发,那么至少有多少人两种同时都会?
剩下的一些不记得了……
给出一个学生信息管理系统,包括学生信息、课程信息等等,要求手写各种SQL语句(数据库都忘光了 直接寄)
1)16颗巧克力中有一颗空心(偏轻),给你一个天平,请设计方案找出不合格的那颗巧克力。
2)如果是N颗巧克力中有一颗空心呢?请给出设计方案。
三等分
从一个元素个数N > 20000的数组中寻找最大和最小值。给出算法。时间复杂度越低得分越高,不需要考虑空间复杂度
直接遍历的话是2n次比较
最优解:
给出vector<int> = {1, 2, 3, 4, 5}
。请使用for循环删除其中的偶数,打印其中的奇数
考点:迭代器失效问题