早上去华工参加了茁壮网络C语言开发职位的笔试。考两份试卷,一份是综合测试,即是一些逻辑题和智力题;一份是专业测试。时间一小时。
专业题比较简单,趁现在记得,把考试题目记下。
问答题:
1. 编写一个宏SWAP,不使用中间变量实现两个无符合整数的交换。
#define SWAP (X, Y) (X) = (X) + (Y); (Y) = (X) - (Y); (X) = (X) - (Y)
2. 预编译器标识#error的目的是什么?
停止编译并生成错误信息
3. Static关键字是什么意思?用其修饰函数,局部变量,全局变量时分别有什么涵义?
Static静态存储,存放在静态存储区。
4. strncpy的参数是什么,后面一个参数什么意思?
原型:char * strncpy(char *dest, char *src, size_t n);
功能:将字符串src中最多n个字符复制到字符数组dest中(它并不像strcpy一样遇到NULL就开始复制,而是等凑够n个字符才开始复制),返回指向dest的指针。
5. 写一个TCP_Server程序,要调用哪些socket函数(写名字)?create(), listen(), accept(), receive()
ps: TCP_Client的话:create(), connect(), send()
6. 一个table T,有三个属性A, B, C, 写sql语句查询满足A > 0, B < 0的结果,并按C降序排序7. 各种排序算法的复杂度。8. 程序改错。编程题(三选一):
1. 实现对半查找。
2. 递归实现求1到1000的奇数和
3. 字符串倒转。