当前位置:编程学习 > C/C++ >>

[互联网面试笔试汇总C/C++-6] 迅雷

温馨提示:客观题和主观题得分都要超过一定标准,才能获得面试资格,如果一项得分很高,而另外一项得分很低,可能无法获得面试资格。
一、单选题(20题,每题2分)
1、有变量int i = 0; int a = i++; int b=++a; int c = a+b; 请问表达式 a?b:c 的值是()
A、0              B、1              C、2             D、3
 
2、32位环境下,int *p=new int[10];请问sizeof(p)的值为()
A、4              B、10              C、40               D、8
 
3、有语句char str[] = "abcde";请问表达式sizeof(str)的值是()    后面还有\0
A、1              B、4               C、5                D、6
 
4、有函数int func(int i)的实现为()
[cpp]  
int func(int i)  
{  
    if(i > 1)  
        return i*func(i-1);  
    else  
        return 1;  
}  
请问函数调用f(5)的返回值是多少()阶乘计算
A、5              B、15              C、20               D、120
 
5、请问以下说法,哪个是正确的()
A、每个类都有一个无参数的构造函数
B、每个类都有一个拷贝构造函数
C、每个类能有多个构造函数
D、每个类能有多个析构函数
 
6、用class关键字定义的类,其成员默认的访问属性为()
A、private         B、protected      C、public           D、无定义
 
7、类的成员有三种访问属性,分别是public、protected、private,子类能够访问的成员是()
A、都能访问
B、public和protected
C、public和private
D、protected和private
 
8、请问对一个排好序的数组进行查找,时间复杂度为()
A、O(n)            B、O(lgn)        C、O(nlgn)          D、O(1)
 
9、以下二叉树:
 
后序遍历的结果是()
A、丙乙丁甲戊己              B、甲乙丙丁戊己              C、丙丁乙己戊甲                  D、丙丁己乙戊甲
 
10、看以下代码:
A *pa = new A[10];
delete pa;
则类A的构造函数和析构函数分别执行了几次()
A、1   1          B、10   10          C、1   10                D、10   1
 
11、看以下代码:
[cpp]  
class A  
{  
public:  
    ~A();  
};  
A::~A()  
{  
    printf("delete A ");  
}  
  
class B : public A  
{  
public:  
    ~B();  
};  
B::~B()  
{  
    printf("delete B ");  
}  
请问执行以下代码
A *pa = new B();
delete pa;
输出的串是()A
A、delete A       B、delete B        C、delete B delete A          D、delete A delete B
 
12、文件长度是一个大于0的整数,用变量unsigned file_length; 来表示,把文件分成块,每块的长度也是一个大于0的整数,用变量unsigned block_length; 来表示,则文件被分成的块数为()
A、file_length/block_length                                            B、file_length/block_length+1         
C、(file_length+block_length-1)/block_length                D、((file_length-1)/block_length+1 
 
13、整数int i = 0xFE78DA45; int k = 0xAC3189B2;则i^k的值为()
A、0x524953f7         B、0xAC308800          C、0xFE79DBF7           D、0X0000001
 
14、看以下代码:
[cpp]  
class parent  
{  
public:  
    virtual void output();  
};  
void parent::output()  
{  
    printf("parent!");  
}  
  
class son : public parent  
{  
public:  
    virtual void output();  
};  
void son::output()  
{  
    printf("son!");  
}  
则以下程序段:
son s;
::memset(&s , 0 , sizeof(s));
parent& p = s;
p.output();
执行结果是()
A、parent!       B、son!       C、son!parent!           D、没有输出结果,程序运行出错
 
15、函数的局部变量所需存储空间,是在哪里分配的()
A、进程的数据段      B、进程的栈上    C、进程的堆上       D、以上都可以
 
16、以下STL的容器存放的数据,哪个肯定是排好序的()
A、vector        B、deque         C、list             D、map
 
17、int a[][3]={{1},{3,2},{6,7,8},{9}};中a[2][1]的值是()
A、3          B、6        C、2            D、7
 
18、以下关于头文件,说易做图确的是()
A、#include<filename.h>,编译器寻找头文件时,会从当前编译的源文件所在的目录去找
B、#include“filename.h”,编译器寻找头文件时,会从通过编译选项指定的目录去找
C、多个源文件同时用到的全局整数变量,它的声明和定义都放在头文件中,是好的编程习惯
D、在大型项目开发中,把所有自定义的数据类型、全局变量、函数声明都放在一个头文件中,各个源文件都只需要包含这个头文件即可,省去了要写很多#include语句的麻烦,是好的编程习惯。
 
19、某棵完全二叉树上有699个节点,则该二叉树的叶子节点数为()
A、349             B、350              C、188                D、187
n0=n2+1;
n=n0+n1+n2=n0+n1+n0-1=699 
由于完全二叉树中度为1的节点只有0个或1个两种情况,所以,将0或1带入上面公式,整理后得:  n0=(n+1)/2或者n0=n/2;  看看n是否能被2整除,能则用n0=n/2。否则用n0=(n+1)/2 既叶子节点为n0=(n+1)/2=350
 
20、在一个指向字符串的指针char *p_str,要把字符串中第4个字符的值改为'a',正确的做法是()
A、p_str[3]='a'            B、*(ptr+3)='a'       C、p_str[4]='a'       D、*(ptr+4)='a'
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,