(考研初试+复试)C++经典问题

本文详细解答了C++编程中的常见问题,涵盖了库的作用、符号常量、数据类型、循环控制、数组特性、函数模板、重载、内存管理等多个方面,旨在帮助考生理解和掌握C++的核心概念和技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

库的作用是什么?

【解】库是一些常用工具的集合,这些工具是由其他程序员编写的,能够完成特定的功能。

当程序员在编程时需要用到这些功能时,不需要再自己编程解决这些问题,只需要调用库中

的工具。这样可以减少重复编程。

在程序中采用符号常量有什么好处?

【解】采用符号常量主要有两个好处:提高程序可读性和可维护性。

C++有哪两种定义符号常量的方法?C++建议的是哪一种?

【解】第一种是C语言的风格:#define 符号常量 值

第二种是C++语言的风格:const 类型 符号常量 = 值;

一个数据类型有哪两个重要属性?

【解】第一个是该类型的数据在内存中是如何表示的,第二个是这类数据允许执行哪些操作。

两个短整型数相加后,结果是什么类型?

【解】短整型数据在执行算术运算时会先被转换成标准的整型然后执行整型运算,所以两个

短整型的整数相加后的结果是整型。

在一个变量赋值之前,可以对它的值做出什么假设

【解】可以假设它的值是一个随机值。

假设在while语句的循环体中有这样一条语句:当它执行时while循环的条件值就变为false。那么这个循环是将立即中止还是要完成当前的循环周期呢?

【解】循环体继续执行。在完成了当前的循环周期后再次检查循环条件,此时循环将终止。

为什么在for循环中最好避免使用浮点型变量作为循环变量?

【解】因为循环变量通常用来记录循环执行次数,用整型数表示更加合适。

下面这个循环是死循环吗?for ( k = -1; k < 0; --k);

【解】整型数在计算机内部是用补码表示的。如果整型数在计算机内占用2个字节,那么-1在机器内的表示是16个1。当执行了32767个循环周期后,i值的最高位为1,而其他位都为0,即-32768。这时再执行一次减法,最高位变成了0,而其他位全为1。由于最高位为0,C++把它看成正数32767,循环条件不满足,循环被终止。

数组的两个特有性质是什么?

【解】第一个特性是所有数组元素的类型是相同的,第二个特性是数组元素之间是有序的。

什么是数组的配置长度和有效长度?

【解】有时在编程序时无法确定所要处理的数据量,因此无法确定数组的大小。这时可以按

可能的最大的数据量定义数组。定义数组时给定的数组规模称为配置长度。在执行时真正存

入数组中的元素个数称为有效长度。

什么是多维数组?

【解】数组元素本身又是一个数组的数组称为多维数组。

说明函数原型声明和函数定义的区别。

【解】函数原型声明只是说明了该函数应该如何使用,函数调用时应该给它传递哪些数据,函数调用的结果又应该如何使用。函数定义除了给出函数的使用信息外,还需要给出了函数

如何实现预期功能,即如何从输入得到输出的完整过程。

什么是形式参数?什么实际参数?

【解】函数的参数一般可以看成是函数运行时的输入。形式参数指出函数调用时应该给它传

递几个数据,这些数据是什么类型的。实际参数是函数某次调用时的真正的输入数据,是形

式参数的初值。

传递一个数组为什么需要两个参数?

【解】因为数组传递本质上只是传递了数组的起始地址,数组中的元素个数需要另一个变量

来指出。

什么是函数模板?什么是模板函数?函数模板有什么用途?

【解】函数模板就是函数中的某个参数或返回值的类型是不确定的,是可变的,这些不确定

的类型称为模板参数。如果给函数模板的模板参数指定了一个具体的类型,

就得到了一个可 以执行的函数,这个函数称为模板函数。函数模板可以节省程序员的工作量,若干个被处理

的数据类型不同,但处理流程完全一样的函数可以写成一个函数模板。

c++是如何实现函数重载的?

【解】编译器为每个函数重新取一个 内部名字 。当遇到调用重载函数时,编译器分析实际参

数的个数和类型,确定一个 形式参数表 与 实际参数表 一致的重载函数,将这个重载函数的内

部名字替代函数调用时的函数名。

全局变量和局部变量的主要区别是什么?使用全局变量有什么好处?有什么坏处?

【解】局部变量是函数内部或语句块中定义的变量,当函数调用时局部变量被生成,函数执

行结束时局部变量被消亡。全局变量是在所有函数外定义的变量它可以一直生存到整个程序

执行结束。所有定义在该变量后面的函数都能使用该全局变量。

使用全局变量可以加强函数 之间的联系。函数之间的信息交互不用通过参数传递。

但全局变量也破坏的函数的独立性。 用同样参数对同一个函数的多次调用可能因为执行时全局变量值不一样而导致函数执行的 结果不同。

变量定义和变量声明有什么区别

【解】变量定义和变量声明的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值