C语言之07年华为面试题

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 159 收藏 0 点赞 0 评论 0

1、局部变量能否和全局变量重名?
  答:能,局部会屏蔽全局。要用全局变量,需要使用”::”
  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?
  答:extern
  可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变量,假定你将那个变量写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
  答:可以,在不同的C文件中以static形式来声明同名全局变量。
  可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

4、语句for( ;1 ;)有什么问题?它是什么意思?
  答:和while(1)相同。

5、do……while和while……do有什么区别?
  答:前一个:循环一遍再判断,后一个:判断以后再循环。
6、请写出下列代码的输出内容
  #include<stdio.h>
  main()
  {
   int a,b,c,d;
   a=10;
   b=a++;
   c=++a;
   d=10*a++;
   printf(“b,c,d:%d,%d,%d”,b,c,d);
   return 0;
  }
  答:10,12,120

7、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。
   分配方式有三种,请记住:
-- 静态存储区,是在程序编译时就已经分配好的,在整个运行期间都存在,如全局变量、常量。
-- 栈上分配,函数内的局部变量就是从这分配的,但分配的内存容易有限。
-- 堆上分配,也称动态分配,如我们用new,malloc分配内存,用delete,free来释放的内存。

8、队列和栈有什么区别?
  队列先进先出,栈后进先出。

9.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
  答:c用宏定义,c++用inline。

10.直接链接两个信令点的一组链路称作什么?
  答:PPP点到点连接。
    
11.接入网用的是什么接口?   
12.voip都用了那些协议?

13.软件测试都有那些种类?
  黑盒:针对系统功能的测试。    
  白合:测试函数功能,各函数接口。

14.确定模块的功能和模块的接口是在软件设计的那个队段完成的?
  答:概要设计阶段。

 

 

 

评论列表
文章目录