C++面试题

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

       【答案】:c++中的基础数据类型分为3种:整数型、浮点型和void型。

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

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

3、C++中有哪些常量

       【答案】:常量是不可以改变的数据,常量按照数据类型主要分为整型常量,浮点型常量,字符型常量,字符串常量,转义字符常量,地址常量6种。

4、常量与变量的区别

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

5、操作符有哪些分类

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

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

         按照操作区分操作符分为一元操作符,二元操作符和三元操作符等3类。

6、操作符优先级对运算结果有什么影响

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

7、逻辑操作与其他操作的关系

        逻辑操作只返回true或false这两种值,它们可以用来做判断条件,逻辑操作符不会改变被操作数的值。

8、自增自减前操作与后操作的区别

        前自增自减操作的优先级大于赋值运算符(=),而后自增自减操作的优先级小于赋值运算符,后自增自减操作后表达式的值不会发生改变。

9、指针自增自减什么不同

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

10、什么是左值和右值

        变量是左值,可以出现在复制语句的左边,数字字面值是右值,不能被赋值。

11、什么是变量

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

12、变量有哪几种初始化方式

        变量初始化创建变量并同时给它赋初始值,而赋值是擦除对象的当前值并用新值代替。其中,直接初始化的语法更加灵活而且执行效率更高。

13、变量默认初始化有什么规则

        系统有时候会自动帮编程者初始化未初始化的变量。使用未初始化的变量是常见的程序错误,但通常也是很难以发现的错误,有时候会导致编程者在程序运行时发生的问题原因上出现判断错误。所以建议每个内置类型的对象都要初始化。虽然这样并不是完全必需的,但是会让程序容易和安全。

14、什么事变量的声明和定义

        C++程序通常由许多文件组成,为了让多个文件访问相同的变量,C++区分了声明和定义。定义和声明有相同时候,但声明的主要目的是表面变量的类型和名称,而定义的主要目的是为变量分配存储空间。

15、C++中有哪几种作用域

        作用域是程序的一段区域,作用域用于区别变量名的不同有效范围,分为全局作用域、局部作用域和语句作用域。一个变量名可以和不同作用域中的不同实体相关量。

16、局部变量与嵌套的作用域

        局部变量就是具有局部作用域的变量。在C++中,作用域是可以嵌套的

17、变量有哪几种存储类型

        在C++中,变量的存储类型分为自动类型,寄存器类型,静态类型,外部类型等4种。

18、什么是引用

        引用是对象的另一个名字,在实际程序中,引用主要用作函数的形式参数来使用

19、如果使用const引用与非const引用

        const引用可以读取但是不可以修改引用对象,任何对const引用进行复制都是不合法的,它使用 于指向const对象的引用,而非const得引用不适用于指向const对象的引用,可以修改引用和被引用对象的值。

20、C与C++有什么区别

        C语言是结构化的编程语言,它是面向过程的。C语言编程考虑的是实现过程,C++是面向对象的,C++编程考虑的是整个程序模型。

21、什么是匈牙利命名法

        匈牙利命名法是一种编程时的命名规范。匈牙利命名法的主要思想是在变量和函数名中加入前缀以增进人们对程序的理解。

22、变量有什么命名规则

        变量命名习惯最重要的就是保持风格一致,变量名有字母,数字和下划线组成并且须以字母或下划线开头,变量名不可以与保留关键字和标准库冲突。

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

        条件语句分为if和if……else和if……else if……等3种形式

24、条件语句如何嵌套?如何匹配else子句

        条件语句可以在不同的执行语句作用域内进行嵌套,else自己通过{}划分作用域来实现匹配。

25、for循环语句的计算顺序是什么       

        for语句的执行顺序是先从左至右执行循环条件语句,如果循环条件语句的判断语句为true,则在循环条件语句执行之后继续执行一次循环语句,然后在回到循环条件语句。如果虚幻条件语句潘丹条件为false,则停止循环。

26、while循环与do-while循环有什么区别

        while循环和do-while循环的主要区别于,如果循环条件语句为false,while语句不会执行,而do-while保证循环体执行一次

27、break语句和continue语句有什么区别

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

28、什么事递归

        一个过程或函数直接或间接调用自己本身,这种过程或函数叫递归过程或递归函数。

29、什么事标准输入输出流

        标准输入流是从标准输入设备(键盘)流向程序的数据,标准输出流是流向标准输出设备(显示器)的数据

30、如何重载输入输出

        重载在相同的范围中为一个给定函数名称提供了多种定义。委托编译器已经调用该函数的参量选择合适的函数或运算的版本。重载可以为输入输出提供更加间接的代码。

31、如何读取一个文件        

        在C++中,读取文件使用iostream头文件内的相关方法,iostream是fstram的基类。

32、文件输入输出有哪几种方式

        C++定义了ifstream,ofstream和fstream3中类型以用来支持文件的输入输出。

33、什么是异常

        异常就是程序运行时出现的不正常,它可能会导致系统购物发正常运行甚至停止运行等严重的情况,编程者需要实现好的异常处理来保证程序的稳定性。

34、如何抛出和捕捉异常

        在C++中,系统通过try块和异常处理构成了异常机制,其中通过国catch语句来捕捉运行时的异常,并且异常处理,通过throw语句可以抛出异常。

35、宏定义与操作符的区别

        宏定义是C++的预处理命令之一,它是一个替换操作,不做计算和表达式求解,不占用内存和编译时间。

36、宏定义如何展开

        宏展开式用宏定义时设计的宏体区代替宏指令,并且用实际参数一一取代形式参数

37、include有几种使用方式?有什么区别

        include有两种方式,#include<>和#include"",中#include<>是使用标准头文件,#include“”是使用自定义文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值