程序设计基础(C++)-南京理工大学中国大学mooc课后章节答案期末考试题库2023年_第1页
程序设计基础(C++)-南京理工大学中国大学mooc课后章节答案期末考试题库2023年_第2页
程序设计基础(C++)-南京理工大学中国大学mooc课后章节答案期末考试题库2023年_第3页
程序设计基础(C++)-南京理工大学中国大学mooc课后章节答案期末考试题库2023年_第4页
程序设计基础(C++)-南京理工大学中国大学mooc课后章节答案期末考试题库2023年_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

程序设计基础(C++)_南京理工大学中国大学mooc课后章节答案期末考试题库2023年要建立文件流并打开当前目录下的文件file1.dat用于输入,下列语句中错误的是。

参考答案:

ifstreamfin=ifstream.open("file1.dat");

关于对象成员的访问,下面哪一种说法是错误的?

参考答案:

对于一个对象引用,可用“->”运算符来访问其成员。

下面代码输出结果为___。classMyClass{intidno=nextid++;staticintnextid;public:MyClass(){}MyClass(constMyClass&obj){}MyClass(int){}voidprint(){cout<<idno<<endl;}};intMyClass::nextid=1;intmain(){MyClassa1,a2;MyClassa3{a2};a3.print();MyClassa4(3);a4.print();return0;}

参考答案:

34

设有语句:intk=2,*intp=&k;那么表达式:(*fun)(*intp);是:

参考答案:

通过函数指针fun来调用函数,实参为*intp。

设有语句intb[3][4];下面哪一条语句是正确的?

参考答案:

int*p[]={b[0],b[1],b[2]};

下面代码段执行输出结果为________。inta=2,*pa=&a;intb=3,*pb=&b;*pa*=*pa**pb;cout<

参考答案:

12

设有语句intk=8,*p=&k;*p的值是:

参考答案:

变量k的值8

静态成员函数对类的数据成员访问()。

参考答案:

只允许是静态数据成员

下面程序的第二行输出结果是:#includeusingnamespacestd;classA{intax;public:A(intx=10){ax=x;cout<<"调用构造函数A"<f();cout<

参考答案:

10

假定AB为一个类,则执行“AB*px=newAB[n];”语句时调用该类无参构造函数的次数为()。

参考答案:

n

对于一个函数voidsort(inta[],intn);设有语句:intb[7];下面哪一个函数调用能正确执行?

参考答案:

sort(b,sizeof(b)/sizeof(int));

面向对象方法的多态性是指()。

参考答案:

针对一消息,不同的对象可以以适合自身的方式加以响应

关于类的数据成员,下面哪一种说法是错误的?

参考答案:

如果有两个数据成员的可见性不同,它们就可以重名。

以下叙述中不正确的是_________。

参考答案:

在函数内的复合语句中定义的变量在本函数范围内有效

下面代码运行结果是。usingnamespacestd;#includeintf(intx){staticintu=1;x+=x;returnu*=x;}intmain(){intx=10;cout<

参考答案:

20400

若有宏:#defineAA10#defineD(x)x*x则执行cout<

参考答案:

23

下列程序的输出结果是。usingnamespcestd;#includeintmain(){intx=1,i=1;for(;x<50;i++){if(x>=10)break;if(x%2!=0){x+=3;continue;}x-=-1;}cout<

参考答案:

126

以下语句段执行结果:inta=2,b=0;while(!b--)cout<

参考答案:

2-1

设有下面语句:char*s1="C++Programming";chars2[]="C++Programming";下面哪一种操作不会导致错误?

参考答案:

s1="C++";

假设有语句如下:voidf3(int(*p)[4]);inta[4]={1,2,3,4};intb[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};下面哪一个调用是非法的?

参考答案:

f3(b[1]);

inta[]={1,2,3,4,5,6,7,8};int*p=a+4;intb=4+++*p++;*p的值为_____。

参考答案:

6

若有语句inta,*(*fun)(int*);fun表示____

参考答案:

指向函数的指针,该函数返回int*;

在类作用域中能够通过直接使用该类的()成员名进行访问。

参考答案:

任何

有以下语句:structPoint{intx,y;}ps[3]={{1,2},{3,4}};那么ps[1].x和ps[2].y的值分别是_______。

参考答案:

30

