目录
前言
这里收集了网上找的81套试题,希望能帮到要考二级C++的同学们。
二级C++操作题有三种类型,基本操作题、简单应用题和综合应用题。
这里之写了题目,没有搭建相关的环境,请在自己各自的IDE上运行下代码即可。
一、基本操作题
题目:请打开考生文件夹下的解决方案文件proj1,该工程中含有一个源程序文件proj1.cpp。其中每个注释"//ERROR ****found****"之后的一行语句有错误。请改正这些错误,使程序的输出结果为:12345678910
注意:只能修改注释"//ERROR ****found****"的下一行语句,不要改动程序中的其他内容。
解析:在main函数中,我们看到第一个错误在"MyClass obj"出,看一下MyClass类的定义,我们会发现,MyClass类的构造函数需要传递一个参数,根据题目可以知道,我们需要初始化是含有10个元素的数组,因此 main函数中的声明应该为:
MyClass obj(10);
在析构函数中,我们可以看到第二个报错,这里比较简单,考察的是delete关键字用法,因此这里应该改成下面的代码:
delete []array;
在print函数中,标记错误的地方是cin,这里明显也是不对的,因为题目是让我们把数组中的元素打印到屏幕上,因此应该用cout关键字:
cout<<array[i]<<"";
完整的修改之后的代码如下:
#include <iostream>
using namespace std;
class MyClass {
private:
int * array;
int arraySize;
public:
MyClass(int len){
array = new int[len];
arraySize = len;
for (int i = 0; i<arraySize; i++) {
array[i] = i + 1;
}
}
~MyClass(){
//ERROR ******** found ********
delete []array;
}
void print(){
for (int i = 0; i<arraySize; i++) {
//ERROR ******** found ********
cout<<array[i]<<"";
cout<<endl;
}
}
};
int main() {
//ERROR ******** found ********
MyC