国开电大《C++语言程序设计》形考任务作业第一至五章、第六至十章边学边练试题及参考资料

此科目答案未上传,可以右侧扫码联系客服或者加HAA600,获取最新资料

C++语言程序设计第一-五章边学边练答案

"有如下语句:\n

switch(n){\n

case0:\n

case1:n+=1;break;\n

case2:n+=2;\n

default:n+=3;\n

}\n

若一开始n的值为0,则执行此语句后,n的值是()。"

x<=0的等价条件是()。

若x是一个bool型变量,则x&&5的值()。

下列条件中,不是A>B的相反条件的是()。

下列条件中,不是x>3的相反条件的是()。

执行boolOK=2>3;cout<

"do...while语句的语法格式可表示为:\n

do循?环?体while(循?环?条?件);\n

下列关于do...while语句的表述中,错误的是()。"

"for语句的语法格式可表示为:\n

for(循?环?初?始?化;循?环?条?件;循?环?参?数?调?整)循?环?体\n

下列关于for语句的表述中,错误的是()。"

"while语句的语法格式可表示为:\n

while(循?环?条?件)循?环?体\n

下列关于while语句的表述中,错误的是()。"

对于某个函数调用,不用给出被调用函数的原形的情况是()。

关于局部变量,下列说法正确的是()。

关于全局变量,下列说法正确的是()。

关于形参和实参,下列表述正确的是()。

每一个形式参数就是一个()。

若x是一个bool型变量,则x&&5>3的值()。

若x是一个bool型变量,则x||5>3的值()。

若x是一个bool型变量,则x||5的值()。

若有函数intf(doubled){...};,则在执行调用f(a)时()。

下列常值变量定义中,错误的是()。

下列符号中,不可以作为变量名的是。

下列说法中正确的是()。

下列语句中无意义的包括()。

下面的函数声明中错误的是()。

"要定义一个int型二维数组bat,并使其各元素具有初值\n

