迅雷android面试,迅雷面试题(转载)

news/2025/1/12 9:54:39/

7. 下列说法正确的是:(B)

A) 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B) 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

C) 类的内联函数必须在类体内定义

D) 类的内联函数必须在类体外通过关键字inline定义

8.下面对静态成员的描述中,正确的是:(D)

A) 静态数据成员可以在类体内初始化

B) 静态数据成员不可以被类的对象调用

C) 静态数据成员不能受private控制符的作用

D) 静态数据成员可以直接用类名调用

9. 下列运算符中,在C++语言中不能重载的是:(C)

A) *                B) >=             C) ::              D) delete

10 下面关于多态性的描述,错误的是:(C)

A) C++语言的多态性分为编译时的多态性和运行时的多态性

B) 编译时的多态性可通过函数重载实现

C) 运行时的多态性可通过模板和虚函数实现 //模板的是编译时多态性,而虚函数是运行时

D) 实现运行时多态性的机制称为动态绑定

11. 如果进栈序列为e1,e2,e3,e4,e5,则可能的出栈序列是:(D)

A) e3,e2,e5,e4,e1

B) e2,e3,e5,e4,e1

C)    e3,e2,e4,e5,e1

D) 以上都有可能

12 下面关于类和对象的描述中,错误的是:(A)

A) 类就是C语言中的结构体类型,对象就是C语言中的结构体变量

B) 类和对象之间的关系是抽象和具体的关系

C) 对象是类的实例,一个对象必须属于一个已知的类

D) 类是具有共同行为的若干对象的统一描述体

13.下面关于数组的描述错误的是:(D)

A) 在C++语言中数组的名字就是指向该数组第一个元素的指针

B) 长度为n的数组,下标的范围是0-n-1

C) 数组的大小必须在编译是确定

D) 数组只能通过值参数和引用参数两种方式传递给函数

注释:

在把数组作为参数传递给函数时,有值传递(by value)和地址传递(by reference)两种方式。

在值传递方式中,要在数组参数的尾部加上一对方括号([]),调用函数时只需将数组的地址(即数组名)传递给函数。

例如:如果数组x被声明为:int x[10];

那麽函数被说明为:void byval_func(int[]);

参数int[]告诉编译程序byval_func()函数只有一个参数,即一个由int型值组成的数组。

函数调用时只需将数组名传递给函数:byval_func(x);

#include

void byval_func(int[]);

void main(void);

void main(void)

{

int x[10];

int y;

for(y=0;y<10;y++)

x[y]=y;

byval_func(x);

}

void byal_func(int i[])

{

int y;

for(y=0;y<10;y++)

printf("%d\n",i[y]);

}

值传递方式中,数组x将被复制一份,复制所得的数组将被存放在栈中,然后由byval_func()函数接收并打印出来。由於传递给

byval_func()函数的是初始数组的一份拷贝,因此在byval_func()函数内部修改传递过来的数组对初始数组没有任何影响。

值传递方法的开销是很大的,因为首先它要完整地复制初始数组并将这份拷贝存放到栈中,这将耗费相当可观的运行时间,

因而值传递方法效率较低;其次,初始化数组的拷贝需要占用额外的内存空间(栈中的内存);最后,编译程序需要专门产生一部分用来复制初始数组的代码,这将

使程序变大。

地址传递方法克服了值传递方法的缺点。在地址传递方法中,传递给函数的是指向初始数组的指针,不用复制数组,因此程序变得简练,也节省了栈中的内存空间。在地址传递过程中,只需在函数原形中将函数的参数说明为指向数组元素数据类型的一个指针。

例如同样定义一个数组x:int x[10];

那麽函数被说明为:int const_funt(const int*);

参数const int*告诉编译程序const_funt()函数只有一个参数,即指向一个int类型常量的指针。

函数调用时只需将数组的地址传递给函数:const_func(x);

#include

void const_func(const int*);

void main(void);

void main(void)

{

int x[10];

int y;

for(y=0;y<10;y++)

x[y]=y;

constl_func(x);

}

void const_func(const int*i)

{

int y;

for(y=0;y<10;y++)

printf("%d\n",*(i+y));

}

值传递方式中,没有复制初始数组并将其拷贝存放在栈中,const_func()函数只接收到指向一个int类型常量的指针,因此在编写程序时要保证传递

给const_func()函数的是指向一个由int类型常量组成的数组的指针。const修饰符的作用是防止意外修改初始数组中的某一个元素。

14. 引用标准库时,下面的说法你认为哪个是正确的:(B)

A) 语句#include “stdlib.h”是正确的,但会影响程序的执行速度

B) 语句#include 是正确的,而去程序执行速度比#include “stdlib.h”要快

C) 语句#include 和#include “stdlib.h”都是正确的,程序执行速度没有区别

D) 语句#include “stdlib.h”是错误的

注释:include   ""是先从本地目录开始寻找,然后去寻找系统路径,而Include   <>   相反先从系统目录,后从本地目录,

15.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:(C)

A) 0               B) 1               C) 2               D) 7

16.不能作为重载函数的调用的依据是:(C)

