C面试宝典讲解.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、数据类型 在C/C++中,数据类型分为两种,简单类型和结构类型,简单类型包括整数类型、字符类型、浮点类型、指针类型、枚举类型和void类型。 结构类型包括:数组、字符串、记录和文件。 C/C++中的基础数据类型分为三种:整型、浮点型和void型,其中不能定义void类型的变量,它仅仅是用于说明函数没有返回值和说明指针是无类型。 其中整型是用来表示 没有小数位的数,在 C/C++中,用来表示整数、字符、布尔值的算术类型合称为整型。在32位机器中,int和long的长度通常是相等的。 2 C/C++中的常量 通过关键字 const 常量也被称为常数,是指在程序运行之前就已经被确定,在程序的运行过程中不会发送改变。常量必须在定义的时候进行初始化。 常量本身没有地址属性(除字符串常量外),而变量有地址属性,所以常量只能做右值,而变量左值、右值都可以。 const char a=”test” 正确 char p; p=”test”; const test=p;错误;常量必须直接赋值。 3、 逻辑操作 逻辑操作分为逻辑或、逻辑与和逻辑非3种,其中逻辑或和逻辑非存在“短路求值”的情况。 C++中变量为程序提供了可以操作的有名字的存储区。 变量代表分配了一块存储区 变量代表这个存储区的名称 4 、C/C++中的左值和右值 实际上,左值是一个存储地址,也就是一块内存存储数据所要操作的地址,而右值是一个具体的数据或者数值,也就是该内存存储的数据内容。其中数字字面上是右值,不可以进行赋值。 左值可以出现赋值语句的左边或者右边,也就是说左值可以当右值使用,右值只能出现在赋值的右边, 在C++中变量在定义的时候没有初始化,它的值将是不确定的,不确定的值可能导致程序出现错误。 5 、变量的声明和定义的区别 声明分为定义性声明和引用性声明。其中引用性声明我 们叫做声明,定义性声明我们叫做定义,定义和声明最主要的区别在于定义要分配空间和声明不需要分配空间。 C++程序通常由许多文件组成,为了让多个文件访问相同的变量,声明通过关键字extern。表明该变量已经在别的文件中定义,此处只是使用一下。 变量只能定义一次,而声明可以存在多次。 4 、变量有哪几种存储类型 变量的存储类型是从时间上进行划分的,分别是静态存储方式和动态存储方式。 动态存储变量是指程序运行到该变量的时候才为其分配内存空间,当程序离开该变量所在的作用域时自动收回为其分配的存储空间。 5、 引用 C++中引入了引用的概念,引用的定义是在变量前加标识符,引用是一个对象的别名,是C++中对象的另外一个名字。引用的主要作用作为函数的形式参数。引用必须进行初始化,且初始化对象必须是一个对象,例如: int a=100; int refa=a;//refa引用 a int refa=b;//错误:引用必须初始化 int refa=10;//错误,初始化必须为一个对象(变量)。 6 C与C++有什么区别? C语言是结构化的编程语言,它是面向过程的,而C++是面向对象的。 C语言提供的3种预处理功能分别是:宏定义、文件包含和条件编译。 7 如何分配和释放存储空间 new在C++中是一个关键字,它的使用操作结果是在申请一段指定数据类型大小的的内存。使用方式为 指针变量=new 数据类型。new使用后处理的3件事情,如下所示: 计算指定数据类型所需的内存空间 正确的指针内存 分配内存,初始化分配内存 例: int *p; p=new int; p指向一段由new 分配而来的新内存空间,最终p存储的是一个变量的地址。 delete释放指针所指向的内存空间。 8 虚函数和纯虚函数 虚函数的主要作用是建立抽象模型,从而达到方便扩展系统的目的。 纯虚函数是虚函数的一个子集,用于抽象类,基类中不能对虚函数给出有意义的实习,它的实现留给派生类去做这就是纯虚函数,纯虚函数用于抽象类中,不能生成对象。 虚函数必须是基类的非静态成员函数,其访问权限不可以实private。可以是public或者protected。 为了方便多态性,引用了纯虚函数,在编译的时候需要在派生类中必须予以重载以实现多态性。 9 指针 指针是用来存储内存地址的变量,程序中的所有变量和常量都存储在内存地址中,这个内存地址表示变量和常量在内存中的存储位置,同样地,函数也是有内存地址的。指针用于指向对象,对对象的间接访问。 10 指针与数组 指针和数组有密切的关系,在表达式中使用数组名时,该数组名会自动转换为指向数组第一个元素的指针。 11、 const修饰指针 const位于*的左侧,指针所指的内容不可变 const位于*的右侧,指针本身为常值,但指向内容可以变 const int *a=b;//指针所指的内容不

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档