http://hi.baidu.com/g882/blog/item/5142211f3d1d2efae0fe0b94.html

1、

#include <stdio.h>

union

{

int i;

char x[2];

}a;

void main(){

a.x[0]=10;

a.x[1]=1;

printf("%d",a.i);

}

运行结果:266

3、路由器与交换机的区别:

4、进程与线程的差别

A、操作系统只调度进程,不调度线程

B、线程共享内存地址空间,进程不共享

C、线程间可以共享内存数据,但进程不可以

D、进程间可以通过IPC通信,但线程不可以

5、下面排序算法的时间复杂度不是nlogn的是

二分法插入排序    快速排序    归并排序   堆排序

6、字符串匹配

void getnext(char *s,int next[])

{

int i,j;

i=0;j=-1;next[0]=-1;

while(s[i]){

if( ?){

++i;++j;next[i]=j;

}

else ?

}

}

int kmp(char *m,char *s,int next[]){

int i,j;

i=0;j=0;

while(m[i]){

if(j==-1||m[i]==s[j]){

++i;++j;

if(s[j]=='\0')

return ?;

}

else

j=next[j];

}

return -1;

}

7、某工作有5道工序,某个工作不能在最后做,请问有多少种工作情况

8、内存中有3页,初始为空,页面走向为4,3,2,1,4,3,5,4,3,2,1,5,分别使用先进先出,最近最少使用,理想页面置换算法,请问缺页次数是多少?

10,9,8 9,10,8 10,9,7 9,10,7

9、TCP具有但UDP不具有的特点不包括:

A、对上层应用而言,收到数据包的顺序与对方发送的顺序一致

B、源IP、目的IP均相同的数据包经过同样的路由路径

C、传输过程中个别数据包丢失,接收端存在检测机制

D、传输数据前必须使用握手方式建立连接

10、

#include <stdio.h>

int func(int n)

{

if(n==0)

return 3;

else

return (func(n-2)+func(n-1));

}

void main(){

printf("%d\n",func(13));

}

运行结果:无结果

11、括号匹配的检验

#include <stdio.h>

#include <stdlib.h>

#define TRUE 1

#define FALSE 0

#define STACK_INIT_SIZE 100

#define STACKINCREMENT 10

typedef int Status;

typedef char SElemType;

typedef struct

{

SElemType *base,*top;

int stacksize;

}SqStack;

Status InitStack(SqStack &S)

{

S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));

if(!S.base)return FALSE;

S.top=S.base;

S.stacksize=STACK_INIT_SIZE;

return TRUE;

}

Status Push(SqStack &S,SElemType e)

{

if(S.top-S.base>=S.stacksize)

{

S.base=(SElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));

if(!S.base)return FALSE;

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

}

*(S.top++)=e;

return TRUE;

}

Status Pop(SqStack &S,SElemType &e)

{

if(S.top==S.base)return FALSE;

e=*(--S.top);

return TRUE;

}

Status Cmp(SElemType a,SElemType b)

{

if(a-b==1)return TRUE;

else if(a-b==2)return TRUE;

else return FALSE;

}

Status Check()

{

SqStack S;

SElemType ch,e;

InitStack(S);

while((ch=getchar())!='\n')

{

if(ch=='('||ch=='['||ch=='{')Push(S,ch);

else if(ch==')'||ch==']'||ch=='}')

{

if(!Pop(S,e))return FALSE;

if(!Cmp(ch,e))return FALSE;

}

}

if(S.top==S.base)return TRUE;

return FALSE;

}

void main()

{

printf("括号匹配的检验\n\n请输入括号:");

if(Check())printf("正确!");

else printf("错误!");

}

======

http://blog.csdn.net/liyzh_inspur/article/details/2972381

第一题:
#include <stdio.h>
union
{
int i;
char x[2];
}a;
void main()
{
a.x[0] = 10;
a.x[1] = 1;
printf("%d",a.i);
}
答案:266

解析:

C语言中的联合体(UNION)的概念是,联合体中的多种数据类型共享同一个内存空间。就拿你举的例子来说: 
     在联合体a中定义了两种数据类型,字符数组x以及整形变量i.其中整形变量是16位的,数组大小为2的字符数组为8X2=16位。如此一来,编译器便会为联合体a在内存中开辟一个16位的空间,这个空间里存储联合体的数据,但是这个空间只有16位,它既是整形变量的数据,也是字符数组的数据。如果你的程序从字符数组的角度解析这个空间,那么它就是两个字符,如果你的程序从整型的角度解析这个空间,那么它就是一个整数。
     以你的程序为例子,现在已经开辟了一个16位的空间,然后我们假定现在空间还没有被赋值,为:
     00000000 00000000
    那么在运行完代码
    a.x[0] = 10;
    a.x[1] = 1;
    之后,16位的空间变为:
     00001100 00000001
    然后程序运行
    printf("%d",a.i);
    就是把联合体a当成一个整数来解析,而不是字符串数组。那么这样一来,程序就把这16位变成了一个完整的整数:
    (00000001 00001100)二进制 = (266)十进制
    注意,你可以看到程序在把16位弄成整数的时候把后面八位放在了前面,前面八位放在了后面。这个反序是计算机存储结构造成的,这个和联合体没有直接关系。如果感兴趣的话可以参考汇编语言。
    就是这个道理。

第二题:
main()
{
union{ /*定义一个联合*/
int i;
struct{ /*在联合中定义一个结构*/
char first;
char second;
}half;
}number;
number.i=0x4241; /*联合成员赋值*/
printf("%c%c/n", number.half.first, mumber.half.second);
number.half.first='a'; /*联合中结构成员赋值*/
number.half.second='b';
printf("%x/n", number.i);
getch();
}
答案: AB