关于类的成员,下面哪一种说法是错误的?

参考答案:

类中至少应包含一个成员。

在C++程序中使用的cout标识符是系统类库中定义的()类中的一个对象。

参考答案:

ostream

若有说明语句:inty[][4]={0,0};则下面叙述不正确的是。

参考答案:

只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0

下面哪一个表达式能正确表示逻辑关系:"age≥18或age≤60"?

参考答案:

age>=18||age<=60

设有语句:charx=6,y=10;intz;z=(x^y)<<2;则z的值是

参考答案:

48

执行程序段:intx=6;do{if(x%3){cout<<'#';continue;}}while(x--);

参考答案:

将输出####

关于派生类与基类之间关系,下面哪一种说法是错误的?

参考答案:

越具体的派生类对象包含越少的属性。

下面程序的输出结果是()#includeusingnamespacestd;classBase{public:Base(inti){cout<<i;}~Base(){}};classBase1:virtualpublicBase{public:Base1(inti,intj=0):Base(j){cout<<i;}~Base1(){}};classBase2:virtualpublicBase{public:Base2(inti,intj=0):Base(j){cout<<i;}~Base2(){}};classDerived:publicBase2,publicBase1{public:Derived(inta,intb,intc,intd):mem1(a),mem2(b),Base1(c),Base2(d),Base(a){cout<<b;}private:Base2mem2;Base1mem1;};intmain(){DerivedobjD(1,2,3,4);return0;}

参考答案:

14302012

执行下面语句,输出结果是______。intb[3][3]={0,1,2,0,1,2,0,1,2},t=1;for(inti=0;i<3;i++)for(intj=i;j<=i;j++)t+=b[i][i]+b[j][j];cout<

参考答案:

7

执行程序段:intx,y;x=3;do{y=x--;if(!y){cout<<'#';continue;}cout<<'#';}while((x=1)||(x=2));

参考答案:

将进入死循环

整型变量m和n的值相等,且为非0值,下面哪一个表达式的值为零?

参考答案:

m^n

表达式16/4*float(4)+2.0的数据类型是。

参考答案:

double

设有语句inta=5;则执行表达式a-=a+=a*a后,a的值是。

参考答案:

0

若变量a是int类型,并执行了语句a='A'+1.6;下列哪一个叙述是正确的?

参考答案:

a的值是字符'B'

下列字符串常量表示中,错误的是()。

参考答案:

"\"yes\"or\"

以下可以作为C++自定义标识符的是:

参考答案:

sqrt

以下选项中,不能将字母A的ASCII码保存到变量ch的语句是:

参考答案:

charx="A";

