设为首页 收藏本站
查看: 633|回复: 0

[经验分享] 迅雷2012校园招聘笔试题 .

[复制链接]

尚未签到

发表于 2016-5-23 10:59:01 | 显示全部楼层 |阅读模式
  1、微机中1K字节表示的二进制位数是()
解:1个自己表示8为所以1k字节能够表示的:2^10*8=2^13

  2、设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为()
A、0--- 255 B、0--- 32767 C、0--- 65535 D、0--- 2147483647
解:这是个典型的题目,对于有符号的int表示的数字范围如下:

  但是注意由于是有符号的,那么最高位表示符号位,但是对于无符整数而言,最高位不需要表示正负号,所以表示的范围是0~2^16-1=0~65535
  3、在C语言中,要求运算数必须是整型的运算符是()
A、/ B、++ C、|= D、%
  4、下面程序段的运行结果是(B)
  
charc[5]={'a','b','\0','c','\0'};
printf("%s",c);
  A、'a"b' B、ab C、ab_c D、ab_c_ (其中_表示空格)
  解答:print遇到\0的时候就会停止输出
  
  5、下列关于数组的初始化正确的是(B)
A、 char str[2] = {"a","b"}
B、 char str[2][3] = {"a","b"}
C、 char str[2][3] = {{'a','b'},{'e','f'},{'g','h'}}
D、 char str[] = {"a","b"}
6、判断字符串a和b是否相等,应当使用(D)
A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b))

  7、一直inta[3][4];则下列能表示a[1][2]元素值的是()
A、*(*(a+1)+2) B、*(a+1+2) C、(&a[0]+1)[2] D、*(a[0]+1)
8、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是()
A、A%2==1 B、!(A%2==0) C、!(A%2) D、A%2
9、以下哪项可以用来释放 p = malloc() 分配的内存()
A、free(p) B、delete p C、delete []p D、sizeof p
10、下列有关静态成员函数的描述中,正确的是()
A、静态数据成员可以再类体内初始化
B、静态数据成员不可以被类对象调用
C、静态数据成员不受private控制符作用
D、静态数据成员可以直接用类名调用
11、按e1、e2、e3、e4的次序进栈(中间可能有出栈操作,例如e1进栈后出栈,e2再进栈),则可能的出栈序列是()

  A、e3、e1、e4、e2 B、e2、e4、e3、e1 C、e3、e4、e1、e2 D、任意序列
  
  
  12、某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,该二叉树对应的树林包括多少棵树()
A、1 B、2 C、3 D、4
13、单链表的每个结点包括一个指针link,它指向该结点的后继结点,现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?
A、q = p->link; p->link = q->link
B、p->link = q->link; q = p->link
C、q->link = p->link; p->link = q
D、p->link = q; q->link = p->link;
14、函数原型void fun(int a,int b=5,char c='*');下面的调用中不合法的是()
A、fun(4,1) B、fun(99) C、fun(11,2,'a') D、fun(15,'*')
15、以下叙述中不正确的是()
A、在不同的函数中可以使用相同名字的变量
B、函数中的形式参数是局部变量
C、在一个函数内定义的变量只在本函数范围内有效
D、在一个函数内的复合语句中定义的变量在本函数范围内有效(只在复合语句中有效)
16、设有一下宏定义:
#define N 3
#define Y(n) ((N+1)*n)
则执行语句:z=2*(N+Y(5+1))后的z值为()
A、38 B、42 C、48 D、54
17、以下程序程序的运行结果是()

  
[cpp] view plaincopyprint?


  • intmain(void)
  • {
  • chara[]={"programming"},b[]={"language"};
  • char*p1,*p2;
  • inti;
  • p1=a,p2=b;
  • for(i=0;i<7;i++)
  • {
  • if(*(p1+i)==*(p2+i))
  • printf("%c",*(p1+i));
  • }
  • return0;
  • }

  int main(void){char a[]={"programming"},b[]={"language"};char *p1,*p2;int i;p1=a,p2=b;for(i=0;i<7;i++){if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));}return 0;}A、gm B、rg C、or D、ga
18、若有以下程序段:


  
[cpp] view plaincopyprint?


  • inta[]={4,0,2,3,1},i,j,t;
  • for(i=1;i<5;i++)
  • {
  • t=a;
  • j=i-1;
  • while(j>=0&&t>a[j])
  • {
  • a[j+1]=a[j];
  • j--;
  • }
  • a[j+1]=t;
  • }

  int a[]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a;j=i-1;while(j>=0 && t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}A、对数组a进行插入排序(升序)
