当前位置:才华君>社会工作>综合指导>

07威盛笔试题目 软件部门

综合指导 阅读(2.26W)

下午威盛笔试题目(软件部门)

07威盛笔试题目 软件部门

发信站: 饮水思源 (2007年10月27日20:06:42 星期六)

留给后人看看吧。积攒RP。

1.说明下面程序的作用。

func(char*a,char*b)

{

while(*a++=*b++);

return;

}

2.#include

#define ADD(p) {p++;(*p)++;}

Add(int *p) {p++;(*p)++;}

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

int main()

{

int *p=a;

ADD(p)

ADD(p)

printf("%d,%d,%dn",a[0],a[1],a[2]);

p=a;

Add(p);

Add(p);

printf("%d,%d,%dn",a[0],a[1],a[2]);

}

输出多少?

3.说明下面的的表达有没有不同,如果不同,请说明不同在哪里。

char* s1="hello";

char s2[]="world";

4.简述auto,static,register,extern四种存储类型的区别

count=0;

int x=2007

int main()

{

while(x)

{

count++;

x=x&(x-1);

}

return count;

}

问输出返回的`count值。

6.编程给一个程序,输入N,(1<=n<=20)给n*n的矩阵进行zigzag赋值,

即:N=0 时,a[0]=0;

N=4 时,a[4][4]=0 1 5 6

2 4 7 12

3 8 11 13

9 10 14 15

7.8个台阶,上台阶的人一次最多上3个台阶,问上这个8个台阶有多少种方法?

8.编写程序,产生一个8*8的数组,随即初始化该数组,然后编程查找该数组中值为1的元

素,讲该元素的所在的行列都赋为1.

9.a[2][2]={(0,1),(2,3)};

char *b=a[0];

char *b1=a[1];

char **c=b;

char **c1=b1;

printf("%c",b[0]);

printf("%c",b1[0]);

printf("%c",c[0]);

printf("%c",c[1]);

printf("%c",c1[0]);

printf("%c",c1[1]);

10. 下面定义了一个线段的结构体,

struct line

{

int startx;

int starty;

int endx;

int endy;

};

line line2[32];

编程求出每条线段和多少条其他线段相交。