设有inta=3,b=2,x=4;则cout<<(a

参考答案:

1

下面哪一个不能作为合法的标识符?

参考答案:

7days

在32位系统中,基本数据类型所占字节长度,正确的是:

参考答案:

char

以下各选项组中,均可作为自定义标识符的组是:

参考答案:

No1

Cout

a

假设有:inta[10]={9,1,6,0,8};数组元素a[5]的值是:

参考答案:

0

在C++中,打开一个文件,就是将这个文件与一个建立关联;关闭一个文件,就取消这种关联。

参考答案:

对象

下面哪一个语句编译会告警?

参考答案:

charcc[]{128,127,126};

下列有关继承和派生的叙述中,正确的是()

参考答案:

如果基类没有默认构造函数,派生类就应当声明带形参的构造函数

下列选项中合法的用户标识符是:

参考答案:

_2Text

不能作为重载函数的调用的依据是

参考答案:

函数返回类型

以下关于文件包含的描述中正确的是:

参考答案:

#include命令行可以出现在源程序中需要的任意行

以下程序执行后的输出为:usingnamespacestd;#includedoublef1(doublex){return1.0/x;}doublef2(doublex){returnx*x;}intmain(){inti=3;double(*f[2])(double)={f1,f2};cout<

参考答案:

9

下列函数原型说明中,错误的是________。

参考答案:

int

f4(int

a=0,intb);

以下关于C++函数的描述中,正确的是________。

参考答案:

c++要求在调用一个函数之前,该函数已定义或已有该函数的原型说明

对于构造函数,下面哪一种说法是错误的?

参考答案:

构造函数中不能有return语句。

下面哪一个字面值与其它3个不同?

参考答案:

038

以下说明语句中正确的是:

参考答案:

int*pi,*&pref=pi;

若有声明intm=7,n=4;floata=38.4,b=6.4,x;则执行语句x=m/2*n+a/b+1/2;后,x的值为:

参考答案:

18

下面哪一条语句导致编译警告或错误?

参考答案:

unsigneda4{-1};

设px是指向一个类对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的()。

参考答案:

析构函数

以下选项中,能正确计算数组a中元素个数的表达式是:

参考答案:

sizeof(a)/sizeof(a[0]);

在下列选项中,没有构成死循环的语句段是:

参考答案:

intk=1000;do{k;}while(k>1000);

假设对象a是类A的对象,下面哪一条语句没有执行类A的拷贝构造函数?

参考答案:

b=a;

若有inta=1,b=2,c=3,d=4;则表达式b

参考答案:

3

关于类与对象,下面哪一种说法是错误的?

参考答案:

一个类的多个对象之间不仅持有独立的数据成员,而且成员函数也是独立的。

关于类的成员函数,下面哪一种说法是错误的?

参考答案:

一个类中的一组成员函数不能重名。

关于类的成员的可见性,下面哪一种说法是错误的?

参考答案:

公有public成员能被类外代码访问,而不能被同一个类中的代码访问。

下列哪一个main函数原型是错误的?

参考答案:

main(intargc,char*argv)

设有语句如下:char*c1[]={"Red","Green","Blue"};charc2[][6]={"Red","Green","Blue"};32位系统中下面哪一种说法是正确的?

参考答案:

sizeof(c1)加6等于sizeof(c2)

设有下面语句:voidf4(int**p);inta[4]={1,2,3,4};intb[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};int*q[3]={b[0],b[1],b[2]};下面哪个调用是合法的?

参考答案:

f4(q);

设有intb[3][5];下面哪一条语句是正确的?

参考答案:

int(*p)[5]=b;

假设语句:structPerson{stringname;Person*father;};Personp1{"tom"},p2{"jerry",&p1},*p=&p2;下面哪一个表达式的值不是"tom"。

参考答案:

p->name

inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13};若需要引用值为12的数组元素,则下列选项中错误的是:

参考答案:

*(a+2)[3]

以下程序的执行结果是:usingnamespacestd;#inlcudevoidf1(int*x){++*x;}voidf2(int&x){x++;}voidf3(intx){++x;}intmain(){inta=10;f1(&a);f2(a);f3(a);cout<

参考答案:

12

要使语句p=newdouble[20];能够正常执行,p应声明为:

参考答案:

double*p;

执行下面代码段后,b的值为________。inta[]={1,2,3,4,5,6,7,8};int*p=a+4;intb=4+++*p++;

参考答案:

10

下面哪一个值不能表示空指针?

参考答案:

ptrnull

分析下面语句:structProperty{charname[20];charvalue[40];}p1={"name","ZhangSan"},p2={"age"},p3={,"blue"},p4=p1;

参考答案:

p3出错