A) 参数个数                              B) 参数类型

C) 函数类型                              D) 函数名称

17.下列程序的输出结果为: (D)

#include< iostream. h>

int func(int n)

{

if〔n<1)return 1;

else return n+func(n-1);

return 0;

}

void main()

{

cout<

}

A) 0        B)10             C)15            D)16

18. 建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为: (A)

A)abc                                                                B)acb

C)cab                                                                     D)cba

19. 如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是:(D)

A)一元运算符                                                      B)二元运算符

C)选项A)和选项B)都可能                               D)重载错误

解析:C++中用友元函数重载运算符至少有一个参数,重载一目运算符要有一个参数,重载二目运算符要有两个参数。

20. 有以下程序段:(D)?

#define F(X,Y)   (X)--; (Y)++ (X)*(Y);

int i, a = 3, b = 4;

for( i = 0; i<5; i++)   F(a,b)

printf(“%d, %d”, a, b);

输出结果是:()

A) 3, 4                                       B) 3, 5

C) -2, 5                                     D) -2, 9

21. 下列for循环的循环体执行次数为:(A)

for(int i(10), j(1); i=j=0; i++, j--)

A) 0;       B) 1;       C) 无限;        D)以上都不对

22. 下面程序的输出结果是(D)

char *p1= “123”, *p2 = “ABC”, str[50]= "xyz";

strcpy(str+2,strcat(p1,p2));

cout << str;

A)xyz123ABC                                                       B)z123ABC

C)xy123ABC                                                        D)出错

23.下面函数的执行结果是输出(B)

char str[ ] = “xunlei”;

char *p = str;

int n = 10;

printf(“%d, %d, %d\n”, sizeof(str), sizeof(p), sizeof(n));

A) 4, 4, 4                                                 B) 7, 4, 4

C) 6, 4, 4                                                 D) 6, 6, 4

33. 有下列程序段:

char *p, *q;

p = (char*) malloc(sizeof(char) * 20);

q = p;

scanf(“%s %s”, p, q);

printf(“%s %s\n”, p, q);

若从键盘输入:abc def, 则输出结果是(A)

A) def def                     B) abc def

C) abc d                       D) d d

解析:q=p;因此p,q指向的是同一段内存.scanf先是把abc写到p指向的空间,再把def写到q指向的空间,也就是同一段空间,因此abc被def覆盖了.

34.现在有以下语句:

struct _THUNDER{

int iVersion;

char cTag;

char cAdv;

int iUser;

char cEnd;

}Thunder;

int sz = sizeof(Thunder);

则执行后,变量sz的值将得到(D)

A) 11             B) 12             C) 13             D) 16

35. 有如下程序段:

void GetMemeory(char* p)

p = (char*) malloc (100);

void test()

{

char *str=NULL;

GetMemory(str);

strcpy(str,”Thunder”);

strcat(str+2, “Downloader”);

printf(str);

}

请问运行Test函数结果是:(D)

A) Thunder Downloader                                 B) under Downloader

C) Thunderownloader                                    D) 程序崩溃

解析:在函数中给指针分配空间,实际上是给指针的临时变量分配空间,函数结束后,这个临时变量也消亡,而str仍然为NULL,没有为其分配空间,此时strcpy()是肯定会出错的。

36. 函数调用exec((v1,v2), (v3,v4,v5),v6,v7);中,实参的个数是(A)

A) 4               B) 5               C) 6               D) 7

37. p是指向类X的成员m的指针,s是类X的一个对象。现要给m赋值,(C)是正确的。

A) s.p = 5                                                        B) s->p = 5

C) s.*p = 5                                                      D) *s.p = 5

38. 函数fun(char* p) { return p;}的返回值是(B)

A)无确切值                                              B) 行参p中存放的地址值

C) 一个临时存储单元的地址                   D) 行参p自身的地址值

39.a,b均为不等于0的整形变量,以下关系式恒成立的是:(C)

A) a*b/a*b == 1                                 B) a/b*b/a == 1

C) a/b*b + a%b == a                          D) a/b*b == a

40. 设有如下说明:

typedef struct ST{ long a; int b; char c[2]; } NEW;

则下面叙述中正确的是:(C)

A)以上的说明形式非法                            B)ST是一个结构体类型

C)NEW是一个结构体类型                D)NEW是一个结构体变量

41. 下列表达式正确的是:(C)

A) 9++                  B) (x+y)++              C) c+++c+++c++                D) ++(a-b--)

42.在int b[ ][3] = {{1},{3,2},{4,5,6},{0}};中,sizeof(b) = (D)。

A) 4                      B) 12                    C) 28                    D) 48

43.以下程序的输出结果是:(D)

#define M(x,y,z) x*y+z

main()

{

int a=1, b=2, c=3;

printf(“%d\n”,M(a+b,b+c,c+a));

}

A)19                   B) 17                    C) 15                    D) 12

44.若有以下定义和语句:

int u=010, v= 0x10, w=10;

printf(“%d,%d,%d\n”,u,v,w);

则输出结果是:(A)

A)8,16,10     B)10,10,10      C)8,8,10      D)8,10,10

