前言
博主顺利读研了,为了之后的工作需要现在要把C++在学一遍,就是简单记录一些容易错而且个人感觉很重要的知识点,后面也会涉及到很多算法知识,有代码了会以资源的形式上传,需要的自取即可。
易混淆点记录
1、32位计算机中,int类型字节宽度为:4。
解释:一个字节为8it,4乘8为32,故字节宽度为4.若为64位计算机,则int类型字节宽度为8。
2、在C++语言中,枚举是否基本数据类型,答:不属于。
解释:基本数据类型有:整形、转义字符型、实数型(也称浮点型)、逻辑型。字符型、布尔型可以用来表达数,字符,真假的描述。但我们还是觉得有点缺欠:它们不能方便地进行一些标识符的描述,如:红,橙,黄,绿,青,蓝,紫七种颜色,要在数据类型中要把它们直接表达出来,我们觉得有障碍。而在计算机内有没有这种数据类型,能够很方便地将它们表示出来?有,枚举型能办到。用四种基本数据类型不便表示的标识符,而且这些标识符的数量是有限的,我们可以用枚举的方法来表达它,把要用的所有标识符全部枚举出来。这种方法比较接近自然语言的表达。
using System; public enum TimeofDay { Morning, Afternoon, Evening }; class Test { static void WriteGreeting(TimeofDay timeofDay) { switch(timeofDay) { case TimeofDay.Morning: Console.WriteLine("good morning"); break; case TimeofDay.Afternoon: Console.WriteLine("good afternoon"); break; case TimeofDay.Evening: Console.WriteLine("good evening"); break; } } static void Main() { WriteGreeting(TimeofDay.Morning); WriteGreeting(TimeofDay.Evening); WriteGreeting(TimeofDay.Afternoon); } }
3、表达式21/4*sqr(6.0)/7的结果的数据类型是?答:整形。
解释:sqr函数是对参数进行平方,sqrt是对参数进行开2次方。C++规定引用原属于c的库文件要在文件名前加c,所以c++中要使用数学函数就要包含#include。
4、_abc是不是c++语言合法的变量名:是的。
解释:ab.c、1206、100L都不是,变量由英文符号以及下划线组成。
5、2.1e3是不是C++里面合法的常量:是的。
解释:2.1e3是科学计数法,代表数值:2100;3e2.1就是错误的科学计数法表示方法。078看似是一个合理的八进制数,但是要注意八进制数是不可能出现8的古,080无效。
6、c++面向对象的开发所具有的4个重要特性是:封装、数据隐藏、继承、多态。
解释:
封装 | 封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。类包含私有成员(private)、保护成员(protected)和公有成员(public)成员。默认情况下,在类中定义的所有项目都是私有的。 |
数据隐藏: | 数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。 |
继承 | 当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。 |
多态 | 多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。 C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 |
面向过程编程OPP | Procedure Oriented Programming,是一种以事物为中心的编程思想。主要关注“怎么做”,即完成任务的具体细节。 |
面向对象编程OOP | Object Oriented Programming,是一种以对象为基础的编程思想。主要关注“谁来做”,即完成任务的对象。 |
面向切面编程AOP | Aspect Oriented Programming,基于OOP延伸出来的编程思想。主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。 |
7、基本数据类型包含什么?答:包含整型、逻辑型、字符型、浮点型四大类。
解释:感觉这个就很理解了,就是一些常见的需要处理的数据类型。
8、变量是一种使用方便的什么,用于引用计算机的什么?有什么作用?
答:变量是一种占位符,用于引用计算机的内存地址,起到存放程序中各种临时数据的作用。
9、字符常量的分类有那些?
答:普通字符常量、转义字符常量、字符串常量和符号常量四大类。
10、运算符按照操作数的不同可以分为几类?
答:三类,单目、双目和三目。
11、c++代码区的四个内存区间是什么?
答:全局变量区、静态变量区、局部变量区(栈区)、动态存储区。
12、new运算符优越于malloc的地方是什么?
答:用new分配的动态空间还会调用类的构造函数,所以new可以实现使用局部函数一样的效果。
13、集成开发环境包括什么?
答:预处理、编译、汇编、链接。
14、c++语言支持函数重载,在编程中可对功能相同的函数赋予一个相同的名字,编译时,系统会根据上下文中参数的类型和个数来确定使用哪一个具体的函数。