51Testing软件测试论坛
标题:
面试笔试题目,大家共享!
[打印本页]
作者:
xixio
时间:
2006-2-17 21:37
标题:
面试笔试题目,大家共享!
一.
编程题:
请写出实现下面功能的转换程序,输入一个32-bit整数(4字节),将此整数二进制码中的模式 001 替换为 011 ,将替换后结果作为返回值返回。
函数原型: long replace_pattern(long inputInt);
二.
完成函数 void reverse_str(unsigned char *str);
功能:将输入字符串 str 转换成 各字节顺序从尾到头排列的新字符串。
输入:str, 要被翻转处理的字符串,以 0 结尾。
输出:str, 翻转后的结果,以 0 结尾。
要求:使用最小的内存空间(数据部分)
三.
分析题:
若干台电脑通过一个NAT Gateway共享一条线路上网,仅仅通过在这条线路(WAN口)上抓网络数据包,怎样可以知道局域网内有多少台电脑在共享上网?
四.
算法题:
某数值计算需要进行大量余弦函数cos(x)的运算,要求精确到0.001,请给出一个快速计算的算法,不要求将程序写出来,但要将实现思路清晰表达,必要时可以辅以C语言的程序片段。
五.
算法题:
计算机在发送IP包前,需要通过在ARP表中查找该IP对应的MAC地址,请选择合适的数据结构来管理ARP表,不要求将程序写出来,但要将实现思路清晰表达,必要时可以辅以C语言的程序片段。
作者:
ytdwyydy99
时间:
2006-2-20 11:52
这是面试测试么?我怎么觉得是面试开发的呢.
作者:
Horus_Ra
时间:
2006-2-21 13:03
现在的公司总是希望做测试的编程要懂,系统要懂,网络要懂,英语要懂,又要有经验,又要学校好,又要人品好,又要长相好,又要工资低,又要肯加班……
作者:
gyjuan
时间:
2006-2-21 18:27
标题:
哈哈
楼上说的可真具体
作者:
胖子
时间:
2006-2-25 14:24
dream
作者:
zhqling
时间:
2006-3-1 09:45
标题:
前面两题不知道有没有人回做
还望高手答复
作者:
blackskin
时间:
2006-6-27 16:41
标题:
真实答案
1)请写出实现下面功能的转换程序:
输入一个 32-bit 整数 ( 4字节 ),从高位到低位,将此整数二进制码中的模式 101 替换为 011,
将替换后结果作为返回值返回。
函数原型:long replace_pattern(long inputInt);
回答:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
long replace_pattern(long inputInt)
{
char bits[33],*p=bits,e;
long re=0,i=0;
unsigned long mask=0x80000000;
while(mask)bits[i++]=((mask&inputInt)?49:48),mask>>=1;
bits
=0;
while(p=strstr(p,"101"))
{
e=*(p+3),*(p+3)=0;
strcpy(p,"011");
p+=3;
*p=e;
}
p=bits;
while(*p)re=re*2+*p-48,p++;
return re;
}
int main()
{
long n;
printf("Please Enter a Number:\n");
scanf("%ld",&n);
printf("After replace :%ld\n",replace_pattern(n));
system("PAUSE");
return 0;
}
2)完成函数 void reverse_str(unsigned char *str);
功能:将输入字符串 str 转换成 各字节顺序从尾到头排列的新字符串。
输入:str, 要被翻转处理的字符串,以 0 结尾。
输出:str, 翻转后的结果,以 0 结尾。
要求:使用最小的内存空间(数据部分)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void reverse_str(unsigned char *str)
{
int i;
unsigned char temp;
int num=0;
if(NULL == str) return;
while(str[num] != '0')
{
num++;
}
for(i=0;i<num/2;i++)
{
temp = str
;
str
= str[num-1-i];
str[num-1-i] = temp;
}
}
int main()
{
char *str="abcdefghijk0";
printf("Please Enter a String :%s\n",str);
reverse_str(str);
printf("After reverse :%s\n",str);
system("PAUSE");
return 0;
}
直接运行,绝对OK!
作者:
turning
时间:
2006-7-7 17:23
3楼的,真的是这样的么?
作者:
walker_lai
时间:
2006-9-2 19:47
高手哦!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2