C/C++语言基础 STL基础

来源:互联网 发布:量化交易算人工智能吗 编辑:程序博客网 时间:2024/06/07 21:07

一:基本数据类型

1、C++中有哪几种基本数据类型

                                    整数型、浮点型和void型

2、整形有哪几种形式?各种形式有什么区别

                   answer:表示整数、字符和布尔值的算术类型合称为整形,整形根据修饰符细分为13种形式,它们的区别主要体现在类型名、长度和表示范围几个方面。

3、C++中有哪些常量

      answer:常量是不可以改变的数据,常量按照数据类型主要分为整型常量,浮点型常量、字符型常量、字符串常量、地址常量等6种。

4、常量与变量有哪些区别

   answer:常量是不可以改变值得量,变量是可以改变值得量,常量在定义时必须被初始化,变量可以再定义时不初始化。常量不可以寻址,它的地址不允许赋给非常量指针,变量可以寻址。常量有相对较高的编译执行效率。

二:操作符

1、操作符有哪些分类

answer:表达式是由操作符、操作数和标点符号组成的序列,目的是为了说明一个运算过程,操作符说明了表达式的主要目的,并且计算返回结果。

                  按照功能区分操作符有算术操作符、关系操作符、逻辑操作符、位操作符、赋值操作符、自增和自减操作符、箭头操作符、条件操作符、sizeof操作符、逗号操作符等。

                  按照操作数区分操作符分为一元操作符、二元操作符、三元操作符。

2、操作符优先级对运算结果的影响

answer:优先级决定了表达式的运算顺序,不同优先级的运算符的不同使用会影响表达式的运算结果。

3、逻辑操作符与其他操作的关系

answer:逻辑操作只返回true或者false。他们可以用来做判断条件,逻辑操作符不会改变被操作数的值。

4、指针自增自减有什么不同

answer:变量的自增自减是修改变量的值,指针的自增自减是修改指针指向的指向地址。

三:变量

1、什么是变量

answer:变量是指程序的运行过程中随时可以发生变化的量,变量是在电脑内存里可以修改的、存在值得命名空间。

四:流程控制

1、条件语句有哪几种形式

answer:条件语句分为if 、if---else、if-----else  if----else等三种形式

2、条件语句如何嵌套?如何匹配else字句

answer:条件语句可以再不同的执行语句作用域内进行嵌套,else字句通过{}划分作用域来实现匹配

3、break和continue的区别

answer: continue语句只能出现在循环语句中,而break语句可以 出现在switch语句中中,continue语句不会退出循环,只会终止当次执行循环体并且进入下一次循环体,break语句会退出循环体。


STL

1、什么是容器

answer:容器是容纳特定类型对象的集合,在STL中,有顺序容器和关联容器两种。

2、有哪几种顺序容器

answer:顺序容器是将一组具有相同类型T的对象,以严格的线性形式组织在一起的容器。包括vector、deque和list等三种顺序容器。

vector存放的元素是以连续的数组方式存储的,通过v[i】访问元素,在对vector的中间插入或者删除元素式,由于需要保存元素的连续性,导致vector把后面的元素赋值一遍甚至重新分配数组,因此在随机插入方面vector相对性能较低。

empty()    size() erase(),  pop_back(), clear()

3、什么是关联容器

answer:关联容器是能够通过键值(关键字)来查找和读取元素的容器。在STL中有四个分别为map、set、multimap、multiset。

set所包含的元素的值是唯一的。multimap、multiset允许多个元素拥有相同的键


数据结构

1、有哪几种表的实现方式

answer:顺序实现、链式实现

线性表的基本操作包括表的初始化、清空表、判断表是否为空,获取表的长度,获取表中的元素,获取表的前一个元素,以及元素的插、元素的删除等。

2、链表有哪几种分类

answer:链表可以分为单链表、循环链表、双向链表。

单链表指的是链表中的元素的指向只能指向链表中的下一个元素或者为空。元素之间不能相互指向。

双向链表既是这样一个有序的结点序列,每个链表元素既有指向下一个元素的指针,又有指向前一个元素的指针。

循环链表指的是在单向链表和双向链表的基础上,将这两种链表的最后一个结点指向第一个结点从而实现循环。

表的顺序表示的优点是随机存取表中的任意元素,但是在插入或者删除操作的时间,需要移动大量的元素。

表的链式在随机插入元素时没有顺序表示的弱点,但同时不能对元素进行随机的存取。

3、什么是队列

answer:队列是一个线性表,其插入和删除操作分别在表的不同端进行, 是一种先进先出的线性表。添加元素的那段为队尾(rear),删除元素那端为队首(front)

4、什么是栈

answer:栈数据结构是通过对线性表的插入和删除操作进行限制而得到的,是一个后进先出的线性表。

访问栈的元素时,主要是对栈顶的元素进行访问,不能直接访问其他位置的栈元素

原创粉丝点击