笔试试卷(A)
时间:120 分钟
应聘职位:
专
业:
满分:100 分)
是否投递简历:□是
□否
(考试形式:闭卷
姓
院
名:
校:
联系方式:
题目 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 总分
分数
特别说明:本试题所涉及的内容如无特别说明,均运行于 32 位类 UNIX 系统下,4 字节对齐。
1. 栈的入栈顺序为 ABCDEFGHI,不可能的出栈顺序为
(4 分)
A.ABCHGFEDI
C.CBADEFGHI
B.CBAIHGFED
D.IHGFEABCD
2. 下段代码中,e =
enum numbers { a=-1, b=4, c=9, d=14, e}
3. MVC 模型的基本工作原理是基于
模式
A. 适配器 B. 类工厂 C. 观察者 D.单例
4. 在函数 Function 中, a, b, c 的值分别为
void Function(char str[100]) {
,
,
int a, b, c;
char* str2 = “Streamax”;
a = sizeof(str);
b = sizeof(str2);
c = strlen(str2);
}
5. ARP 协议的作用是( )
A、将端口号映射到 IP 地址
C、广播 IP 地址
6. 进程间通讯方式有哪些(至少列出三个)
7. 请完成以下程序代码段,使得输出 c=6
(4 分)
(4 分)
(6 分)
(4 分)
(6 分)
(6 分)
B、连接 IP 层和 TCP 层
D、将 IP 地址映射到 MAC 地址
class A{
Public:
A(){};
~A(){};
int Sum(int a, int b){ return a+b;}
int Mul(int a, int b){ return a*b;}
};
typedef int (A::*CallbackFun)(int, int);
int main()
{
CallbackFun func =
A* pA = new A();
int c = (pA->*func)(3, 3);
printf(“c=%d\n”, c);
;
}
8. 下面 result 值为
(4 分)
char *a
char *b
bool result = (a==b);
"streamax";
"streamax";
=
=
9. 下面函数中的 printf 执行后输出内容是
(6 分)
int function(int
{
a)
static
int b
=
10;
b += a;
return
b;
}
int main()
{
int c = 0;
=
=
int value1
int value2
printf("value1=%d
return
0;
function(2);
function(++c);
value2=%d\n",
value1,
value2);
}
10. 有宏定义 #define DOUBLE(x)
x+x
那么 int result = 3*DOUBLE(3); result =
11. 函数 call 定义如下,则 call(7) 结果是
int
{
call(int
x)
if(x == 0)
return
0;
else
}
return
cal(x-1) + (x/2);
(4 分)
(4 分)
(6 分)
12. 有如下结构体定义:
typedef struct _rmfs_mbr_part_info_
{
unsigned char active;
unsigned char start_head;
unsigned short start_sector:6;
unsigned short start_cyl:10;
unsigned int size;
unsigned long
unsigned char
VolumeLabel[11];
FileSysType[8];
}part_info_t;
typedef struct tag_msgmode{
char msg_id;
Union{
struct{
char name[32];
int id;
} mode1;
struct {
char year;
char month;
char day;
char hour;
char minute;
char second;
} mode2;
char padding[64];
}
} msg_mode_t;
则 sizeof(part_info_t)、sizeof(msg_mode_t)分别为:
,
。
13. 请列出你所知道的 const 的使用方式以及作用。
(12 分)
14. 有一个单向链表,请只遍历一遍单向链表,使单向链表逆序
(14 分)
15. 有一个 M*N(M>1,N>1)的矩阵, 让该矩阵顺时针旋转 90 度
(16 分)
16. (附加题)函数 int process_data(const char* data, int len)为一个数据处理函数,该函数要求在单位时
间 T 内相对均匀的调用 N 次(T 的单位秒, (T*25-1)<=N<=(T*25+1)),只写关键代码即可。注意该程序运行在嵌
入设备上,系统最小休眠单位 10 毫秒,需要考虑到系统在没有运行该代码时 CPU 资源较高时,process_data 本身
执行一次需要一定的时间(执行过程中未被中断的情况下 2 毫秒左右)。
(10 分)