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