解析:

  • 黄小非
  • 等级:
发表于:2008-03-30 15:48:125楼 得分:0
第二个例子同样,
union{ /*定义一个联合*/
    int i;
    struct{ /*在联合中定义一个结构*/
        char first;
        char second;
    }half;
}number;

定义了联合体number,这个联合体有两种数据类型,整形i(16位),以及一个结构体(struct half)(2个char,16位)。所以编译器为这个联合体开辟一个16位的空间:
00000000 00000000
然后赋值:
number.i=0x4241;
这个时候,联合体以整形的身份出现,16位的空间将被整体认为是一个整数赋值。
注意(0x4241)(16进制) = (01000010 01000001)二进制。还记得刚才说的,计算机存储的时候是反着存的吗,先存低位,再存高位(参考汇编语言),因此16位地址被赋值位
01000001 01000010
然后
printf("%c%c/n", number.half.first, mumber.half.second);
实际上是把16位空间以结构体half的角度解析,也就是两个char.
那么第一个:number.half.first = (01000001)二进制 = (65)十进制 = A(ASCII码)
同理number.half.second = B(ASCII码)
当然后头又给first和second赋值位"a"和"b",这样会把16位空间弄成是:
01100001 01100010
然后用
printf("%x/n", number.i);
就是把16位看成整数,记住高地位反过来
(01100010 01100001)二进制 =   (0X6261)16进制
所以结果就是:0x6261.

getch();
最后记得按任意键结束程序。

=======================

创新工场2011年校园招聘笔试题相关推荐

  1. 2011网易校园招聘笔试题

    1.写出输出:char array[] = "abcde"; char* s = array; cout<<sizeof(array)<<strlen(ar ...

  2. 2012九月十月腾讯,网易游戏,百度最新校园招聘笔试题

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题) 引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网易游戏,百度等各大公司最 ...

  3. 十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦 引言 笔试啊,笔试,面试啊,面试,找工作啊,找工作.此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网 ...

  4. 十月下旬腾讯 网易游戏 百度迅雷校园招聘笔试题集锦 第271 330题

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 十月下旬 ...

  5. 2014 WAP校园招聘笔试题

    2014 WAP校园招聘笔试题 Problem's Link:   http://www.doc88.com/p-6751117015483.html WAP公司笔试题 We are planning ...

  6. 2013搜狗校园招聘笔试题

    研习了Linux公社发布的2013搜狗校园招聘笔试题,还是有些收获的. //第一题:以下程序的输出是___________________ class Base { public:Base(int j ...

  7. 百度2015校园招聘笔试题

    百度2015校园招聘笔试题(自己凭记忆第一时间,记录了这么多,有些描述比较简单,请大神们补充) 一 .简答题(30分) 1. 进程和线程的联系与区别. 2. 简述数据库的存储过程及其优点. 3. st ...

  8. k个一组翻转链表 哔哩哔哩2020校园招聘笔试题/LeetCode_25(困难)讲解

    目录标题 一.题目信息 二.解题思路 三.代码实现 四.其他精选题目分享 一.题目信息 LeetCode版本 牛客网版本 下面我以牛客网为例写代码 题目需要先输入一组数字代表链表的值,以#代表结尾. ...

  9. 2014年360校园招聘笔试题,干货分享

    2014年360校园招聘笔试题,希望对将要找工作的同学有帮助,加油,绝对干货分享!!! 具体内容见附件! 转载请注明出处:http://blog.csdn.net/happy_cheng

最新文章

  1. Java架构演进之路
  2. Solr添加SolrDocument报错
  3. Ubuntu 17.4下如何安装和配置flash player
  4. python字典popitem和pop_python 字典之pop() and popitem()
  5. Mybatis返回值类型为Map时,空值给过滤掉了
  6. 浅谈csrf攻击以及yii2对其的防范措施
  7. 你不知道LinkedList中的方法
  8. 吉林省计算机二级证书用英语怎么说,吉林省全国高等学校计算机水平考试二级...
  9. 苹果折叠屏iPhone不会在明年推出 最快2025年出货
  10. MFC在其他类中访问主窗体的成员
  11. 【计算机网络笔记】编码与调制
  12. 理解WidowManager
  13. HashMap 的深入学习
  14. 基金行业数据安全保障体系建设探析
  15. 火山中文编程 -- 存款本息和
  16. python网址解码_python用于url解码和中文解析的小脚本(python url decoder)
  17. window.onload=function()是什么意思
  18. 翟菜花:国产游戏为什么还不适合出海“亮剑”
  19. wxformbuilder软件制作gui界面教程
  20. stm32跑web服务器和协议栈的区别,STM32与LAN9252构建EtherCAT从站(二):使用SSC生成协议栈和XML文件——丁丁的个人网站...

热门文章

  1. 「紧急推送」宅哥私藏的福利,24小时删!
  2. Springboot毕设项目美容院管理系统33877(java+VUE+Mybatis+Maven+Mysql)
  3. nodejs form post 到java 服务器端一直收不到数据,通过更改 headers 的 content-type; post 只能接收 application/x-www-form-url
  4. linux ssdb 安装 乱码,SSDB 命令行工具 ssdb-cli
  5. Day13-超文本标记语言
  6. Python Day 70 利用Django框架做的一个bbs小项目
  7. 小家电快充芯片,小家电type-C快充方案芯片 LDR6328S PD取电芯片
  8. 昨天、今天、明天的写法
  9. 【转】淮左白衣-解决maven管理SSM中mybatis的mapper文件扫描失败的问题
  10. 如何用matlab,frontcon函数画出有效市场边缘和资本市场线