B、对数组a进行插入排序(降序)
C、对数组a进行选择排序(升序)
D、对数组a进行选择排序(降序)


  19、以下程序的输出结果是()
  
[cpp] view plaincopyprint?


  • #defineP3
  • intF(intx)
  • {
  • return(P*x*x);
  • }
  • voidmain()
  • {
  • printf("%d\n",F(3+5));
  • }

  #define P 3int F(int x){return (P*x*x);}void main(){printf("%d\n",F(3+5));}A、49
B、192
C、29

  D、77
  20、以下代码中,A的构造函数和析构函数分别执行了几次()
  A *pa = new A[10];
delete []pa;

  A、1、1    B、10、10     C、1、10     D、10、1
21、在顺序表{3、6、8、10、12、15、16、18、21、25、30}中,用二分法查找关键码值11,所需的关键码比较次数是()
A、2 B、3 C、4 D、5
22、若int占2个字节,char 占1个字节,float占4个字节,sizeof(xc)的大小是()

  
[cpp] view plaincopyprint?


  • structstu
  • {
  • union
  • {
  • charb[5];
  • intbh[2];
  • }class;
  • charxm[8];
  • floatcj;
  • }xc;

  struct stu{union{char b[5];int bh[2];}class;char xm[8];float cj;}xc;A、16 B、18 C、20 D、22
23、设二叉树根结点的层次为0,一棵深度(高度)为k的满二叉树和同样深度的完全二叉树各有f个结点和c个结点,下列关系式不正确的是()
A、f >= c B、c > f C、f=2^k+1 D、c>2k-1
24、关于引用和指针的区别,下列叙述错误的是()
A、引用必须初始化,指针不必
B、指针初始化以后不能被改变,引用可以改变所指的对象
C、删除空指针是无害的,不能删除引用
D、不存在指向空值的引用,但是存在指向空值的指针
25、属于网络层协议的是()
A、IP B、TCP C、ICMP D、X.25
26、STL中的哪种结构在增加成员时可能会引起原有数据成员的存储位置发生变动()
A、map B、set C、list D、vector
27、windows消息调度机制是()
A、指令队列 B、指令堆栈 C、消息队列 D、消息堆栈
28、在排序方法中,关键码比较次数和记录的初始排列无关的是()
A、Shell排序 B、归并排序 C、直接插入排序 D、选择排序
29、假设A为抽象类,下列声明()是正确的

  A、A fun(int ); B、A *p; C、int fun(A) D、A Obj;
  抽象类不能定义对象。但是可以作为指针或者引用类型使用。

  30、如果类的定义如下,则以下代码正确并且是良好编程风格的是()
A、std::auto_ptr<Object> pObj(new Object);
B、std::vector<std::auto_ptr<Object*>> object_vector;
C、std::auto_ptr<Object*> pObj(new Object);
D、std::vector<std::auto_ptr<Object>> object_vector;
二、填空题

  1、写出float x 与零值比较的if语句。
  不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

  if(x>0.0000001 && x<-0.0000001)

  2、在32位系统中,char str[]="xuelei"; char *p = str; sizeof(str)=() ,sizeof(p)=() ,sizeof(*p)=()
  答案分别是: 7、4、1,分别对数组、指针和一个字符类型求大小。。

  3、Internet物理地址和IP地址转换采用什么协议? RARP协议
4、char a[2][2][3] = {{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}}};
for(int i = 0;i<12;i++)
printf("%d", );

  在空格处填上合适的语句,顺序打印出a中的数字。
  答案:a[i/6][(i/3)%2][i%3];这道题目是多维数组的输出问题,这里要考虑的是每维数字的取值顺序问题:第一维,前六次循环都取0,后六次取1,于是i/6可以满足要求;第二维,前3次为0,再3次为1,再3次为0,再3次为1,用量化的思想,i/3把12个数字分为4组每组3个,量化为0、1、2、3,为要得到0、1、0、1我们这里就需要对(0、1、2、3)%2=(0、1、0、1),于是(i/3)%2;最后一维我们需要的是(0、1、2;0、1、2;0、1、2;0、1、2;)我们就填上i%3。

  5、以下函数查找一个整数数组中第二大的数,请填空。
  
