二级C++题库--第一套

这是一份针对二级C++考试的题库解析,包括基本操作、简单应用和综合应用三大题型。内容涉及错误修复、数组操作、类定义与继承、排序算法以及二维向量操作等知识点。
摘要由CSDN通过智能技术生成

目录

前言

一、基本操作题

二、简单应用题

三、综合应用题


前言

        这里收集了网上找的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
  • 22
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫柱子哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值