就业数据资源平台
当前位置:首页 > 笔试题目
07威盛笔试题目(软件部门)


下午威盛笔试题目(软件部门)
发信站: 饮水思源 (2007年10月27日20:06:42 星期六)


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


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



2.#include %26lt;stdio.h%26gt;
#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四种存储类型的区别



 



5.int count=0;
int x=2007


int main()



 


{


while(x)
{
count++;
x=x%26(x-1);
}



 


return count;


 


 


}
问输出返回的count值。


 


 


6.编程给一个程序,输入N,(1%26lt;=N%26lt;=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];
编程求出每条线段和多少条其他线段相交。


就业数据资源平台