C/C++题 【含答案和解析】

1. 以下函数中,和其他函数不属于一类的是( )

A  read

B  pread

C  write

D  pwrite

E  fseek

F  lseek

2. 有一个类A,其数据成员如下:
class A{
...
private:
int a;
public:
const int b;
float* &c
static const char* d;
static double* e;
}
则构造函数中,成员变量一定要通过初始化列表来初始化的是( )

A  a b c

B  b c

C  b c d e

D  b c d

E  b

F  c

3. 以下函数中,和其它函数不属于一类的是( )

A  fread

B  gets

C  getchar

D  pread

E  getline

F  scanf

4. 以下函数中,和其他函数不属于一类的是( )

A  strcpy

B  strncpy

C  snprintf

D  strcat

E  strtok

F  strncat

5. 有一个类B继承子类,他们数据成员如下:
class A{
...
private:
const int a;
};
class B : public A{
...
private:
int a;
public:
const int b;
A c;
static const char* d;
A& e;
};
则这些成员变量一定要通过A或者B的构造函数初始化列表来初始化的是( )

A  b c

B  b c e

C  b c d e

D  c e

6. 考虑以下二分查找的代码:
#include< stdio.h >
int bsearch(int array[], int n, int v)
{
int left, right, middle;
left = 0, right = n-1;
while(left <= right)
{
middle = left + (right - left)/2;
if (array[middle] > v)
right = middle;
else if (array[middle] < v)
left = middle;
else
return middle;
}
return -1;
}
对于输入array为:{2, 6, 8, 10, 13, 25, 36, 45, 53, 76, 88, 100, 127},n = 13, v = 127时,运行bsearch函数,while循环调用的次数为( )

A  1

B  2

C  3

D  4

E  5

F  无法退出

7. 有一个单向链表队列中有一个A、B两个相邻元素,有一个指针p指向元素A,现将一个指针r指向的S元素要插入到A和B之间,该进行操作( )

A  p->next=p->next->next

B  r->next=p;p->next=r->next

C  r->next=p->next;p->next=r

D  r=p->next;p->next=r->next

E  r->next=p;p->next=r

F  p=p->next->next

8. 以下程序输出结果是( )
class A
{
public:
virtual void func(int val = 1)
{
std::cout << "A->" << val << std::endl;
}

virtual void test()
{
func();
}
};

class B:public A
{
public:
void func(int val = 0)
{
std::cout << "B->" << val << std::endl;
}
};

int main(int argc,char* argv[])
{
B*p = new B;
p->test();
return 0;
}

A  A->0

B  B->1

C  A->1

D  B->0

9. 下列函数定义中,有语法错误的是( )

A  void fun(int x, int*y){ x *= *y;}

B  void fun(int x,int *y){ *x *= *y;}

C  void fun(int *x,int y){ *x += y;}

D  int* fun(int *x,int y){ return x +=y;}

10. 有一段年代久远的C++代码,内部逻辑负责。现在需要利用其实现一个新的需求,假定有以下可行的方案,应当优先选择( )

A  修改老代码的接口,满足新的需求

B  在这段代码之外写一段代码,调用该代码的一些模块,完成新功能需求

C  修改老代码的内部逻辑,满足新的需求

D  将老代码抛弃,自己重新实现类似的逻辑

获取答案和详细的答案解析:https://ai.52learn.online/11671

上一篇:算法第2章实践报告


下一篇:解题报告 P2839 [国家集训队]middle