欢迎来到弘毅网!本网站现已开通校园用户注册,校园用户仅限合作校园IP段内注册!已注册的校园用户账号可于校外免费访问本资源库!

文章列表

笔试题

当前位置:主页 > 求职就业 > 面试笔试 > 笔试题 > 正文

华为嵌入式笔试试题及答案

时间:2017-04-20 13:12 作者: 来源: 人气:

  华为从2001年开始即进入认证服务领域,并发布了基于数据通信的认证体系,如下是CN”人才”网小编整理的华为嵌入式笔试”试题”及答案,欢迎阅读参考!

  1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)

  int a = 4;

  (A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);

  a = ?

  答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;

  改后答案依次为9,10,10,11

  2.某32位系统下, C++程序,请计算sizeof 的值(5分).

  char str[] = “http://www.ibegroup.com/”

  char *p = str ;

  int n = 10;

  请计算

  sizeof (str ) = ?(1)

  sizeof ( p ) = ?(2)

  sizeof ( n ) = ?(3)

  void Foo ( char str[100]){

  请计算

  sizeof( str ) = ?(4)

  }

  void *p = malloc( 100 );

  请计算

  sizeof ( p ) = ?(5)

  答:(1)17 25 (2)4 (3) 4 (4)4 (5)4

  3. 回答下面的问题. (4分)

  (1).头文件中的 ifndef/define/endif 干什么用?预处理

  答:防止头文件被重复引用

  (2). #i nclude 和 #i nclude “filename.h” 有什么区别?

  答:前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件。

  (3).在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”声明?

  答:函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern "C"修饰的变

  量和函数是按照C语言方式编译和连接的。由于编译后的名字不同,C++程序不能直接调

  用C 函数。C++提供了一个C 连接交换指定符号extern“C”来解决这个问题。

  (4). switch()中不允许的数据类型是?

  答:实型

  4. 回答下面的问题(6分)

  (1).Void GetMemory(char **p, int num){

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

  }

  void Test(void){

  char *str = NULL;

  GetMemory(&str, 100);

  strcpy(str, "hello");

  printf(str);

  }

  请问运行Test 函数会有什么样的结果?

  答:输出“hello”

  (2). void Test(void){

  char *str = (char *) malloc(100);

  strcpy(str, “hello”);

  free(str);

  if(str != NULL){

  strcpy(str, “world”);

  printf(str);

  }

  }

  请问运行Test 函数会有什么样的结果?

  答:输出“world”

  (3). char *GetMemory(void){

  char p[] = "hello world";

  return p;

  }

  void Test(void){

  char *str = NULL;

  str = GetMemory();

  printf(str);

  }

  请问运行Test 函数会有什么样的结果?

  答:无效的指针,输出不确定

  5. 编写strcat函数(6分)

  已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);

  其中strDest 是目的字符串,strSrc 是源字符串。

  (1)不调用C++/C 的字符串库函数,请编写函数 strcat

  答:

  VC源码:

  char * __cdecl strcat (char * dst, const char * src)

  {

  char * cp = dst;

  while( *cp )

  cp++; /* find end of dst */

  while( *cp++ = *src++ ) ; /* Copy src to end of dst */

  return( dst ); /* return dst */

  }

  (2)strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?

  答:方便赋值给其他变量

  6.MFC中CString是类型安全类么?

(责任编辑:职场达人)