笔试相关2
1. 关于Cookie和Session的概念哪一树是正确的
A. Cookie存储在客户端,但过期时间设置在服务器上
B.Session存储在客户端,但过期时间设置在服务器上
C. Cookie中可以存储ASCII空格' ',而session中不行
D. Cookie可以设置生效的路径,而Session则不能
答案选D
2. 快速排序的平均和最坏情况下的时间复杂度是:
A:O(n) ,O(n) B:O(n^2),O(n^2) C:O(nlogn),O(nlogn) D:O(nlogn),O(n^2)
答案:D
解析:快排的性能:平均时间复杂度O(nlogn),最坏情况下的时间复杂度 O(n^2),最坏情况产生的条件:每次划分的结果都是1个元素和n-1个元素。则快速排序退化,需要的时间复杂度为O(n^2)
3. 序列 6,7,4,2,8,1,___下一个数字最有可能是几?
A.6 B.7 C.8 D.9
答案:A
解析:观察规律:6*7 = 42 ,4*2 = 8 , 2*8=16 则下一个数字应该为6
4.下面的程序,while循环会执行多少次?
unsigned char k = 20;
while(k>=0){
k--;
}
A. 20次 B.一次也不执行 C.无限循环 D.21次
答案:C
解析:注意k是unsigned char类型,也就是无符号字节型的,故k>=0始终是成立的,因而会无限循环
5.下列程序中,执行test()函数后的结果是:
void test(){
class B{
public:
B(){
cout<<"B\t"<<endl;
}
~B(){
cout<<"~B\t"<<endl;
}
};
struct C{
C(){
cout<<"C\t"<<endl;
};
~C(){
cout<<"~c\t"<<endl;
};
};
struct D:B{
D(){
cout<<"D\t"<<endl;
};
~D(){
cout<<"~D\t"<<endl;
};
C c;
};
D d;
}
A. D C B ~B ~C ~D
B. B C D ~D ~C ~B
C. C B D ~D ~B ~C
D. C D B ~B ~D ~C
答案:B
解析:实例化时,父类比子类先实例化。析构时,顺序相反
6.冒泡排序的时间复杂度是__O(n^2)__
7.下面程序的输出是?_1,3,2_
void test(int *a,int *b){
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
int a = 1,b =2,c = 3;
test(&a,&b);
test(&b,&c);
test(&a,&c);
printf("%d,%d,%d",a,b,c);
解析:test()实现两个数交换。
8.堆和栈中_堆_需要手动进行内存释放。
解析:栈是由编译器在程序运行时分配空间区域,由操作系统维护。(局部变量,函数参数等)