• 百度笔试题及答案 > 百度笔试题
  • 百度笔试题

    免费下载 下载该文档 文档格式:PDF   更新时间:2008-10-02   下载次数:0   点击次数:2
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:Rachel Tundel
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    百度笔试题 2005
    题目大致是这样的: 第一部分选择题: 有几道网络相关的题目,巨简单,比如第一题是 TCP,RIP,IP,FTP 中哪个协议是传输层的.......有一道 linux 的 chown 使用题目.其他的全是数据结构的题目!什么链,表,码的,不知所云.唉,我可以没有学过数据结构的人呐!真残忍!这 一部分迅速猜完! 第二部分简答题: 1,在 linux 中如何编译 C 程序,使之成为可执行文件 如何调试 答案: 1)检查程序中.h 文件所在的目录,将其加入系统 PATH 中; 2)执行 C 编译:#gcc [源文件名] -o [目标文件名] 执行 C++编译:#g++ [源文件名] -o [目标文件名] 3)改变目标文件为可执行文件:#chmod +x [目标文件名] 4)如需将多个可执行文件连续执行,可生成批处理文件: #vi [批处理文件名] 可执行文件 1 可执行文件 2 ......... 最后将该批处理文件属性该位可执行. 调试:在编译时使用-g 参数,就可以使用 gdb 进行调试. 2,写出内存分配和释放的函数,并指出区别. 答案: C 语言的标准内存分配函数:malloc,calloc,realloc,free 等. malloc 与 calloc 的区别为 1 块与 n 块的区别: malloc 调用形式为(类型*)malloc(size):在内存的动态存储区中分配一块长度为"size"字节的连续区域,返回该区域 的首地址. calloc 调用形式为(类型*)calloc(n,size): 在内存的动态存储区中分配 n 块长度为"size"字节的连续区域, 返回首地址 . realloc 调用形式为(类型*)realloc(*ptr,size):将 ptr 内存大小增大到 size. free 的调用形式为 free(void*ptr):释放 ptr 所指向的一块内存空间. C++中为 new/delete 函数. 3,写出 socket 函数,并指出其功能. socket():建立 socket 通信描述符; bind():将套接字和机器上的一定的端口关联; connect():连接到远程主机;
    listen():使套接字做好连接的准备,规定等待服务请求队列的长度; accept():接受连接,一旦有客户端发出连接,accept 返回客户地址信息和一个新的 sock; 有了这个新的 sock,双方就可以开始收发数据: send()和 recv():用于流式套接字或者数据套接字的通讯; sendto()和 recvfrom():用于无连接的数据报套接字; close():关闭套接字; shutdown():选择性的关闭套接字,可以只允许某一方向的通讯关闭; getpeername():返回流式套接字时对端 peer 信息; gethostname():返回程序所运行的机器的主机名字; gethostbyname():返回本机 IP;
    第三部分编程题: 1,从文件中读取字符串数据,反序显示并大小写转换. 2,给定 26 字母表以及对应的密码表,编程实现加密及解密功能. 第四部分思考题(正是传说中的字典纠错题): 用户在输入英文单词时经常出错,现对其进行就错.给定一个正确的英文词典,考虑纠错实现. 1)指出思路.2)流 程 , 算法难易程度及可能的改进策略. 一道算法题目答案 int Replace(Stringtype &S,Stringtype T,Stringtype V);//将串 S 中所有子串 T 替换为 V,并返回置换次数 { for(n=0,i=1;i〈=Strlen(S)-Strlen(T)+1;i++) //注意 i 的取值范围 if(!StrCompare(SubString(S,i,Strlen(T)),T)) //找到了与 T 匹配的子串 { //分别把 T 的前面和后面部分保存为 head 和 tail StrAssign(head,SubString(S,1,i-1)); StrAssign(tail,SubString(S,i+Strlen(T),Strlen(S)-i-Strlen(T)+1)); StrAssign(S,Concat(head,V)); StrAssign(S,Concat(S,tail)); //把 head,V,tail 连接为新串 i+=Strlen(V); //当前指针跳到插入串以后 n++; }//if return n; }//Replace 分析:i+=Strlen(V);这一句是必需的,也是容易忽略的.如省掉这一句,则在某些情况下,会引起不希望的后果,虽然在大多数情况下 没有影响.请思考:设 S='place', T='ace', V='face',则省掉 i+=Strlen(V);运行时会出现什么结果 (无限递归 face)

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 百度招聘笔试题  百度客服笔试题  百度笔试题  软件测试笔试题及答案  java笔试题及答案  c语言笔试题及答案  会计笔试题及答案  会计招聘笔试题及答案  公务员笔试题及答案