覆盖超星/学习通/尔雅等10+学习平台 | 历年真题+答案解析+模拟试卷 | 免费下载 实时更新 精准检索
超星学习通程序设计基础(C_C++)作业答案 (3)
超新学习通 2025-04-09 06:33:44 0 0
广告示例

想要快速找到正确答案?

立即关注 九八五题库微信公众号,轻松解决学习难题!

随机漂浮广告
超星学习通程序设计基础(C_C++)作业答案 (3)

作业论文指导

扫码关注
作业论文指导,轻松解决学习难题!

超星学习通程序设计基础(C_C++)作业答案 (3)

程序设计基础(C_C++)

学校: 无

问题 1: 1. 在定义类A的非静态成员函数 A& f(A& m)时,有语句“return n;”,则n不能是( )。

选项:

A. m

B. *this

C. 函数f中用语句 “A a=m;”定义的a

D. 类A中类型为A的静态数据成员

答案: 函数f中用语句 “A a=m;”定义的a

问题 2: 2. 有如下类定义和变量定义 class A{ public: A() {data=0;} ~A() {} int GetData() const {return data;} void SetData(int n) {data=n;} private: int data; }; const A a; A b; 下列函数调用中错误的是( )。

选项:

A. a.GetData();

B. a.SetData(10);

C. b.GetData();

D. b.SetData(10);

答案: a.SetData(10);

问题 3: 3. 有如下类定义: class Cup{ public: void SetPrice(double val=5.8); double GetPrice( ){ return price; } double GetPrice() const { return price; } private: double price; }; void Cup::SetPrice(double val) { price=val; } 下列关于类中成员函数的叙述中,错误的是()。

选项:

A. 成员函数SetPrice不是内联函数

B. 成员函数SetPrice的形参val具有默认值

C. 成员函数GetPrice有两个重载

D. 类中没有对成员函数GetPrice进行重载

答案: 类中没有对成员函数GetPrice进行重载

问题 4: 4. 如下程序执行后的输出结果是( )。 #include using namespace std; class AA { int n; public: AA( int k) :n(k) {} int get() { return n; } int get()const { return n+1; } }; int main() { AA a(5); const AA b(6); cout << a. get()<< b. get(); return 0; }

选项:

A. 55

B. 57

C. 75

D. 77

答案: 57

