07威盛筆試題目(軟件部門)

來源:巧巧簡歷站 2.78W

下午威盛筆試題目軟件部門
發信站: 飲水思源 (2007年10月27日20:06:42 星期六)

07威盛筆試題目(軟件部門)

留給後人看看吧。積攢RP。

1.説明下面程序的作用。  
func(char*a,char*b)
{
while(*a++=*b++);
return;
}


2.#include <stdio.h>
#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,%d/n",a[0],a[1],a[2]);
p=a;
Add(p);
Add(p);
printf("%d,%d,%d/n",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];
編程求出每條線段和多少條其他線段相交。


熱門標籤