sohu2012年实习生笔试题

1计算sizeof,strlen

char data[] ="hello\0world" ;

char *str ="hello\0world\0";

strcpy(data,str);

sizeof(data);

strlen(data);

解析:sizeof是计算变量所占内存大小的,strlen计算字符串大小

2 计算int a[3][3] = { {1,2,3},{4,5,6},{7,8,9}}

     int *p[3] = { a[0],a[1],a[2] };

     int *pa = a ;

 //类似指针域数组的问题

3. 大端模式、小端模式

4、内存对齐

5、static的问题,static函数与普通函数的区别,static变量与局部变量区别

6.define一个数组table的大小

#define  N  sizeof(table)/sizeof(table[0])

7 线程、进程的区别

8 tcp/UDP区别

9、2个栈实现一个队列

10.输出n个数里面k个最小的数

11.去掉字符串中重复的字符  “abbacdf”– “abcdf”

12找出字符串里面第一个没有重复的字符 “abaedef” 输出b

13 非递归二叉树

14 二叉树找错

15 利用移位、加减代替乘除运算

unsigned udiv_simple(unsigned n, unsigned d)
{
         unsignedq = 0, r = n;
         intwei = 31 ;
         do{
                   wei--;
                   if( (r >> wei) >= d )   
                   {
                            r-= (d << wei);
                            q+= (1 << wei);    
                   }    
         }while(wei);
         returnq;
}
int multiply_shift(int a , int b)
{
         inttemp = a ;
         intsum = 0 ;
         for(inti = 0 ; i <32 ;++i)
         {
                   if(b&(0x1<<i))
                            sum+= (temp<<i);
         }
         returnsum ;
}


16 实现一个计算器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值