问题 5: 5. 有如下类定义: class Test { public: Test(){a=0;c=0;}//① int f(int a)const{ this->a=a;}//② static int g(){ return a;}//③ void h(int b){Test::b= b;};//④ private: int a; static int b; const int c; }; int Test::b= 0; 在标注号码的行中,能被正确编译的是( )

选项:

A. ①

B. ②

C. ③

D. ④

答案: ④

问题 6: 6. 由于常对象不能被更新,因此( )

选项:

A. 通过常对象只能调用它的常成员函数

B. 通过常对象只能调用静态成员函数

C. 常对象的成员都是常成员

D. 通过常对象可以调用任何不改变对象值的成员函数

答案: 通过常对象只能调用它的常成员函数

问题 7: 7. 关于成员函数特征的下述描述中,( )是错误的。

选项:

A. 成员函数一定是内联函数

B. 成员函数可以重载

C. 成员函数可以设置参数的默认值

D. 成员函数可以是静态的

答案: 请关注公众号【九八五题库】查看答案

问题 8: 8. 静态成员函数没有( )

选项:

A. 返回值

B. this 指针

C. 指针参数

D. 返回类型

答案: 请关注公众号【九八五题库】查看答案

问题 9: 9. 下列因素中,对C++编译器区分重载函数无任何意义的是 ( )。

选项:

A. 返回值类型

B. 常成员函数关键字const

C. 参数类型

D. 参数个数

答案: 请关注公众号【九八五题库】查看答案

问题 10: 10. 以下程序的输出结果为____。 class Class { public: static int var; Class() { var++; } }; int Class::var = 0; int main() { cout<

选项:

答案: 请关注公众号【九八五题库】查看答案

问题 11: 1. 设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( )

选项:

A. A类构造函数先执行

B. 成员对象构造函数先执行

C. 两者并行执行

D. 不能确定

答案: 请关注公众号【九八五题库】查看答案

问题 12: 2. 有如下程序: #include #include using namespace std; class Wheel { public: Wheel(string s="W"):name(s) { cout<

选项:

A. G

B. RG

C. WRG

D. RWG

答案: 请关注公众号【九八五题库】查看答案

问题 13: 3. 对象成员的构造函数调用顺序取决于( )

选项:

A. 对象成员在初始化列表中给出的顺序

B. 对象成员在类中声明的顺序

C. 对象成员与在初始化列表中顺序和类中声明顺序均有关

D. 随机顺序

答案: 请关注公众号【九八五题库】查看答案

问题 14: 4. 以下程序的输出结果为:( ) #include using namespace std; class ONE { int c; public: ONE():c(0) { cout<<1; } ONE(int n):c(n) { cout<<2; } }; class TWO { ONE one1; ONE one2; public: TWO(int m):one2(m),one1(0) { cout<<3; } }; int main(){ TWO t(4); return 0; }

选项:

答案: 请关注公众号【九八五题库】查看答案

问题 15: 1. 有如下程序: class Date { public: Date(int y=2014,int m=9,int d=9):year(y),month(m),day(d) {} ________________(ostream& stream, Date &ddd) //运算符<<的定义 { stream<

选项:

A. istream& operator <<

B. ostream& operator <<

C. friend istream& operator <<

D. friend ostream&operator <<

答案: 请关注公众号【九八五题库】查看答案

问题 16: 2. 运算符重载时必须有所不同的是 ( )。

选项:

A. 优先级

B. 结合性

C. 操作数个数

D. 操作数类型

答案: 请关注公众号【九八五题库】查看答案

问题 17: 3. 下列运算符中,( )运算符在C++中不能重载。

选项:

A. &&

B. [ ]

C. ::

D. new

答案: 请关注公众号【九八五题库】查看答案

问题 18: 4. 下列关于运算符重载的描述中,( )是正确的。

选项:

A. 运算符重载可以改变运算数的个数

B. 运算符重载可以改变优先级

C. 运算符重载可以改变结合性

D. 运算符重载不能改变其意义

答案: 请关注公众号【九八五题库】查看答案

问题 19: 5. 如果表达式++i*k中的++和*都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )

选项:

A. operator* (i. operator++(),k)

B. operator * (operator++(i),k)

C. i. operator++(). operator* (k)

D. k. operator * (operator++(i))

答案: 请关注公众号【九八五题库】查看答案

问题 20: 6. 下列关于运算符重载的叙述中,正确的是( )。

选项:

A. 通过运算符重载,可以定义新的运算符

B. 有的运算符只能作为成员函数重载

C. 若重载运算符+,则相应的运算符函数名是+

D. 重载一个二元运算符时,必须声明两个形参

答案: 请关注公众号【九八五题库】查看答案

问题 21: 7. 已知在一个类体中包含如下函数原型: VOLUME operator-(VOLUME) const;。 下列关于这个函数的叙述中,错误的是( )。

选项:

A. 这是运算符-的重载运算符函数

B. 这个函数所重载的运算符是一个一元运算符

C. 这是一个成员函数

D. 这个函数不改变类的任何数据成员的值

答案: 请关注公众号【九八五题库】查看答案

问题 22: 8. 将运算符*重载为类成员函数时,其参数表中有且仅有一个参数,说明该运算符是( )。

选项:

A. 无操作数的运算符

B. 一元运算符

C. 二元运算符

D. 三元运算符

答案: 请关注公众号【九八五题库】查看答案

问题 23: 9. 下面是重载为非成员函数的运算符的函数原型,其中错误的是()。

选项:

A. Fraction operator+(Fraction, Fraction);

B. Fraction operator-(Fraction);

C. Fraction& operator= (Fraction&, Fraction);

D. Fraction& operator+= (Fraction&, Fraction);

答案: 请关注公众号【九八五题库】查看答案

问题 24: 10. 有如下类定义: class MyClass { public: _____________ private: int data; }; 若要为MyClass类重载流输入运算符“>>”,使得程序中可以"cin >> obj”的形式改变MyClass类的对象obj中数据成员data的值,则下划线处的声明语句应为() 。

选项:

A. friend istream& operator >> (istream& is,MyClass& a);

B. friend istream& operator >> (istream& is,MyClass a);

C. istream& operator >> (istream& is, MyClass& a);

D. istream& operator >> (istream& is, MyClass a);

答案: 请关注公众号【九八五题库】查看答案

问题 25: 1. 计算数列第n项的函数定义如下: int fa(int n){ if (n == 1) return 1; else return 3*fa(n-1)+2; } 若执行函数调用表达式 fa(4)时,返回的函数值为( )。

选项:

A. 53

B. 17

C. 23

D. 49

答案: 请关注公众号【九八五题库】查看答案

问题 26: 2. 计算斐波那契数列第n项的函数定义如下: int fib(int n) { if (n == 0) return 1; else if (n == 1) return 2; else return fib(n-1)+fib(n-2); } 若执行函数调用表达式fib(4),函数fib 被调用的次数是()。

选项:

A. 6

B. 7

C. 8

D. 9

答案: 请关注公众号【九八五题库】查看答案

问题 27: 3. 有以下程序 #include using namespace std; int fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } int main() { cout<

选项:

A. 7

B. 3

C. 2

D. 0

答案: 请关注公众号【九八五题库】查看答案

问题 28: 4. 有以下程序 int fun(int a,int b) { if(b==0) return a; else return (fun(--a,--b)) ; } int main() { cout<

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【九八五题库】查看答案

问题 29: 5. 以下程序的输出结果是____。 #include using namespace std; void fun(int x) { if(x/2>0) fun(x/2); cout<

选项:

答案: 请关注公众号【九八五题库】查看答案

问题 30: 6. 以下程序的输出结果是____。 sub(int *a,int n,int k) { if(k<=n) sub(a,n/2,2*k); *a+=k; } main() { int x=0; sub(&x,8,1); cout<< x; }

选项:

答案: 请关注公众号【九八五题库】查看答案

问题 31: 7. 以下程序的运行结果是:____。 #include using namespace std; int f(int a[],int n) { if(n>1) return a[0] + f(a+1, n-1); else return a[0]; } int main() { int aa[10]= {1,2,3,4,5,6,7,8,9,10}, s; s=f(aa,5); cout<

选项:

答案: 请关注公众号【九八五题库】查看答案

问题 32: 8. 以下程序的运行结果是:____。 #include using namespace std; fun(int t[],int n) { int i,m; if(n==1) return t[0]; else if(n>=2) { m=t[n-1]+fun(t,n-1); return m; } } main() { int a[]= {4,6,3,8,2}; cout<

选项:

答案: 请关注公众号【九八五题库】查看答案

问题 33: 1. 在一个派生类对象结束其生命周期时( )

选项:

A. 先调用派生类的析构函数后调用基类的析构函数

B. 先调用基类的析构函数后调用派生类的析构函数

C. 如果基类没有定义析构函数,则只调用派生类的析构函数

D. 如果派生类没有定义析构函数,则只调用基类的析构函数

答案: 请关注公众号【九八五题库】查看答案

问题 34: 2. 在派生类构造函数的初始化列表中不能包含( )。

选项:

A. 基类的对象成员的初始化

B. 派生类对象成员的初始化

C. 派生类中一般数据成员的初始化

D. 基类的构造函数

答案: 请关注公众号【九八五题库】查看答案

问题 35: 3. 在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( )。

选项:

A. 派生类的对象可以赋给基类的对象

B. 派生类的对象可以初始化基类的引用

C. 派生类的对象可以直接访问基类中的任何成员

D. 派生类的对象的地址可以赋给指向基类的指针

答案: 请关注公众号【九八五题库】查看答案

问题 36: 4. 有如下程序: #include < iostream > using namespace std; class A { public: A( ) { cout<<"A"; } }; class B{ public: B(){ cout<<"B";} }; class C : public A { B b; public: C( ) { cout<<”C”;} }; int main() { C obj; return 0; } 执行后的输出结果是( )

选项:

A. CBA

B. BAC

C. ACB

D. ABC

答案: 请关注公众号【九八五题库】查看答案

问题 37: 5. 有如下类定义: class XA{ int x; public: XA(int n){ x=n;} }; class XB: public XA{ int y; public: XB(int a, int b); }; 在构造函数XB的下列定义中,正确的是( )。

选项:

A. XB::XB(int a,int b): x(a), y(b){}

B. XB::XB(int a,int b): XA(a), y(b){ }

C. XB:: XB(int a,int b): x(a), XB(b){ }

D. XB::XB(int a,int b): XA(a),XB(b){ }

答案: 请关注公众号【九八五题库】查看答案

问题 38: 6. 有如下程序: #include < iostream > using namespace std; class Base { public: void fun(){cout <<" Base::fun"<< endl;} }; class Derived: public Base { public: void fun() { _______________ cout <<”Derived::fun”<< endl; } }; int main() { Derived d; d. fun(); return 0; } 已知其执行后的输出结果为: Base::fun Derived::fun 则程序中下划线处应添加的语句是( )。

选项:

A. Base.fun();

B. Base::fun();

C. Base-> fun();

D. fun();

答案: 请关注公众号【九八五题库】查看答案

问题 39: 7. 有如下程序: #include < iostream > using namespace std; class A{ public: A(){cout<<"A";} ~A(){cout<<"-A";} }; class B:public A{ A* p; public: B(){cout<<"B"; p = new A();} ~B(){cout<<"-B"; delete p;} }; int main(){ B obj; return 0; } 执行这个程序的输出结果是( )。

选项:

A. BAA-A-B-A

B. ABA-B-A-A

C. BAA-B-A-A

D. ABA-A-B-A

答案: 请关注公众号【九八五题库】查看答案

问题 40: 8. 有如下程序: # include < iostream > using namespace std; class Base { private: void fun1()const{ cout <<"fun1";} protected: void fun2()const{ cout <<"fun2";} public: void fun3()const{ cout<<”fun3" ;} }; class Derived : protected Base { public: void fun4( )const{ cout<<"fun4" ;} }; int main() { Derived obj; obj. fun1();//① obj. fun2();//② obj. fun3();//③ obj. fun4();//④ } 其中有语法错误的语句是( )。

选项:

A. ①②③④

B. ①②③

C. ②③④

D. ①④

答案: 请关注公众号【九八五题库】查看答案

问题 41: 9. 有如下类定义: class MyBase { private: int k; public: MyBase(int n=0):k(n){} int value( )const{ return k; } }; class MyDerived : MyBase{ int j; public: MyDerived(int i):j(i){} int getK()const{ return k;} int getj()const{ return j; } }; 编译时发现有一处语法错误,对这个错误最准确的描述是( )。

选项:

A. 函数getK试图访问基类的私有成员变量K

B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private

C. 类MyDerived缺少一个无参的构造函数

D. MyDerived构造函数没有对基类数据成员K进行初始化

答案: 请关注公众号【九八五题库】查看答案

问题 42: 10. 有如下程序: #include < iostream > using namespace std; class Base{ protected: Base(){cout<<'A';} Base(char c){cout<

选项:

A. B

B. BA

C. AB

D. BB

答案: 请关注公众号【九八五题库】查看答案

问题 43: 1. 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )

选项:

A. 都是虚函数

B. 只有被重新说明时才是虚函数

C. 只有被重新说明为vrual时才是虚函数

D. 都不是虚函数

答案: 请关注公众号【九八五题库】查看答案

问题 44: 2. ( )是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。

选项:

A. 虚析构函数

B. 虚构造函数

C. 纯虚函数

D. 静态成员函数

答案: 请关注公众号【九八五题库】查看答案

问题 45: 3. 关于纯虚函数和抽象类的描述中,( )是错误的

选项:

A. 纯虚函数是一种特殊的虚函数,它没有具体的定义

B. 抽象类是指具有纯虚函数的类

C. 一个基类中定义有纯虚函数,该基类的派生类一定不再是抽象类

D. 抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出

答案: 请关注公众号【九八五题库】查看答案

问题 46: 4. 有如下程序: class Animal { public: virtual string GetType() const { return "Animal"; } virtual string GetVoice() const { return "Voice"; } }; class Dog:public Animal { public: string GetType() const { return "Dog"; } string GetVoice() const { return "Woof"; } }; class Cat:public Animal { public: string GetType() const { return "Cat"; } string GetVoice() const { return "Miaow"; } }; void Type(Animal &a) { cout<

选项:

A. Dog speak Voice - Cat speak Voice

B. Dog speak Woof - Cat speak Miaow

C. Animal speak Voice - Animal speak Voice

D. Animal speak Woof - Animal speak Miaow

答案: 请关注公众号【九八五题库】查看答案

问题 47: 5. 有如下程序: #include < iostream > using namespace std; class Base { public: void fun1( ){cout <<" Base\n";} virtual void fun2(){cout <<" Base\n";} }; class Derived: public Base { public: void fun1(){cout <<"Derived\n" ;} void fun2(){cout <<"Derived\n";} }; void f(Base& b){b. fun1();b.fun2();} int main() { Derived obj; f(obj); return 0; } 执行这个程序,输出结果是( )。

选项:

A. Base Base

B. Base Derived

C. Derived Derived

D. Derived Base

答案: 请关注公众号【九八五题库】查看答案

问题 48: 6. 有如下程序: #include < iostream > using namespace std; class A{ public: virtual void func1(){cout<< “A1";} void func2(){cout <<"A2";} }; class B:public A{ public: void func1(){cout<<"B1";} void func2(){cout<<"B2";} }; int main( ) { A *p=new B; p-> func1(); p-> func2(); return 0; } 运行程序,屏幕上将显示输出( )

选项:

A. B1B2

B. A1A2

C. B1A2

D. A1B2

答案: 请关注公众号【九八五题库】查看答案

问题 49: 7. 有如下程序: #include < iostream > using namespace std; class Base{ int a,b; public: Base(int x ,int y) { a=x; b=y;} void show( ){ cout

选项:

A. 10,20

B. 30,40

C. 20,30

D. 50,50

答案: 请关注公众号【九八五题库】查看答案

问题 50: 1. 类模板的实例化( )。

选项:

A. 在编译时进行

B. 属于动态联编

C. 在运行时进行

D. 在连接时进行

答案: 请关注公众号【九八五题库】查看答案

问题 51: 2. 以下类模板定义正确的为( )。

选项:

A. template

B. template

C. template

D. template

答案: 请关注公众号【九八五题库】查看答案

问题 52: 3. 类模板的使用实际上是将类模板实例化成一个( )。

选项:

A. 函数

B. 对象

C. 类

D. 抽象类

答案: 请关注公众号【九八五题库】查看答案

问题 53: 4. 类模板的模板参数( )。

选项:

A. 只能作为数据成员的类型

B. 只可作为成员函数的返回类型

C. 只可作为成员函数的参数类型

D. 以上三种均可

答案: 请关注公众号【九八五题库】查看答案

问题 54: 5. 下列关于模板的表述中,正确的是( )。

选项:

A. 如果一个类中存在纯虚函数,这个类就是类模板

B. 函数模板不能有形式参数表

C. 类模板是一种参数化类型的类,是类的生成器类

D. 模板中不能包含构造函数

答案: 请关注公众号【九八五题库】查看答案



收藏
文章说明
©版权声明
本站提供的一切试卷均来自网上;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集,版权争议与本站无关。您必须在下载后的24个小时之内从您的设备中彻底删除。如有侵权请邮件与我们联系处理。敬请谅解!
评论留言

昵称

试卷网
试卷网
本站专注整合全网学习平台试卷资源,涵盖超星、学习通、尔雅、学起Plus、安徽继续教育、云上河开等平台的海量试题与答案,提供免费下载及在线查询服务。包含期末考试、模拟试题、章节练习等类型,覆盖大学、职业考试、继续教育等多领域,同步更新各平台最新试卷,助力高效备考与学习
  • 文章38585
  • 评论0
  • 微语1
最新评论