就业数据资源平台
当前位置:首页 > 笔试题目
华为C语言笔试题


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


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


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


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


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


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


  二、填空题(共30分)


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


  char str[ ]= "hello";


  char *p=str;


  int n=10;


  sizeof(str)=( )


  sizeof(p)=( )


  sizeof(n)=( )


  void func(char str[100])


  { }


  sizeof(str)=( )


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


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


  void test(void)


  { char *str=null;


  getmemory(str,100);


  strcpy(str,"hello");


  printf(str);


  }


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


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


  int *ptr=arr;


  (ptr++)+=123;


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


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


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


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


  2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1


就业数据资源平台