45. 下面程序段的输出结果是:(B)

int a=5, b=4, c=3, d=2;

if(a>b>c)

printf(“%d\n”,d);

else if((c-1>=d)==1)

printf(“%d\n”, d+1);

else

printf(“%d\n”, d+1);

A) 2                      B) 3                      C) 4                   D) 编译错误

46.有如下程序段,请问k的值是:(D)

enum {a, b=5, c, d=4, e} k; k =c;

A) 3                      B)4                     C) 5                      D) 6

47.有如下程序段:

int i, n = 0;

double x = 1, y1 = 2.1/1.9, y2 = 1.9/2.1;

for( i = 1; i<22; i++)

x = x*y1;

while( x!=1.0)

{

x =x*y2;

n++;

}

printf(“%d\n”, n);

请问执行结果是:(A)

A) 21                    B) 22                    C)无限循环                  D) 程序崩溃

48. 用树形结构表示实体之间联系的模型是(C)

A) 关系模型                       B) 网状模型                C) 层次模型                D)以上三个都是

49.有如下程序段:

char fun(char *);

main()

{

char *s = “one”, a[5] = {0}, (*f1)(char *) = fun, ch;

}

则对函数fun的调用语句正确的是(C)

A) *f1(&a);                  B) f1(*s);                 C) f1(&ch)                   D) ch = *f1(s);要改成(*f1)(s)才正确

50.有如下程序段:

int c = 23;

printf(“%d\n”, c&c);

请问执行结果是:(C)

A) 0               B) 46             C) 23                    D) 以上都不对


http://www.ppmy.cn/news/577094.html

相关文章

signature=e7a4f21fa0bd38abc7e1a2451a8b7b26,Win10 14328起“迅雷7.9、迅雷极速版”崩溃修正补丁...

—————————Exception——————————— thunder7(迅雷) 7.10.33.358 Process(PID:1948,workstate=0) : D:\Program Files (x86)\Thunder Network\Thunder9\Program\Thunder.exe , Microsoft Platform Win32 NT,Unknown Version [Build 10.0.14342] Architecture …

RabbitMQ 2023面试5题(二)

一、RabbitMQ交换机类型有哪些&#xff1f;分别有什么作用&#xff1f; 在RabbitMQ中&#xff0c;交换机&#xff08;Exchange&#xff09;是消息队列系统中的一个重要组件&#xff0c;它用于接收生产者发送的消息并将消息路由到队列中。RabbitMQ提供了多种交换机类型&#xf…

qq输入法自定义短语并在手机qq输入法使用

描述&#xff1a;qq输入法自定义短语并在手机qq输入法使用 步骤&#xff1a; 电脑端&#xff0c;设置&#xff0c;词库&#xff0c;自定义短语&#xff0c;设置好后同步到手机端手机端同步词库&#xff0c;拼音使用全键盘&#xff0c;即可查看自定义短语

android qq聊天界面键盘与布局,大屏手机单手聊天 QQ输入法浮动键盘做得到

原标题&#xff1a;大屏手机单手聊天 QQ输入法浮动键盘做得到 大屏手机越来越普及&#xff0c;想单手打字几乎成为了无法完成的事情。有木有坐地铁公交的时候单手打字困难的经历&#xff0c;恨不得长三只手勒!有了QQ输入法浮动键盘&#xff0c;大屏手机照样单手快速输入!一起来…

android 手机输入法表情,最近手机输入法玩出花,讯飞输入法安卓版让表情包说话?...

原标题&#xff1a;最近手机输入法玩出花&#xff0c;讯飞输入法安卓版让表情包说话&#xff1f; 网络社交流行“能发图就别说话”&#xff0c;但一夜之间&#xff0c;一部分高级玩家已经进化到“斗嘴”&#xff0c;参加斗图的表情拥有了个性化的音效&#xff0c;不仅看见还听见…

android qq输入法,Android版QQ输入法:滑动输入成最大亮点

在享受高配置大屏幕无线终端畅游网络&#xff0c;聊天&#xff0c;微博等带给我们无限享受的时候&#xff0c;一款得心应手的输入法软件注定会成为这个过程中很重要的一个环节&#xff1b; 近期&#xff0c;QQ输入法团队发布了最新的Android版输入法&#xff0c;新版本除了对旧…

android 定制输入法,QQ输入法Android 4.3全新升级 实现私人定制输入

新一版QQ手机输入法来了, 针对Android平台每一个用户深度定制输入法。最新4.3版本除了对核心功能进行优化外&#xff0c;更带来了诸多新增功能&#xff1a;新增键盘大小调节,私人定制; 自定义皮肤可自选字体颜色&#xff0c;深度个性DIY; 工具栏定制管理&#xff0c;常用图标更…

QQ输入法新功能设计文档

腾讯的互联网产品实践大赛总算有个结果了&#xff0c;大大小小参加了那么多的比赛&#xff0c;这次没有入围有点意外&#xff0c;但是也没啥吃惊的&#xff0c;毕竟自己本身对比赛形式不认可&#xff0c;也没按照人家的规则出牌&#xff0c;所以没啥遗憾的&#xff0c;好在这个…