您当前所在位置:
88好学网范文常识招聘应聘笔试华为C语言笔试题集合» 正文

华为C语言笔试题集合

[10-20 23:53:58]   来源:http://www.88haoxue.com  笔试   阅读:680

概要:全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,所占据的内存释放。操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载. 局部变量则分配在堆栈里面。7.8086是多少位的系统?在数据总线上是怎么实现的?答:8086的机器字长是16位,8086使用40个引脚的16个做地址/数据复用引腿来传输数据,一次读写过程由一个基本总线周期完成,它由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD、WR及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。可见,地址与数据信号不会同时出现在一个时钟(CLK)周期,二者可以分时复用同一组引线。我自己的答案:1.请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。OSI的七层

华为C语言笔试题集合,标签:笔试大全,http://www.88haoxue.com

  全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,所占据的内存释放。

  操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载. 局部变量则分配在堆栈里面。

  7.8086是多少位的系统?在数据总线上是怎么实现的?

  答:8086的机器字长是16位,8086使用40个引脚的16个做地址/数据复用引腿来传输数据,一次读写过程由一个基本总线周期完成,它由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD、WR及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。可见,地址与数据信号不会同时出现在一个时钟(CLK)周期,二者可以分时复用同一组引线。

  我自己的答案:

  1.请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。

  OSI的七层网络结构图:从上层到底层,依次为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

  TCP/IP 的五层结构图:从上层到底层,依次为:应用层,传输层,网络层,数据链路层,物理层

  2.请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?

  IP是英文Internet Protocol的缩写,即因特网协议,也就是为计算机网络相互连接进行通信而设计的协议。它在网络层上。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。TCP和UDP都是属于传输层协议,负责承担数据传输的任务,其中TCP属于可靠的面向连接服务,UDP是不可靠的无连接数据报服务。

  3.请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?

  交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备;路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。

  4.请问C++的类和C里面的struct有什么区别?

  (1)C++类中属性默认访问类型为private,而C中的struct默认的访问类型为public

  (2)C++类可以有继承,虚函数,多态,而C中struct不可以。C++给C中的struct功能扩展了。

  5.请讲一讲析构函数和虚函数的用法和作用。

  析构函数是用来释放所定义的对象中使用的指针,默认的析构函数不用显示调用,自建的析构函数要在程序末尾调用。

  虚函数可以让成员函数操作一般化,用基类的指针指向不同的派生类的对象时,基类指针调用其虚成员函数,则会调用其真正指向对象的成员函数,而不是基类中定义的成员函数(只要派生类改写了该成员函数)。若不是虚函数,则不管基类指针指向的哪个派生类对象,调用时都会调用基类中定义的那个函数。

  6.全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?

  (1)生命周期不同:

  全局变量随主程序创建和创建,随主程序销毁而销毁

  局部变量在局部函数内部,甚至局部循环体等内部存在,退出就不存在;

  (2)使用方式不同:通过声明后全局变量程序的各个部分都可以用到,内存中分配在全局数据区;局部变量只能在局部使用,分配在栈区

  操作系统和编译器通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载。局部变量则分配在堆栈里面 。

  7.8086是多少位的系统?在数据总线上是怎么实现的?

  8086是Inter的16位微处理器

  有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据

  内部数据总线都是按16位设计的,单外部数据总线只有8条

  8086是16位的处理器。内部及外部总线条数都是16条。分别是从d0~d15. 数据总线外联2片8286数据收发器。在小型机中,也可以直接外接其他输入。

  ⑧华为笔试题目 找错

  [cpp] view plaincopyprint?

  Void test1()

  {

  char string[10];

  char* str1=”0123456789”;

  strcpy(string, str1);

  }

  Void test2()

  {

  char string[10], str1[10];

  for(I=0; I<10;I++)

  {

  str1[i] =’a’;

  }

  strcpy(string, str1);

  }

  Void test3(char* str1)

  {

  char string[10];

  if(strlen(str1)<=10)

  {

  strcpy(string, str1);

  }

  }

  2. 找错

  [cpp] view plaincopyprint?

  #define MAX_SRM 256

  DSN get_SRM_no()

  {

  static int SRM_no;

  int I;

  for(I=0;I{

  SRM_no %= MAX_SRM;

  if(MY_SRM.state==IDLE)

  {

  break;

  }

  }

  if(I>=MAX_SRM)

  return (NULL_SRM);

  else

  return SRM_no;

  }

  3. 写出程序运行结果

  [cpp] view plaincopyprint?

  int sum(int a)

  {

  auto int c=0;

  static int b=3;

  c+=1;

  b+=2;

  return(a+b+C);

  }

  void main()

  {

  int I;

  int a=2;

  for(I=0;I<5;I++)

  {

  printf(“%d,”, sum(a));

  }

  }

  4.

  [cpp] view plaincopyprint?

  int func(int a){

  int b;

  switch(a){

  case 1: 30;

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页


Tag:笔试笔试大全招聘应聘 - 笔试
》《华为C语言笔试题集合》相关文章