上位机程序员笔试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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,现需要你完成一个函数将链表进行翻转。