for(1234\n

for(2300\n

for(3000\n

for(0000\n

错误的定义语句是()。"

要定义一个int型一维数组art,并使其各元素具有初值89、-23、0、0、0,错误的定义语句是()。

要使字符串变量str具有初值”ABCDEFGH”,正确的定义语句是()。

要使字符串数组STR含有”ABCD”、”EFG”和”xy”三个字符串,错误的定义语句是()。

已知函数fp的原形是:intfp(charc,intk=0,chard[]=”Hello!”);下列调用中错误的是()。

已知一函数的形参是一个二维数组,下列形参声明中正确的是()。

已知一函数中有下列变量定义,其中不属于自动变量的是()。

"有如下语句:\n

if(x>0)if(x>100)cout<<”!!!”;\n

elsecout<<’!’;elseif(x<-302)cout<<”???”;elsecout<<’?’;\n

若x的值为-302,则执行此语句将输出()。"

与A>B&&X<3不等价的条件是()。

与if(x>1)if(y>2)x+=y;elsex-=y;不等效的语句是()。

在函数的定义格式中,可以是void的部分包括()。

在下列符号中,不能作为标识符的是。

"执行语句序列\n

cin>>k;\n

if(k>100)cout<<’G’;\n

if(k<100)cout<<’L’;\n

后,不可能出现的情况是()。"

C++语言是一种典型的全面支持____________特性的语言。

-365是有符号数,365是无符号数。

5.4321e2在常规表示法中应表示为_____;327.863在科学表示法中应表示为_____。

C++程序从一个称为_____的函数开始执行。

C++语言是在__________语言的基础上发展起来的。

int还可以表示为signedint和_____。

Java类库也称为JavaAPI,它是ApplicationProgrammingInterface的缩写,中文含义为_____。

Java类库也称为JavaAPI,它是ApplicationProgrammingInterface的缩写,中文含义为_____。

不同数据类型的数据_____不同,能实施的操作也不相同。

常量3276与常量23所占用的存储空间一样大。

程序的三种基本结构是____结构、____结构和____结构,它们的共同特点是只有一个入口和一个出口。

程序结构之间的关系有两种:___和____。

程序开发的四个环节是:[[1]]、[[2]]、[[3]]和运行。

从随机排列的2个数中挑选出最大的一个至少需要进行_____次比较,从随机排列的3个数中挑选出最大的一个至少需要进行_____次比较,从随机排列的n个数中挑选出最大的一个至少需要进行_____次比较。

对于C++程序,每一行只能有一个语句。

可执行文件的扩展名是___________。

目标程序文件的扩展名是___________。

如果abc.cpp是一个主程序文件,则其中的主函数的函数名是___________。

"如果x的值为234,y的值为-54,则执行\n

if(x>0)cout<<’A’;\n

if(y<-8)cout<<’B’;\n

后屏幕上显示的是_____。"

如果条件?1为true时条件2必为false,条件??1为false时条件2必为true,则这两个条件互为相反条件。不用操作符!,x

如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上_____修饰。

如果一函数直接或间接地调用自身,这样的调用称为_____。

数组的下标是用于标识数组___的无符号整数。

"下面的函数用来求“昨天”(相对于参数today)是星期几,请补充完整其中的return语句:\n

enumWEEKDAY{Sun,Mon,Tue,Wed,Thu,Fri,Sat};\n

WEEKDAYyesterdayOf(WEEKDAYtoday){\n

if(today==Sun)return_____;\n

return_____;\n

}"

"下面是把大写字母转换成小写字母的函数,请补充完整其中的return语句(不得使用任何系统函数):\n

charLOWER(charc){\n

if(c>='A'&&c<='Z')return_____;\n

return_____;\n

}"

已知数组c定义为longc[100]={0};,则c的元素个数是___,最小下标是___,最大下标是___。

已知数组d定义为doubled[5][3];,则d是一个___行___列的二维数组,总共有___个元素,最大行下标是___,最大列下标是___。

已知一函数的定义是:voidff(doubled){cout<<d+d;},则该函数的原形是_____。

有两种不同方式的函数调用:作为_____的函数调用和作为_____的函数用。

有如下程序:#include#includeusingnamespacestd;intmain(){doublex=5;cout<<①<____,则②处缺失的操纵符是____,则③处缺失的操纵符是____。

语句for(inti=0;i<28;i++)cout<<’*’;将输出____个*号。

语句for(inti=20;i>=0;i--)cout<<’*’;输出____个*号。

在C++中func和Func是两个不同的标识符。

"执行\n

enumWEEKDAY{Sun,Mon,Tue,Wed,Thu,Fri,Sat};\n

WEEKDAYd;\n

cin>>d;\n

时,若要使d的值为Fri,应键入_____;"

执行intx=4,y;y=x--;后,x的值是_____,y的值是_____。执行intx=5,y;y=++x;后,x的值是_____,y的值是_____。

执行intx=4,y=7;y+=x--+3;后,x的值是_____,y的值是_____。执行intx=4,y=7;y+=++x-3;后,x的值是_____,y的值是_____。

执行语句序列charstr1[]=”ABCD”,str2[10]=”XYZ”;for(inti=0;str2[i+1]=str1;i++);后,数组str2中的字符串是_____。

C++语言程序设计第六-十章边学边练答案

有如下类声明:class{inti,j;private:intm;public:intn;private:intp;};其中私有成员的个数是()。

程序中需要一个int型指针p,要求不允许修改p所指向的整数,则下列定义中正确的是()。

定义一个指针并令其指向字符串”春暖花开”,下列定义中错误的是()。

多态调用是指()

关于操作符重载,下列表述中错误的是()。

关于操作符重载,下列表述中错误的是()。

关于抽象类,下列表述正确的是()。

关于纯虚函数和抽象类,下列表述中错误的是()。

关于复制构造函数,下列表述中错误的是()。

关于函数模板,下列表述中错误的是()。

关于函数重载,下列表述中错误的是()。

关于继承成员的访问属性,下列表述中错误的是()。

关于类的析构函数,下列表述中错误的是()。

关于类对象成员,下列表述错误的是()。

关于类模板,下列表述中错误的是()。

关于类模板,下列表述中错误的是()。

关于虚函数,下列表述中错误的是()。

关于虚函数,下列表述中错误的是()。

若为添加数据而打开一个输出文件,应选择的打开模式是()。

调用一个流状态判断函数,若操作成功返回true,这个函数是()。

下列标识符中,不属于C++流操纵符的是()。

下列标识符中,不属于C++流的预定义流对象的是()。

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

下列符号中,不属于C++流定位方式的是()。

下列符号中,不属于C++文件流打开模式的是()。

下列关于常数据成员的表述中,正确的是()。

下列关于构造函数的表述中,错误的是()。

下列模板函数声明中正确的是()。

下列数据成员中,不能在构造函数的初始化列表中进行初始化的是()。

下列特征中,不属于磁盘文件的是()。

要使语句p1=newint[10];能够正常执行,p1应定义为()。

要想使语句cout<

已知i、j都是整型变量,下列表达式中,与下标访问X[j]不等效的是()。

已知VA是基类,VB是它的派生类,且有如下的变量定义:VAaa,*pva;VBbb,*pvb=&bb;则下列赋值语句中错误的是()。

已知变量ld定义为:longld;,在下面关于指针p的定义中,不能通过p修改ld的有()。

已知函数f1的原形是:voidf1(int*a,long&b);变量v1、v2的定义是:intv1;longv2;把v1和v2分别作为第一参数和第二参数来调用函数f1,正确的调用语句是()。

已知类AA的类体中有如下成员函数定义:intDouble(intn)const{returnn+n;}要在类BB中将其声明为友元,正确的是()。

已知一函数的原形是:voidfp(int*p);,且有如下变量定义:inta,b[10];则下列调用中错误的是()。

已知一运行正常的程序中有这样两个语句:int*p1,*p2=&a;p1=b;由此可知,变量a和b的类型分别是()。

已知一运行正常的程序中有这样两个语句:int*p2=&x,*p1=a;*p2=b;由此可知,变量a和b的类型分别是()。

已知应用系统中已声明了如下函数:intblock(double,int=0);下列函数声明试图重载block,其中正确的是()。

已知应用系统中已声明了如下函数:intfp(charc,intk=0,doubled=100.0);下列函数声明试图重载fp,其中正确的是()。

已知在类体外有如下操作符重载声明:AAoperator+(AA,AA);其中的AA是类名。若x、y是两个AA的对象,下列表达式欲求x、y之和,其中正确的是()。

有如下程序:#includeusingnamespacestd;classBB{intk;public:BB(intn=0):k(n){cout<<”BB”<<n;}};classAA:publicBB{BBbb;intcc;public://a用于初始化继承成员,b用于初始化bb,c用于初始化cc。AA(inta,intb,intc):bb(b),cc(c),BB(a){cout<<“AA”<<c;}};intmain(){AAaa(1,2,3);return0;}执行这个程序的输出是()。

有如下程序:#includeusingnamespacestd;classBB{public:~BB(){cout<<”~BB“;}};classAA:publicBB{BBbb;public:~AA(){cout<<”~AA“;}};intmain(){AAaa;return0;}执行这个程序的输出是()。

有如下定义:classMb{public:staticintn;};Mbmb,&r=mb;下列表达式试图访问类的静态成员n,其中错误的是()。

有如下函数模板声明:templateT2add(T1t1){returnt1+n;}下列对模板函数add的调用中,错误的是()。

有如下函数模板声明:templateT2add(T1t1){returnt1+n;}要想使函数返回一个double型的值,下列对模板函数add的调用中,正确的是()。

有如下类定义:classX{public:intone(){return1;}};如果把成员函数one放在类体外定义,与上面的定义等效的是()。

有如下类模板定义:templateclassCa{public:Tfa();};要在模板外给出模板类成员函数fa的定义,正确的是()。

有如下类模板定义:templateclassMG{public:Tdata[size];};下面的语句试图定义模板类MG的对象,其中错误的是()。

有如下两个类定义:classMK{public:intm[10];};classMK{public:doublem[20];};下列类模板试图能够产生这两个类定义作为其实例,其中错误的是()。

在C++流类中既可以用于文件输入又可以用于文件输出的流类是()。

在下列构造函数声明中,不能称作默认构造函数的是()。

在重载一个操作符函数时,其参数表中没有任何参数,这说明该操作符是()。

指针不但指示了数据的存储位置,还标明了该数据的_____。

C++中最常用的头文件是_____。

p为一指针变量,将p所指向单元的数据值增1并作为表达式的值的表达式是_____。

p为一指针变量,取p所指向单元的数据作为表达式的值,然后使p指向下一个单元的表达式是_____。

p为一指针变量,使p指向下一个单元,然后取该单元的数据作为表达式的值的表达式是_____。

成员函数的形参名与某个数据成员同名时,不加修饰地使用该名称所访问的是_____。

打开的文件分为输入文件、输出文件和_____文件。

定义一个有6个元素的对象数组,构造函数被调用的次数是______。

对于常对象,通过操作符“.”只能访问该对象的_____。

对于类Staff,它的构造函数的函数名是_____。

对于类Staff,它的析构函数的函数名是_____。

个类至少有_____个构造函数,最多有_____个析构函数。

函数重载就是定义与已有函数_____的函数。

能够重载一个函数的条件是:其调用形式必须在参数的_____上或_____上与其他同名函数的调用形式有所不同。

如果定义类对象时没提供任何实参,则系统自动调用_____对之进行初始化。

如果继承时没有指定继承方式,则采用默认的_____方式。

如果一个指针不指向任何数据,则称为_____。

若ff是个流对象,关闭该流对象的语句是_____。

若q是指向二维数组B的指针,则表达式*(*(q+5)+3)所访问的数组元素是_____。

若t是指向一维数组A的指针,则表达式*(t+6)所访问的数组元素是_____。

通过对象访问其成员需要利用操作符“.”,这个操作符称作_____。

文件在格式上分为文本文件和_____文件。

无格式输入操作在输入数据的同时,输入位置一般也随之移动,但有一个输入函数是例外,它输入数据但不移动输入位置,这个函数的名称是_____。

下列表达式中,与下标访问A[k]等效的是()。:*A+k;A+k;A+*k;*(A+k)

要进行文件操作,必须包含头文件_____。

要使引用jr代表变量intj;,jr应定义为_____。

要使用字符串流,需包含头文件_____。

一个非成员函数需要访问类的私有成员,为此该类应将之声明为_____。

已有变量定义intx;,要申请一块能容纳x中数据且与x同值的动态空间,并使变量px指向这个动态空间,则px应定义为_____。

已知变量a、b定义为:inta=99,&b=a;,则cout

以文件名”CON”打开的输入文件流所联系的设备是_____。

用new创建动态对象数组时,为每个元素进行初始化的构造函数只能是_____。

有如下类声明:classAA{inta;protected:doubleb;public:charc;};classBB:publicAA{};则在派生类BB中,b的访问属性是_____,c的访问属性是_____。

有如下语句序列:intm[]={1,2,3,4,5,6,7,8},*p1=m+3,*p2=&m[6],*p3;p3=p1+3;cout<执行这个语句序列的输出是_____。

有如下语句序列:intm[20],*p1=m,*p2=&m[13],n;n=p2-p1;执行这个语句序列后n的值为_____。

在保护继承下,基类的公有成员在派生类中的访问属性是_____,基类的保护成员在派生类中的访问属性是_____。

在公有继承下,基类的公有成员在派生类中的访问属性是_____,基类的保护成员在派生类中的访问属性是_____。

在建立一个用于无格式输入输出的流对象时,打开模式中通常应包含_____。

在私有继承下,基类的公有成员在派生类中的访问属性是_____,基类的保护成员在派生类中的访问属性是_____。

在用class定义的类中,成员的默认访问属性是_____。


网友评论

在线客服
微信号:HAA600
QQ:12345678
在线时间
9:00 ~ 23:00