C++语言程序设计学习通超星期末考试答案章节答案2024年_第1页
C++语言程序设计学习通超星期末考试答案章节答案2024年_第2页
C++语言程序设计学习通超星期末考试答案章节答案2024年_第3页
C++语言程序设计学习通超星期末考试答案章节答案2024年_第4页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++语言程序设计学习通超星期末考试章节答案2024年C++中使用()作为标准输入流对象,通常代表键盘,与提取操作符()连用;使用()作为标准输出流对象,通常代表显示设备,与()连用。

答案:cin;>>;cout;<<C++提供()将相同的名字放在不同的空间中来防止命名冲突。

答案:名字空间(namespace);namespace;名字空间()是指在一般类中定义的属性或行为被特殊类继承之后可以具有不同的数据类型或表现出不同的行为。

答案:多态性面向对象的软件开发过程中主要包括(),(),(),()和()。

答案:面向对象的方法分析;面向对象的分析;面向对象的设计;面向对象的编程;面向对象的测试;面向对象的维护对象与对象之间通过()进行相互通信

答案:消息C++程序开发通常要经过5个阶段,包括(),(),(),(),()。

答案:编辑;编译;连接;运行;调试面向对象的方法将现实世界中的客观事物描述成具有属性和行为的(),抽象出共同属性和行为,形成()。

答案:对象;类下列程序的运行结果为()#include#includeusingnamespacestd;intmain(){cout<答案:33.33,18

C++程序运行时,总是起始于

答案:main()

#include语句()。

答案:总是在程序执行时最先执行C++语言程序能够在不同操作系统下编译、运行,说明C++具有良好的()。

答案:

移植性C++语言属于()。

答案:

