2005年华为招聘--C语言笔试试题及参考答案

来源:互联网 发布:矩阵特征向量的求法 编辑:程序博客网 时间:2024/04/28 22:51
为找工作提前做点准备,我打算将以前的一些公司的笔试题目整理出来并自己先做出答案,然后帖到这里和大家一起讨论,如果大家有兴趣,可以一起来交流讨论。

下面试题是去年华为招聘C笔试题目,我把做了一下帖上来,希望可以和大家一起交流!如有问题,欢迎各位指出,转载请注明出处,谢谢!        

2005年华为招聘--C语言笔试试题



一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)


1
有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。    (T    

2
int (*ptr) (),则ptr是一维数组的名字。                  (F


3
指针在任何情况下都可进行>,<,>=,<=,==运算。        (F

4
switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。(F

5
、#define print(x)  printf("the no, "#x", is ")                                         (T



二、填空题(共30分)


1
在windows下,写出运行结果,每空2分,共10分。

char
str[ ]= "Hello";

char
*p=str;

int
n=10;

sizeof
(str)=(  6    )

sizeof
(p)=(    4   )

sizeof
(n)=(    4   )



void
func(char str[100])

{    }


sizeof
(str)=(   4  )



2
void setmemory(char **p, int num)

{ *
p=(char *) malloc(num);}


void
test(void)

{
  char *str=NULL;

   setmemory(&str,100);

   strcpy(str,"hello");

   printf(str
);

}


运行test函数有什么结果?(              "hello
"                  )10分



3、int arr[]={6,7,8,9,10};


     int
*ptr=arr;

   *(
ptr++)+=123;

   printf("%d,%d",*ptr,*(++ptr));

(                8, 8                   ) 10分



三、编程题(第一小题20,第二小题30分)

1、  不使用库函数,编写函数int strcmp(char  *source, char *dest)

相等返回0,不等返回-1;

int strcmp(char *source, char *dest){    while ( (*source != '/0') && (*source == *dest))    {source++;dest++;    }    return ( (*source) - (*dest) ) ? -1 : 0;}
2、  写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
 
int fun(char *p){    int len = strlen(p) - 1;    char *q = p + len;    if (!p)        return -1;    while (p < q) {        if ((*p++) != (*q--))            return 0;    }    return 1;}

 
原创粉丝点击