一、问答题
1、-1,2,7,28,,126请问28和126中间那个数是什么?为什么?
答案:第一题的答案应该是4^3-1=63
规律是n^3-1(当n为偶数0,2,4)
n^3+1(当n为奇数1,3,5)
2、用两个栈实现一个队列的功能?要求给出算法和思路!
答案:设2个栈为A,B, 一开始均为空.
入队:
将新元素push入栈A;
出队:
(1)判断栈B是否为空;
(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;
(3)将栈B的栈顶元素pop出;
这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好.
3、在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?
答案:函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
long l;
char *str = "98765432";
l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
}
4.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
答案:c用宏定义,c++用inline
5.直接链接两个信令点的一组链路称作什么?
答案:PPP点到点连接
7.软件测试都有那些种类?
答案:黑盒:针对系统功能的测试 白合:测试函数功能,各函数接口
8.确定模块的功能和模块的接口是在软件设计的那个队段完成的?
答案:概要设计阶段
9.enum string{x1,x2,x3=10,x4,x5,}x;问x?
答案:取值在0.1.10.11.12中的一个
10.
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问p1+5=?p2+5=?
答案:801005; 810014.不要忘记了这个是16进制的数字,p2要加20变为16进制就是14
1.请问下面程序有什么错误?
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
答案:把循环语句内外换一下
2.以下是求一个数的平方的程序,请找出错误:
#define SQUARE(a) ((a)*(a))
int a=5;
int b;
b=SQUARE(a++);
答案:这个没有问题,s(a++),就是((a++)×(a++))唯一要注意的就是计算后a=7了
3.以下代码的作用?
typedef unsigned char BYTE
int examply_fun(BYTE gt_len; BYTE *gt_code)
{
BYTE *gt_buf;
gt_buf=(BYTE *)MALLOC(Max_GT_Length);
......
if(gt_len>Max_GT_Length)
{
return GT_Length_ERROR;
}
.......
}
答案:要释放内存
1.IP Phone的原理是什么?
答案:IPV6
2.TCP/IP通信建立的过程怎样,端口有什么作用?
答案:三次握手,确定是哪个应用程序使用该协议
二、单选题
1.Ethternet链接到Internet用到以下那个协议?
A.HDLC
B.ARP
C.UDP
D.TCP
E.ID
答案:B
2.属于网络层协议的是:
A.TCP
B.IP
C.ICMP
D.X.25
答案:A
3.Windows消息调度机制是:
A.指令队列
B.指令堆栈
C.消息队列
D.消息堆栈
答案:C