[cpp] view plaincopyprint?


  • constintMINNUMBER=-32767;
  • intfind_sec_max(intdata[],intcount)
  • {
  • intmaxnumber=data[0];
  • intsec_max=MINNUMBER;
  • for(inti=1;i<count;i++)
  • {
  • if(data>maxnumber)
  • {


  • }
  • else
  • {
  • if(data>sec_max)

  • }
  • }
  • returnsec_max;
  • }

  const int MINNUMBER = -32767;int find_sec_max(int data[],int count){int maxnumber = data[0];int sec_max = MINNUMBER;for(int i = 1;i < count; i++){if(data > maxnumber){}else{if(data > sec_max)}}return sec_max;}上面的三个空格处依次应该填上:sec_max = maxnumber; maxnumber = data; sec_max = data;

  
  6、下面程序可从1....n中随机输出m个不重复的数,请填空。
  
[cpp] view plaincopyprint?


  • knuth(intn,intm)
  • {
  • srand((unsigned)time(NULL));
  • for(inti=0;i<n;i++)
  • {
  • if(_________)
  • {
  • cout<<i<<"\n";
  • ______________
  • }
  • }
  • }

  knuth(int n,int m){srand((unsigned)time(NULL));for(int i = 0;i < n;i++){if(_________){cout<<i<<"\n";______________}}}
  分别为:rand()%(n-i)<m 和 m--;

  7、以下prim函数的功能是分解质因数,请填空。
  
[cpp] view plaincopyprint?


  • voidprim(intm,intn)
  • {
  • if(m>n)
  • {
  • while(_________)n++;
  • ______________;
  • prim(m,n);
  • cout<<n<<endl;
  • }
  • }
  • voidmain()
  • {
  • intn=435234;
  • prim(n,2);
  • }

  void prim(int m,int n){if(m>n){while(_________)  n++;______________;prim(m,n);cout<<n<<endl;}}void main(){int n = 435234;prim(n,2);}答案分别为:m%n 和 m/=n

  8、程序改错。
  
[cpp] view plaincopyprint?


  • intfun(vector<int>&val)
  • {
  • copy(val.begin(),val.end(),ostream_iterator<int>(cout,"\n"));
  • ......
  • }
  • voidmain()
  • {
  • inta[5]={1,2,3,4,5};
  • vector<int>v;
  • copy(a,a+5,v.begin());
  • fun(vector<int>(v));
  • prim(n,2);
  • }

  int fun(vector<int>& val){copy(val.begin() , val.end() , ostream_iterator<int>(cout,"\n"));......}void main(){int a[5] = {1,2,3,4,5};vector<int> v;copy(a , a + 5 , v.begin());fun(vector<int>(v));prim(n,2);}错误的代码和改正后的代码分别为:

  
  9、C++中const有什么用途(至少说出三种):1、便于进行类型检查;2、可以节省空间避免不必要的内存分配,提高了效率;3、保护被修饰的对象,防止意外修改,增强程序的健壮性。

  10、下面程序的功能是输出数组的全排列,请填空。
  
[cpp] view plaincopyprint?


  • voidperm(intlist[],intk,intm)
  • {
  • if(_______)
  • {
  • copy(list,list+m,ostream_iterator<int>(cout,""));
  • cout<<endl;
  • return;
  • }
  • for(inti=k;i<=m;++i)
  • {
  • swap(&list[k],&list);
  • ______________;
  • swap(&list[k],&list);
  • }
  • }
  • voidmain()
  • {
  • intlist[]={1,2,3,4,5};
  • perm(list,0,sizeof(list)/sizeof(int)-1);
  • }

  void perm(int list[],int k,int m){if(_______){copy(list,list+m,ostream_iterator<int>(cout," "));cout<<endl;return ;}for(int i = k ; i <= m ; ++i){swap(&list[k] , &list);______________;swap(&list[k] , &list);}}void main(){int list[] = {1,2,3,4,5};perm(list,0,sizeof(list)/sizeof(int)-1);}答案分别是: k == m 和 perm(list , k+1 , m)


  
  



  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-220668-1-1.html 上篇帖子: 迅雷2012校园招聘笔试题 下篇帖子: 最牛2012移动互联网预测调查报告
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表