高级语言斐波纳契数列有如下特点:第1、2个数都是1,从第3个数开始,每个数都是前两个数的和。下列程序的功能是求数列的前m(m>1)个数,按每行5个数输出。intmain(){intf1(1),f2(1),m;cin>>m;cout<答案:f2=f1+f2;f2+=f1;f2=f2+f1;f1=f2-f1;f1=f2-f1;(i+1下列程序的功能是输出100以内能被3整除且个位数为6的所有整数,请填空。intmain(){

inti,j;

for(i=0;__1__;i++)

{

j=i*10+6;

if(___2____)continue;

cout<答案:i<10;j%3!=0以下循环体的执行次数为()int

main(){

int

i(0);

while(i<100){

if(i<1)

continue;

if(i==5)

break;

i++;

}

system("pause");

return

0;

}

答案:死循环下列程序的运行结果是()。#include#includeusing

namespace

std;int

main(){

int

a(1),b(1);

for(;a<=100;a++)

{

if(b

>=10)

break;

if(b

%

3

==1)

{b+=3;continue;}

}

cout<答案:4对重载函数的要求,准确的为()。

答案:要求参数个数相同时类型不同在C++中,关于默认形参值,正确的描述是()。

答案:应该无从右边的形参开始向左边依次设置关于switch语句的用法,下列描述错误的是(

)

答案:每个case分句必须以break结束语句while(!E)中的表达式!E等价于()。

答案:E==0下面程序段循环执行了()。intk=10;while(k=3)k=k-1;

答案:死循环以下循环的执行次数为()。for(inti=2;i!=0;)cout<答案:两次以下程序的输出结果为()。intmain(){

inta(15),b(21),m(0);

switch(a%3)

{

case0:m++;break;

case

1:m++;

switch(b%2)

{default:m++;

case0:m++;break;

}

}

cout<答案:1以下程序的输出结果为()。intmain(){

intx(1),a(0),b(0);

switch(x){

case0:b++;

case1:a++;

case2:a++;b++;

}

cout<<"a=<答案:a=2,b=1intmain(){

inta(1),b(3),c(5),d(4),x(0);

if(a答案:2以下程序的输出结果为()。intmain(){

inta(20),b(30),c(40);

if(a>b)a=b,b=c;c=a;

cout<<"a="<答案:a=20,b=30,c=20下列语句中的x和y都是int型变量,其中错误的语句是()。

答案:(x+y)++;若定义"shortint

i=32769;”"cout<答案:-32767输出任意的杨辉三角形,形状类似等腰的三角形,上传代码及截图。并且首行是学号+名字

答案:#include#includeusingnamespacestd;intmain(){intm;cout<<"inputrowandcol:";cin>>m;inta[m][m];for(inti=0;i已知“char

str1[8],str2[8]{"good"};”则在程序中不能将字符数组str2赋给str1的语句是()。

答案:str1=str2;以下程序的输出结构是()intmain(){

charst[20]="hello\0\t\\\";

cout<答案:520以下程序的执行结果为()intf(inti){return++i;}intg(int&i){return++i;}intmain(){

inta{0},b{0};

a+=f(g(a));

b+=f(f(b));

cout<答案:32以下程序的输出结果是(

)。

intmain(){charw[][10]={“ABCD”,“EFGH”,“IJKL”,“MNOP”},k;for(k=1;k<3;k++)

std::cout<答案:EFGHIJKL在下列定义中,不正确的是(D)

答案:

int*p=10;以下不能对二维数组a正确初始化的语句是()。

答案:inta[2][3]={{1,2},{3,

4},{5,

6}};以下定义语句不正确的是()

答案:inty[5]={0,1,3,5,7,9};在C++中引用数组元素时,其数组下标的数据类型允许是()

答案:非浮点型表达式enumweekday{sun,mon,tue,wed=4,thu,fri,sat}w1;w1

=mon;cout<答案:5求两个动态矩阵的乘积。#include#includeusingnamespacestd;intmain(){

intm,n,k,i,j,k1;

int**dm,**dn,**dk;

cout<<"inputmatrixsizem,n,k:";

cin>>m>>n>>k;

dm=(

1

);

//建立m个指针,存储m行

for(i=0;i>dm[i][j];

}

dn=newint*[n];

//建立n个指针,存储m行

for(i=0;i>dn[i][j];

}

dk=newint*[m];

//建立m个指针,存储m行

for(i=0;i答案:newint*[m];

newint*[m];newint*[m];newint[n];j<n;j<n;newint[k];newint[k]{0};newint[k]{};dk[i][j]+=dm[i][k1]*dn[k1][j];dk[i][j]=dk[i][j]+dm[i][k1]*dn[k1][j];dk[i][j]=

dk[i][j]+dm[i][k1]*dn[k1][j];dk[i][j]+=dm[i][k1]*dn[k1][j];cout<<endl;cout

<<

endl;cout<<'\n';cout<<"\n";cout<<'\n';cout<<"\n";cout<<'\n';delete[]dk[i];delete[]dm;(10)

delete[]dn[i]enumstring{

x1,

x2,

x3=10,

x4,

x5,

}x;函数外部访问x等于什么?

答案:0下列程序段的运行结果为()。#include#includechar*

inputa(){

static

char

str[20]

=

"123";

return

str;}char*

inputb(){

char

*str

=

"456";

return

str;}int

main(){

char

*p

=

inputb();

std::cout

<答案:123,456下列程序段的运行结果为()。#include#includenamespace

mynamespace{

int

flag

=

10;}namespace

yournamespace

{

int

flag

=

100;}int

main(){

int

flag

=

1000;

using

namespace

yournamespace;

std::cout

<答案:1000,10下面程序段的运行结果为()。#include#include#define

DEBUG

2int

main(){

int

i

=

3;

#ifndef

DEBUG

std::cout

<答案:3,2下面程序段的运行结果为()。#include#includeusing

namespace

std;int

i

=

100;int

fun(){

static

int

i

=

10;

return

++i;}int

main(){

fun();

std::

cout

<<

fun()

<<

","

<<

i;

system("pause");

return

0;

}

答案:12,100下面程序段的运行结果为()。#includeusing

namespace

std;#define

ADD(x)

x+xint

main(){int

m

=

1,n

=

2,k

=

3;

int

sum

=

ADD(m+n)

*

k;

std::

cout

<<

"sum

=

"

<<

sum;

system("pause");

return

0;

}

答案:sum=10在C++中,函数默认的存储类别为()。

答案:autoclassclass

A{

_____;

int

n;

public:

A(int

nn

=

0):n(nn){

if(n

==

0)a

=

nullptr;

else

a=new

int[n];

}

~A(){_____;}};

答案:int*a;int*a;int*a;;delete[]a;delete[]a;下列()不是构造函数的特征。

答案:构造函数必须指定类型说明有关构造函数的说法不正确的是()。

答案:构造函数有且只有一个在建立类的对象时()。

答案:为每个对象分配用于保存数据成员的内存下列关于成员函数特征的描述,()是错误的。

答案:成员函数一定是内联函数类的数据成员下面哪个不可以()。

答案:本类的对象数据封装就是将一组数据和与这组数据有关的操作组装在一起,形成一个实体,这个实体也就是()。

答案:类如果在类内A中,构造函数

A(double)

=

delete;在类外,执行A

a1(3.14);是错误的!

答案:对成员变量可以在委托构造函数的初始化列表里初始化。

答案:错下面代码的输出结果为()。class

Con{

char

ID;

public:

char

getID()const{return

ID;}

Con():ID('A'){cout

<<

1;}

Con(char

ID):ID(ID){cout

<<

2;}

Con(Con&

c):ID(c.getID()){cout

<<

3;}};void

show(Con

c){cout

<<

c.getID();}int

main(){

Con

c1;

show(c1);

Con

c2('B');

show(c2);

system("pause");

return

0;}

答案:13A23B下面程序的输出结果为()。class

Location{

public:

int

X,Y;

Location(int

x,int

y):X(x),Y(y){}

void

init(int

initX,int

initY){

X

=

initX,Y

=

initY;

}

int

GetX(){

return

X;

}

int

GetY(){

return

Y;

}};void

display

(Location&

rL){

cout

<<

rL.GetX()

<<"

"

<<

rL.GetY()

<<

endl;}int

main(){

Location

A[5]

=

{{0,0},{1,1},{2,2},{3,3},{4,4}};

Location*

rA

=

A;

A[3].init(5,3);

rA->init(7,8);

for(int

i

=

0;i

<

5;i++)

display(*(rA++));

system("pause");

return

0;}

答案:7811225344下面代码的输出结果为()。class

A{

public:

int

number;

void

set(int

i);};int

number

=

3;void

A::set

(int

i){

number

=

i;}int

main(){

A

my1;

int

number

=

10;

my1.set(5);

cout

<<

my1.number

;

my1.set(number);

cout

<<

my1.number

;

my1.set(::number);

cout

<<

my1.number;

system("pause");

return

0;}

答案:5103class

A{

int

aa;public:

A(int

aa):aa{aa}{cout

<<

aa

<答案:3445有以下程序:classMyClass{

public:

Myclass(){cout<<"A";}

Myclass(charc)

{cout<答案:AXBB有以下类定义:classPoint{

intx,y;public:

Point():x{0},y{0}{

}

Point(intx,inty=0):x{x},y{y}{}};

若执行语句:Pointa(2),b[3],*c[4];则Point类的构造函数被调用的次数是()。

答案:4次有以下类定义:classFoo{intbar;}则Foo类的成员bar是()。

答案:私有数据成员下列程序执行后的输出结果是()。classclass

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();

system("pause");

return

0;

答案:57一般情况下,使用对象作为函数的参数,要比使用对象的引用作为函数的参数,在运行时的开销要大。

答案:对C语言程序中的static函数只能被包含该函数的源程序文件中的其他函数使用。

答案:对类的静态数据成员的存在不依赖于任何类对象的存在。

答案:对class

A

{public:

A(int

a=0){x=a;}

static

void

f1(){};private:

int

x;

static

int

y;};int

main(){

A::y

=

0;

A::f1();

return

0;}上面的代码编译时会出现错误。

答案:对若一个成员同时有就地初始化和构造函数列表初始化,则就地初始化语句被忽略不执行。

答案:对在构造函数的函数体种,还可以初始化类的数据成员

答案:错不管类的数据成员是public还是private属性,数据成员必须在函数成员前面声明。

答案:错我们可以修改this指针的值,使之指向另外一个对象。

答案:错拷贝构造函数的参数数量可以是

答案:多于2个;1;2以下选项中,哪种方法可以将类中的函数成员声明为内联函数?

答案:class

A

{class

A

{

inline

void

f();};void

A::f(){};class

A

{class

A

{

void

f()

{

//do

something

}};;inline

void

A::f()

{

//do

something}关于this指针,说法正确的有()。t

答案:his指针是自动初始化的;

this指针指向调用当前函数的对象1.classS{

2.intx=7;

3.intn(7);

4.std::strings{"Hello"};5.

inta[]={1,2,3};

6.autob[]={1,2,3};7.public:8.

S(){}

9.};

上面代码中有误的是哪行?

答案:3,5,61.class

A

{2.public:3.

A(int

a=0){4.

x=a;5.

}6.

static

void

f1(){7.

x++;8.

};9.private:10.

int

x;11.static

int

y;12.};以下类的声明中有错误,请指出错误的代码行号()。

答案:7对于代码structX{

intx{8};

X():x{10}{

x=42;

}};X

c;则c.x的值是()。

答案:42下面哪个有错误?classS{

intm=7;//①

intn(7);

//②

std::strings{'a','b','c'};//③

std::stringt{"Constructorrun"};//④

inta[]={1,2,3};//⑤

intb[3]={1,2,3};//⑥public:

S(){}};

答案:②

⑤静态成员函数没有()

答案:

this指针class

Circle

{}

;void

f

(

Circle

c

);//

main()

Circle

x{};f(x);第五行代码会导致对象拷贝()

答案:对基类的私有成员不管以何种方式派生,在派生类中都是不可访问的。

答案:对保护派生后,在类外可以通过派生类的对象该问类的保护成员。

答案:错保护继承后,基类的公有成员及保护成员都成为派生类的保护成员。

答案:对派生类构造函数必须调用基类构造函数。

答案:对通过基类指调用同名函数,只能是基类的。

答案:对派生类对象对基类对象的引用,基类必须进行强制转换才可以。

答案:对派生类对象的地址可以赋值给基类指针。

答案:对基类对象可以给派生类对象赋值。

答案:错struct

X{X()

{

std:cout<<"1";

}X(const

X&)

{

std::cout

<<"2";

}~X()

{

std::cout<<"3";

}};X

f(){X

x;return

x;}int

main(){

f();

return

0;

}程序的运行结果为()。

答案:13#includeusing

std::cin;using

std::cout;using

std::endl;class

A{

public:

A(int

i

=

0){cout

<<

"调用了A"

<<

endl;}

private:

int

a;};class

B:public

A{

public:

B(){cout

<<

"调用了B0"

<<

std::endl;}

B(int

i,int

j,int

k);

private:

int

b;

A

aa;};B::B(int

i,

int

j,

int

k):A(i),aa(j){

b

=

k;

cout

<<

"调用了B"

<<

endl;

}int

main(){

B

b;

system("pause");

return

0;}运行结果为:()和()和()

答案:调用了A;调用了A;调用了B0#includeusing

std::cin;using

std::cout;class

A{

public:

A(){

a

=

0;}

A(int

i){a

=

i;}

void

print(){cout

<<

a

<<

",";}

int

geta(){return

0;}

private:

int

a;};class

B:public

A{

public:

B(){b

=

0;}

B(int

i,int

j,int

k);

void

print();

private:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论