上位机程序员笔试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题

1、_ _是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。

A. 继承(Inhertance)

B. 模板(Template)

C. 对象的自身引用(Self-Reference)

D. 动态绑定(Dynamic Binding)

2、应用层DNS协议主要用于实现网络服务功能。

A. IP地址到网络设备名字的映射

B. IP地址到网络硬件地址的映射

C. 网络设备名字到IP地址的映射

D. 网络硬件地址到IP地址的映射

3、数据库中只存放视图的。A.操作 B.对应的数据 C.定义 D.限制

4、下面结构体

struct s1 {

char ch, *ptr;

union {

short a, b;

unsigned int c:2, d:1;

}

struct s1 *next;

}; 的大小是_____:

A. 12字节

B.16字节

C.20字节

D. 24字节

5、任何一个基于"比较"的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为__ __。

A. 10

B. 11

C. 21

D. 36

6、以下不是进程间通讯的是__ _。

A. 共享内存

B. 信号量

C. 线程局部存储

D. 消息队列

7、下面程序,求count的值__ _。

int func(x)

{

int count= 0;

x=9999;

while(x)

{

Count ++;

x = x&(x-1);

}

return count;

}

A. 8

B. 10

C. 5

D. 11

8、使用malloc系统调用分配的内存是在____ 上分配的?

A. 栈

B. bss

C. 物理内存

D. 堆

9、考虑下列实例,设计一个数据库存储学校里的课程情况,在PROFESSORS 表中存储每一个教授的信息,在COURSES表中存储所有的课程的信息。每门课程被分配给一个指定的教授,而每一个教授可以教授几门课程,要求只有在PROFESSORS表中注册过的教授才能教授课程,而这个教授也只能教授那些在COURSES表中登记过的课程。

下列选项中___ ,有助于满足以上的要求。(选择一项)

A.在COURSES表中创建一个外鍵,引用PROFESSORS表

B. 在PROFESSORS表中建立一个主鍵,引用COURSES表

C. 在PROFESSORS表中创建一个外鍵,引用COURSES表

D. 在COURSES表中建立一个主鍵,引用PROFESSORS表

10、在一些数据库中,用户可以不请求数据库管理员为其建立特殊的存取路径,而存取路径的选择是由___ ,自动完成的。(选择一项)

A. DBA

B. OS

C. DBS;

D. DBMS

二、填空题

1、计算4^3 << 2=____ 。

2、希尔、冒泡、快速、插入四种排序____ 的平均速度最快。

3、“零值”可以是0、0.0、FALSE或者“空指针”。例如int变量n与“零值”比较的if语句为:if(n==0),则bool flag与“零值”比较的if语句为______________;float x与“零值”比较的if语句为:______ ___ ___;指针变量int* p 与“零值”比较的if语句______ ___ _。

4、C++中的虚函数用在什么地方?______ _ _ ___。

6、如果使用9600bps、偶校验位检查、8个位的数据、两个位的停止位来传输数据,那么传输一个含有800字节的字符串需要多久的时间___ 。

7、C++BUILDER中要通过串口发送16进制数,通常所定义的数据类型是__ 。

8.以下为C++Builder开发环境下的程序,请计算sizeof的值

char str[ ]= "Hello";

char *p=str;

int n=10;

请计算

sizeof(str)= ___ _

sizeof(p)= ____

sizeof(n)= ____

void *p = malloc( 100 );

请计算

sizeof ( p ) = ____

9、写出下列程序的运行结果____ 。

int arr[]={6,7,8,9,10};

int *ptr=arr;

(ptr++)+=123;

printf("%d,%d",*ptr,*(++ptr));

10、

char *GetMemory(void)

{

char p[] = "hello world";

return p;

}

void Test(void)

{

char *str = NULL;

str = GetMemory();

printf(str);

}

请问运行Test 函数会有什么样的结果____ 。

三、简答题

1、头文件中<> 和“”的区别?

2、析构函数什么时候运行,实现什么功能?

3、ICMP是什么协议,处于哪一层?

4、对数据库的一张表进行操作,同时要对另一张表进行操作,如何实现?

5、请叙述TCP/IP 建立连接的过程?

6、C++BUILDER中十进制转换成十六进制的函数是什么?此函数转的返回值是什么类型?若再转换回来,用到的函数又是什么?

7、我想在KeyPress事件中直接送出单击的字符,如何传出中文?

8、RS232与RS485相比,两者各有什么优缺点?

9、设备指明了停止位长度、数据位长度,但未指明起始位长度,这是为什么?

10、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?

四、详答题

1、假设使用X16+X12+X5+1作为生成多项式,试求十六进制数值(11010101)的CRC,并写出详细步骤?

2、下面为不带头节点的单链表的链表结构,

typedef struct Node {

int data;

Node * next;

}Node_t;

假设现在存在一个链表Link,现需要你完成一个函数将链表进行翻转。

相关文档
最新文档