C 语言面试题目

1: 面向对象和面向过程的区别

      面向过程的代码  短小,但是重复利用率不高,不适用于模块化编程

      面向 对象的过程中,会建立对象的属性和行为。

      面向对象的过程中 ,代码的修改成本比较高,我们。   

      大型工程的时候,肯定要利用面向对象编程的特点。    

      面向对象编程的三大特点,封装,继承,多态。

     面向对象是一种思想,一种方法,不要太拘泥于编程语言。

2: 析构函数和构造函数有什么不同   

    类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。

    类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

3: python 中生成器和迭代器的区别:

     在Python中,这种一边循环一边计算的机制,称为生成器:generator,生成器是一个特殊的程序,可以被用作控制循环的迭代行为。 迭代器:

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter() 和 next()

     迭代器的特点:

  1.节省内存

  2.惰性运算

  3.不能反复,只能向下执行

      把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。

4: C语言如何面向对象编程:

https://www.jianshu.com/p/85e11e0a8495

https://blog.csdn.net/qq_40280582/article/details/80739873

5: 堆和栈有什么区别: 

    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其  
  操作方式类似于数据结构中的栈。  
  2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回  
  收   。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。  
  3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的  
  全局变量和静态变量在一块区域,   未初始化的全局变量和未初始化的静态变量在相邻的另  
  一块区域。   -   程序结束后由系统释放。  

6:  typedef int my_type;    my_type  可以替代int  这样写程序的时候便利性强。

7;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值