下面代码的输出结果是。intmain(void){unionbaby{charname[10];intnumber;}b={"YangYang"};cout<

参考答案:

YangYangA65

unionNumeric{inti;floatf;doubled;}u;变量u所占存储单元的字节数为。

参考答案:

8

设有语句:structxy{intx;floaty;charz;}example;下面哪一个叙述错误?

参考答案:

example是结构类型的名称。

已知有声明“structdata{inty,m;}a={2014,6},b={0};”,以下选项中合法的语句是:

参考答案:

b=a;

设有结构定义及变量声明如下:structproduct{charcode[5];floatprice;}y[4]={"200",100};以下表达式中正确的是:

参考答案:

y[0].code[0]=45;

设有以下枚举说明语句:enumweekday{Mon=1,Tues,Wed,Thurs,Fri,Sat,Sun=0}week;下面那一条赋值语句是错误的?

参考答案:

week=1;

下面哪一条语句出现编译错误:enumGender{female,male};//AstructPerson{charname[20];Gendersex;//BPersonfather;//C};Personmembers[30];//D

参考答案:

行C

假设有下面语句:enumtag{Up=1,Down,Left,Right}a;下面哪一条语句不正确:

参考答案:

a=2;

下列程序的输出结果是。intmain(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;cout<

参考答案:

21

下面哪一个数组说明语句是正确的?

参考答案:

chars1[]="xyz";

有语句:intb[][3]={{9},{1,6},{0,8},{1,2,3}};数组元素b[3][2]的值是:

参考答案:

3

下面哪一个数组说明语句是错误的?

参考答案:

intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

假设有floataf[]={1.1f,2.2f,3.3f,4.4f,5.5f};下面那一条语句是错误的?

参考答案:

for(int&e:af){cout<<e<<"";}

以下数组声明中正确的是:

参考答案:

inta[2+3]={0};

下列程序的输出结果是。usingnamespacestd;#includeintmain(){intn='m';switch(n++){default:cout<<"error";break;case'k':case'K':case'l':case'L':cout<<"good"<

参考答案:

passwarn

下列for语句的循环次数为:for(inti=1;i<=5;sum++)sum+=i;

参考答案:

无限

有下面语句段,输出结果为_____。usingnamespacestd;#includeintmain(){charc='B';switch(c){case'A':cout<<"1";case'B':cout<<"2";case'C':cout<<"3";default:cout<<"4";}return0;}

参考答案:

234

有下面语句,输出结果为_____。intx=3;do{cout<<(x-=2)<<"";}while(!(--x));

参考答案:

1

-2

运行下面程序段:for(inti=1,sum=0;i<5;i++){if(!(i%3))continue;sum+=i;}变量sum的值为:

参考答案:

7

已有预处理命令“#include”和声明“inta=4,b;”,以下语句中语法正确的是:

参考答案:

if(a==1)b=a;

执行以下程序段intk=5,n=0;while(k--)switch(k){case1:case3:n+=1;break;default:n+=2;case2:case4:n+=3;break;}后,n和k的值分别为:

参考答案:

13-1

执行以下语句,输出结果是intx=3;do{cout<<(x-=2)<<"";}while(!--x);

参考答案:

1-2

设有说明语句:chars[5][5]={"abc","efgh"};值为字符g的数组元素是:

参考答案:

s[1][2]

设有声明"intp[10]={1,2},i=0;",以下语句中与"p[i]=p[i+1],i++;"等价的是:

参考答案:

i++,p[i-1]=p[i];

如果要将doubled2=1234.56789;显示为1234.568,下面哪一种控制能达到目的。

参考答案:

cout<

用cin>>f输入一个浮点数时应检查错误并重新输入,下面哪一个操作不是必需的。

参考答案:

用cin.rdstate()读取状态

在C++程序中使用的cin标识符是系统类库中定义的()类中的一个对象。

参考答案:

istream

下面哪一个输入操作能读取换行符?

参考答案:

getline函数

下面哪一个输入操作不能读取空格符?

参考答案:

cin>>运算符

下面程序的第三行输出结果是:#includeusingnamespacestd;classA{intax;public:A(intx=10){ax=x;cout<<"调用构造函数A"<f();cout<

参考答案:

调用析构函数D调用析构函数C调用析构函数B调用析构函数A

下面程序的第一行输出结果是:#includeusingnamespacestd;classA{intax;public:A(intx=10){ax=x;cout<<"调用构造函数A"<f();cout<

参考答案:

调用构造函数A10

调用构造函数B20调用构造函数C30

调用构造函数D40

下面程序的输出结果是#includeusingnamespacestd;classBase{public:virtualvoidf(){cout<<“f0+”;}voidg(){cout<<“g0+”;}};classDerived:publicBase{public:voidf(){cout<<“f+”;}voidg(){cout<<“g+”;}};intmain(){Derivedd;Base*p=&d;p->f();p->g();return0;}

参考答案:

f+g0+

下面选项中不属于面向对象程序设计特征的是

参考答案:

相似性

实现运行时多态的机制是()

参考答案:

虚函数

下面哪一种函数不能用于实现运算符重载?

参考答案:

静态成员函数

假设a是类A的一个对象,下面哪一个表达式必需友元函数来实现运算符重载?

参考答案:

3+a

假设a和b是类A的对象,下面哪一个运算符函数说明能支持b=a++表达式

参考答案:

friendAoperator++(A&,int);

如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。

参考答案:

a.operator+(b)

如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。

参考答案:

operator++(a,1)

假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如“m1=m2=m3;”。重载操作符=的函数原型最好是()。

参考答案:

M&operator=(M);

在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是()。

参考答案:

该运算符函数是类的友元函数。

下列程序的输出结果是_______。intmain(){enumtag{Up=1,Down,Left,Right}x=Up,y;enumtagz=Left;y=Down;cout<

参考答案:

123

设有语句inta=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为。

参考答案:

2

有下面语句,变量a的值为____。inta=3;if(++a<4)a++;a++;

参考答案:

5

在算术表达式中,下面哪一种类型转换是错误的?

参考答案:

一个unsignedint值加上一个int值的类型为int。

下列程序的运行结果是。intmain(){inta=5,b=4,c=3,d;d=(a>b>c);cout<

参考答案:

0

假设变量a、i已正确定义,且i已正确赋值,下列哪一个是合法的赋值表达式?

参考答案:

a=int(i)

设inta=5,b;,执行以下代码后,b的值不为2的是:

参考答案:

b=6-(a--);

尝试执行下面语句:unsignedinti=2;intj=-3;cout<<(i*j)<

参考答案:

一个无符号整数

执行下面语句:inti=-5;cout<<-(i++)<<";";cout<

参考答案:

5;-4

执行语句unsigneda=-1;longb=1;autoc=a

参考答案:

false

以下运算符中运算对象一定不能是double类型的是

参考答案:

%

下列对派生类的描述中错误的说法是:()。

参考答案:

派生类所继承的基类成员的访问权限保持不变

C++中的虚基类机制可以保证:()。

参考答案:

当一个类多次间接从基类派生以后,其基类只被一次继承

当派生类中有和基类一样名字的成员时,一般来说,()。

参考答案:

派生类的同名成员将覆盖基类的成员

当保护继承时,基类的()在派生类中成为保护成员,在类作用域外不能够通过派生类的对象来直接访问该成员。

参考答案:

公有成员和保护成员

下面哪一个是合法的字符型字面值?

参考答案:

'\326'

C++的继承性允许派生类继承基类的()。

参考答案:

所有特性,并允许增加新的特性或重定义基类的特性

假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()

参考答案:

X,Y;Y,X

在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()

参考答案:

私有成员

下列关于虚基类的描述中,错误的是()

参考答案:

声明classB:virtualpublicA说明类B为虚基类

下面代码ABCD中哪一行代码编译出错。classB{protected:intx=2;};classD:publicB{public:voidf1(){x=3;}//Avoidf1(D&rd){rd.x=4;}//Bvoidf1(D*pd){pd->x=5;}//Cvoidf1(B&rb){rb.x=6;}//D};

参考答案:

D

下面哪一个特征不是面向对象编程的特性?

参考答案:

一致性

假定AB为一个类,则执行“AB*px=newAB[n];”语句时将()。

参考答案:

动态分配一个数组

假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为()。

参考答案:

AB(){}

假定AB为一个类,则执行“ABr1=r2;”语句时将自动调用该类的()。

参考答案:

拷贝构造函数

假定AB为一个类,则执行“ABx;”语句时将自动调用该类的()。

参考答案:

无参构造函数

一个类的构造函数通常被定义为该类的()成员。

参考答案:

公用

18.对于一个类的析构函数,其函数名与类名()。

参考答案:

只相差一个字符

在下列函数原型中,可以作为类AA的构造函数的是。

参考答案:

AA(int);

对于析构函数,下面哪一种说法是错误的?

参考答案:

一个类中可重载定义多个析构函数。

设有代码如下:classMyclass{public:Myclass(){cout<<"Myclass()";}Myclass(inta):Myclass(){cout<<"MyClass(int)";}Myclass(doubled):Myclass(){cout<<"MyClass(double)"<<endl;}};执行Myclass(6.7);输出为_______。

参考答案:

MyClass(double)

对于缺省构造函数,下面哪一种说法是错误的?

参考答案:

缺省构造函数一定是一个无参构造函数。

下面哪一个是非法的十六进制的整型字面值?

参考答案:

xef

下面哪一个是非法的数据类型?

参考答案:

unsigneddouble

下面哪一个是非法的字面值?

参考答案:

1.2e0.6

下面哪一种类型不属于字符类型?

参考答案:

uchar

下面哪一个可作为合法的标识符?

温馨提示

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

评论

0/150

提交评论