总结了一些软硬件方面的笔试面试题
源代码在线查看: 017[1].威盛s3软件工程师3笔试.txt
威盛S3软件工程师3笔试ZZ
shury 发表于 2004-12-5 12:00:00
1。看程序写运行结果
m=5;
If(m++>5) printf(“%d\n”, m);
Else printf(“%d\n”, --m);
2.简述 AND, XOR, OR的功能
3.calloc和malloc的区别
4.3x3九点,四条连线
5.1x1x1, 2x2x2, 3x3x3的三个容器。每个容器只能灌一次,如何量出13ml的水。
有人这样回答:关于罐水 是否可解为:
因为是立方体所以其边长是可资利用的条件
把8的容器套进27的容器 1的容器套进8的容器
然后知从27的容器罐水 罐到与8的容器平齐 这时 27罐的水是3*3*2-8=10
继续向27容器倒水 水溢入到8的容器 罐到与8中1的容器平齐 这时8容器中的水是2*2*1-
1=3
27容器中的水加8容器中的水=10+3=13
如图所示 从左侧罐水一次
___________
| |
| _______|
| | |
| | ___|
|__|___|__|
6.求sizeof(p)
char *p=”hello!”
char p[]=”hello!”
void *p=malloc(100)
void Func(char p[100])
7.一段很长的程序,要求写出程序的意图。基本上是把字节指针pData指向的一块内存数
据复制到双字指针pwdData指向的内存区域。每次复制4字节,不足处补零。
8.
#define SQR(x) x*x
int a=10; int k=2; int m=1;
a/=SQR(k+m)/SQR(k+m);
a=?
9.一段程序找效率不高的地方。也是复制内存区域。
10.10个房间里放着随机数量的金币。每个房间只能进入一次,并只能在一个房间中拿金币。一个人采取如下策略:前四个房间只看不拿。随后的房间只要看到比前四个房间都多的金币数,就拿。否则就拿最后一个房间的金币。
a) 编程计算这种策略拿到最多金币的概率。
b) 证明这是不是最优策略。