C++程序设计慕课题库.docx
《C++程序设计慕课题库.docx》由会员分享,可在线阅读,更多相关《C++程序设计慕课题库.docx(9页珍藏版)》请在冰豆网上搜索。
C++程序设计慕课题库
C++程序设计慕课题库
第一章从C到C++
第一章测验
1、下面程序片段哪个没错?
A、intn=4;intr=n*5;
B、intn=6;constintr=n;r=7;
C、intn=8;constintr1=n;intr2=r1;
D、intn=8;intr1=n;constintr2=r1;
2、下面程序片段输出结果是什么?
inta=1,b=2;intr=a;r=b;r=7;coutaendl;
A、1
B、2
C、7
D、8
3、下面说法哪种是对的?
A、常引用所引用的变量,其值不能被修改
B、不能通过常量指针,去修改其指向的变量
C、常量指针一旦指向某个变量,就不能再指向其他变量
D、1+1=3
4、表达式“newint”的返回值类型是:
A、int
B、int*
C、int
D、void
5、下面小段程序,哪个是正确的:
A、char*p=newchar;p='K';deletep;
B、int*p=newint;p=100;deletep
C、char*p=newint;p='a';deletep;
D、int*p=newchar;
6、下面说法正确的是:
A、多个重载函数的参数个数必须不同。
B、两个函数,参数表相同,返回值类型不同,它们是重载关系。
C、调用一个第二个和第三个参数都有有缺省值的函数时,可以不写第二个实参而写第三个实参。
D、使用内联函数的目的是提高程序的运行速度。
7、简单的swap通过码是(请参考公告中的“关于编程作业的说明”完成编程作业(请注意,编程题都要求提交通过码,在openjudge上提交了程序并且通过以后,就可以下载到通过码。
)
8、难一点的swap的通过码是
9、好怪异的返回值通过码是
10、神秘的数组初始化通过码是
第二章类和对象基础
第二章测验
1、有类A如下定义:
classA{intv;public:
A(intn){v=n;}};下面哪条语句是编译不会出错的?
A、A)Aa=newA();
B、B)Aa2;
C、C)A*p=newA();
D、D)Aa1(3);
2、假设A是一个类的名字,下面的语句生成了几个类A的对象?
A*arr={newA(),NULL,newA()};
A、A)1
B、B)2
C、C)3
D、D)4
3、假设A是一个类的名字,下面哪段程序不会用到A的复制构造函数?
A、A)Aa1,a2;a1=a2;
B、B)voidfunc(Aa){cout"good"endl;}
C、C)Afunc(){Atmp;returntmp;}
D、D)Aa1;Aa2(a1);
4、类A定义如下:
classA{intv;public:
A(inti){v=i;}A(){}};下面哪段程序不会引发类型转换构造函数被调用?
A、A)Aa1(4)
B、B)Aa2=4;
C、C)Aa3;a3=9;
D、D)Aa1,a2;a1=a2;
5、假设A是一个类的名字,下面的程序片段会调用类A的调用析构函数几次?
intmain(){A*p=newA;A*p2=newA;Aa;deletep;}
A、A)1
B、B)2
C、C)3
D、D)4
6、学生信息处理程序通过码
7、奇怪的类复制通过码
8、超简单的复数类通过码
9、哪来的输出通过码
第三章类和对象提高
第三章测验
1、1)以下说法不正确的是:
A、A)静态成员函数中不能使用this指针
B、B)this指针就是指向成员函数所作用的对象的指针
C、C)每个对象的空间中都存放着一个this指针
D、D)类的非静态成员函数,真实的参数比所写的参数多1
2、2)下面说法哪个不正确?
A、A)静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数
B、B)非静态成员函数不能访问静态成员变量
C、C)静态成员变量被所有对象所共享
D、D)在没有任何对象存在的情况下,也可以访问类的静态成员
3、3)以下说法正确的是:
A、A)成员对象都是用无参构造函数初始化的
B、B)封闭类中成员对象的构造函数先于封闭类的构造函数被调用
C、C)封闭类中成员对象的析构函数先于封闭类的析构函数被调用
D、D)若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表
4、4)以下关于友元的说法哪个是不正确的?
A、A)一个类的友元函数中可以访问该类对象的私有成员
B、B)友元类关系是相互的,即若类A是类B的友元,则类B也是类A的友元
C、C)在一个类中可以将另一个类的成员函数声明为友元
D、D)类之间的友元关系不能传递
5、返回什么才好呢通过码
6、BigBase封闭类问题通过码
7、编程填空:
统计动物数量通过码
8、这个指针哪来的通过码
9、魔兽世界之一:
备战通过码
第四章运算符重载
第四章测验
1、1)如果将运算符重载成一个类的成员函数,则该重载函数有几个参数?
A、A)0
B、B)1
C、C)2
D、D)3
2、2)以下说法正确的是:
A、A)成员对象都是用无参构造函数初始化的
B、B)封闭类中成员对象的构造函数先于封闭类的构造函数被调用
C、C)封闭类中成员对象的析构函数先于封闭类的析构函数被调用
D、D)若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表
3、3)重载“”用于将自定义的对象通过cout输出时,以下说法哪个是正确的
A、A)可以将""重载为ostream类的成员函数,返回值类型是ostream
B、B)可以将""重载为全局函数,第一个参数以及返回值,类型都是ostream
C、C)可以将""重载为全局函数,第一个参数以及返回值,类型都是ostream
D、D)可以将""重载为ostream类的成员函数,返回值类型是ostream
4、4)如何区分自增运算符重载的前置形式和后置形式?
A、A)重载时,前置形式的函数名是++operator,后置形式的函数名是operator++
B、B)后置形式比前置形式多一个int类型的参数
C、C)无法区分,使用时不管前置形式还是后置形式,都调用相同的重载函数
D、D)前置形式比后置形式多了一个int类型的参数
5、MyString通过码
6、看上去好坑的运算符重载通过码
7、惊呆!
Point竟然能这样输入输出
8、第四周程序填空题3
9、别叫,这个大整数已经很简化了!
通过码
第五章继承
第五章测验
1、1)如果多种事物,有一些共同的特点,又有一些各自不同的特点,如何编写类来代表这些事物比较合适?
A、A)为每种事物独立编写一个类,各类之间互相无关
B、B)写一个类代表其中一种事物,代表其他事物的类,都从这个类派生出来
C、C)概括所有事物的共同特点,写一个基类。
然后为每种事物写一个类,都从基类派生而来
D、D)一共就写一个类,包含所有事物的所有特点,然后用一个成员变量作为标记来区分不同种类的事物
2、2)以下哪种派生关系是合理的
A、A)从“虫子”类派生出“飞虫”类
B、B)从“点”类派生出“圆”类
C、C)从“狼”类派生出“狗”类
D、D)从“爬行动物”类派生出“哺乳动物”类
3、3)派生类和基类有同名同参数表的成员函数,这种现象:
A、A)叫重复定义,是不允许的
B、B)叫函数的重载
C、C)叫覆盖。
在派生类中基类的同名函数就没用了
D、D)叫覆盖。
体现了派生类对从基类继承得到的特点的修改
4、4)以下说法正确的是:
A、A)派生类可以和基类有同名成员函数,但是不能有同名成员变量
B、B)派生类的成员函数中,可以调用基类的同名同参数表的成员函数
C、C)派生类和基类的同名成员函数必须参数表不同,否则就是重复定义
D、D)派生类和基类的同名成员变量存放在相同的存储空间
5、5)以下说法正确的是:
A、A)派生类对象生成时,派生类的构造函数先于基类的构造函数执行
B、B)派生类对象消亡时,基类的析构函数先于派生类的析构函数执行
C、C)如果基类有无参构造函数,则派生类的构造函数就可以不带初始化列表
D、D)在派生类的构造函数中部可以访问基类的成员变量
6、全面的MyString通过码
7、继承自string的MyString通过码
8、魔兽世界2通过码
9、统计动物数量通过码
第六章多态
第六章测验
1、看上去像多态通过码
2、Fun和Do通过码
3、这是什么鬼delete通过码
4、怎么又是Fun和Do通过码