C/C++ 笔试、面试题目大汇总 本资源摘要信息总结了 C/C++ 语言的笔试和面试题目,涵盖了函数返回值、引用、函数参数、常引用和返回值类型等方面的知识点。 一、函数返回值 * 问题 1:求下面函数的返回值(微软) ```c int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } ``` 答案:8 思路:将 x 转化为 2 进制,看含有的 1 的个数。 二、引用 * 问题 2:什么是“引用”?申明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。 三、函数参数 * 问题 3:将“引用”作为函数参数有哪些特点? 答:(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。 四、常引用 * 问题 4:在什么时候需要使用“常引用”? 答:如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用声明方式:const 类型标识符 &引用名=目标变量名; 五、返回值类型 * 问题 5:将“引用”作为函数返回值类型的格式、好处和需要遵守的规则? 答:格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 };好处:在内存中不产生被返回值的副本;注意事项:(1)不能返回局部变量的引用。(2)不能返回函数内部 new 分配的内存的引用。(3)可以返回类成员的引用,但最好是 const。(4)流操作符重载返回值申明为“引用”的作用:流操作符 << 和 >>,这两个操作符常常希望被连续使用,例如:cout << "hello" << endl;因此这两个操作符的返回值应该是一个仍然支持这两个操作符的流引用。
剩余30页未读,继续阅读
- 粉丝: 27
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助