C/C++专项训练NowCoder

2017-04-30 18:50 阅读 563 次 评论 0 条
1.在长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(假定查找每个元素的概率均相等)是多少?
答案:(n+1)/2 。分析:长度为n的线性表,则查找次数可能是1,2,3,,,n次,则和为sum = n(n+1)/2,平均查找长度除以n即(n+1)/2。
2.在64位系统中,有如下类:那么sizeof(C)的大小是?

答案:24。分析:static在静态全局区,不加入计算,两个虚函数只需要一个虚函数表指针,其他内存对齐即可。

3.下列程序的输出是什么?

答案:一值是“ab”。分析:派生类实例化时,先调用基类的构造函数,然后是派生类的类成员变量构造函数,构造函数的顺序是按照成员变量的定义顺序,而不是按照初始化列表的顺序,最后是派生类的构造函数。

4.在gcc下,关于此代码正确的描述是?

答案:①编译警告 ②返回局部变量的引用,运行时出现未知错误 ③把代码里的&去掉之后,可以正常运行。分析:引用返回的是局部变量本身,而不是复制一份再返回,所以结果难以预料,其次返回局部自动变量是可以的,只要不是地址或引用也可以,否则需要将变量声明为static。
5.下面程序中不合法的是?

答案:pf = &f2 。分析:函数指针所指向的函数,返回值类型,形参列表必须完全匹配。

6. sizeof(B)的大小?

答案:8 。分析:静态变量在全局区存放,在类域中为所有对象共享,不属于任何对象,虚函数表指针占一个int大小,继承的int型变量。

7.下列程序的运行结果为?

答案:程序奔溃。分析:str是值传递,此时p和str指向的是同一块内存。但是函数又给参数p重新开辟了空间,所以p的指向改变了,str却一直是指向NULL。

8.C/C++中那种申请内存会将分配的内存初始化?

答案:calloc。分析:calloc申请内存空间后,会自动初始化内存空间为 0,但是malloc不会进行初始化,其内存空间存储的是一些随机数据。

9.执行什么操作时,需要使用队列走辅助存储块间?
答案:广度优先搜索网。
深度优先搜索算法
广度优先搜索算法
队列
10.在一个有8个int数据的数组中,找出最大和次打至少需要多少次比较?
答案:9次。分析:8进4,4进2,2进1,需要7次,然后次大的再比较剩下三个,需要2次。
版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:C/C++专项训练NowCoder | 术与道的分享
分类:笔经面经 标签:, ,
1024do.com导航_术与道导航平台

发表评论


表情