zoukankan      html  css  js  c++  java
  • iOS开发-面试总结(三)

    面试篇C语言精华 
     

    1、面向过程:分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实 现。 

    面向对象:直接描述客观世界的对象及其相互关系。现实世界中任何实体都 可以看作是对象,对象之间通过消息相互作用,利用面向对象编程,我们只关心 借口,不关心怎样实现。
    2、C++的三个特性:继承、封装和多态。

      继承:一个对象直接使用另一个对象的属性和方法。继承可以使子类具有父
    类的各种属性和方法,而不需要再次编写相同的代码。
    
      封装:在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制属性
    的读和修改的访问级别。目的是:增强安全性和简化编程。
    

    多态:接口多种不同的实现方式。同一个操作作用于不同的对象上可以有不 同的解释,并产生不同的执行效果。
    3、sizeof 

    是个运算符,用来判断数据类型以及表达式长度。字节数数的计算是 在编译时进行的。

    Sizeof(类型说明符、数组名或表达式)

    4、typedef:用来为复杂的声明定义简单的别名。它本身是个存储类的关键字。

    Typedef int newname:

    #define:宏定义又称为宏代换、宏替换。三大预处理功能之一,另外两个是 文件包含和条件编译。

    5、enum:

    枚举类型,在实际问题中,有些变量的取值范围被限制在一个有限的范 围内。为了说明这些量,引入了新的数据类型。

    6、Struct、class 构造函数理解:

    struct 和 class 最本质的区别就是默认的访问控制: Struct 默认的是 public,而 class 默认的是 private。 Struct:结构体类型,用于存放具有不同数据类型。 Class:类,是构造程序的基本单位。

    7、static:关键字。

    声明静态变量,存储在静态内存中。作用:保持变量持久和 隐藏。静态局部变量在程序执行到该对象的声明处的时被首次初始化,以后的函 数调用不再进行初始化。 8、Const:关键字。它限定一个变量不允许被改变。作用:在一定程度上可以提 高程序的安全性和可靠性。对别人理解程序也有一些帮助。同时,可以很方便地 进行参数的调整和修改。

    9、C 和 C++内存分配:

    (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序这个运行期间都存在。

    (2)在栈上创建。在执行函数时,由编译器自动分配和释放。

    (3)动态内存分配。由程序员自己决定分配,程序在运行时候用 malloc 或

    new 申请任意字节内存,然后由程序员自己负责在何时用 free 或 delete 释放内存。 这样动态内存的生存周期由程序员决定,使用起来比较灵活。

    char *p; p=(char*)malloc(size); .......
    free(p):

    int *p=new int; ........
    delete p;

    10、指针和引用: 引用:引用就是某一个变量的一个别名,对引用的操作与对变量的直 接操作

    完全一样。Inta;int & ra=a; 定义引用 ra,它是变量 a 的引用。

    区别:

    (1)引用不能为空,指针可以为空。

    (2)引用不可以改变指向,指针可以改变指向。 (3)引用的大小是所指向的变量的大小,而指针是指本身的大小。 (4)引用仅仅是个别名,而指针是个实体。

    11、函数的返回值:

    一个函数只能有一个返回值,超过一个返回值的函数可以使用指针或结构体变量。

    12、extern:

    声明外部变量或函数,已标示变量或函数的定义在别的文件中,提 示编译器遇到此变量或函数时,在其他模块中寻找其定义。

    13、Char*p=”sdfsdf”; 这种方法初始化的是常量字符串,所以 p 不能修改字符串 的内容。

    Char p[]=”sdfsdf”;

    P=”sdfsdf”;

    Char p[]=”sdfsdf”;

    这两个都是变量,可以修改。
    

    指针在 32 位系统下都占 4 个字节。

    14、数组名和指针: 

      数组名不是指针,数组名表示的是数组首元素的地址,是一个常量。
    

      指针存放的是一个变量的地址,它本身是个变量。 

    15、指针函数与函数指针: 

    • 指针函数:本身是一个函数,是返回值为某一类型指针的函数。 函数指针:本身是一个指针,该指针用来存放函数的地址。 函数指针的作用:一是实现面向对象中的多态性;二是回调函数。

    16、同步与异步: 

    • 同步:发出一个功能调用时,在没有得到结果之前,该调用不返回。
    • 也就是必须一件一件事做,等前一件事做完之后才能做下一件事。
    • 异步:发出一个功能调用时,调用者不能立即得到结果。实际处理这
    • 个调用的部件在完成后,通过状态、通知和回调来通知调用者。

    17、文件操作: 

    FILE *fp: fp=fopen(文件名,使用文件方式); ..........
    fclose();

  • 相关阅读:
    五种Sublime text 3同时快速编辑多行内容
    update 更新某个字段自动加1
    oracle 一行记录被锁
    事件
    练习题1
    语法
    开始js
    js简述
    概述
    软连接
  • 原文地址:https://www.cnblogs.com/stronger-ios-lcx/p/5629862.html
Copyright © 2011-2022 走看看