




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【MOOC】C++程序设计基础-华中科技大学中国大学慕课MOOC答案第一章编程题第一章单元测试1、【单选题】以下关于C++语言描述错误的是()本题答案:【一个C++程序可以包含多个main函数】2、【单选题】C++语言源程序文件名后缀为()。本题答案:【.cpp】3、【单选题】C++语言是()本题答案:【既表现面向对象的特征,又表现面向过程的特征】4、【单选题】C++语言中普通整型变量int在内存中占()字节。本题答案:【4】5、【单选题】下列不是C++语言基本数据类型的是()。本题答案:【结构体】6、【单选题】各种基本数据类型的存储空间正确的长度排列为()。本题答案:【charintdouble】7、【单选题】下面的变量说明中()是正确的。本题答案:【chara,b,c;】8、【单选题】转义字符“反斜杠线”的表示方法正确的是()。本题答案:【\\】9、【单选题】在C++语言中,自定义的标识符()。本题答案:【不能使用关键字并且区分大小写】10、【单选题】存储字符串“a+b=12\n\t”所占存储空间的字节数为()本题答案:【9】第二章编程题第二章单元测试1、【单选题】执行下面程序段的输出结果是()。intx=23,y=5,z;z=2+(y++,x+8,x++);coutx""zendl;本题答案:【2425】2、【单选题】若int型变量x=29,double型变量y=6.0,则表达式x/y的值为()。本题答案:【4.83333】3、【单选题】判断字符型变量ch是否为大写英文字母,应使用表达式()。本题答案:【ch='A'ch='Z'】4、【单选题】intx=5,y=6;下列表达式结果为真的是()。本题答案:【x==--y】5、【单选题】设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)(n=cd)运算后,n的值为()本题答案:【2】6、【单选题】执行下列语句后,输出的结果是().inta=3,b=5;doublec=b/a;coutcendl;本题答案:【1】7、【单选题】已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是()。本题答案:【5】8、【单选题】逗号表达式a=3,a++,a+=6的值是()。本题答案:【10】9、【单选题】已知下列语句中的x和y都是int型变量,其中错误的语句()。本题答案:【(x+y)++;】10、【单选题】执行以下代码后,变量x、y、z的值分别为()intx=1,z=1,y=1,k;k=x++||++y++z本题答案:【211】第三章编程题第三章练一练-----经典提高题---不计入MOOC总成绩---第三章单元测试1、【单选题】执行语句序列intn;cinn;switch(n++){case1:case2:cout'1';case3:case4:cout'2';break;default:cout'3';}时,若键盘输入1,则屏幕显示()。本题答案:【12】2、【单选题】下面程序的输出结果是().#includeiostreamusingnamespacestd;intmain(){inta=2,b=-1,c=2;if(ab)if(b0)c=0;elsec+=1;coutcendl;return0;}本题答案:【2】3、【单选题】为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。本题答案:【其之前未配对的最近的if】4、【单选题】与表达式if(!k)等价的是()。本题答案:【if(k==0)】5、【单选题】以下代码执行后,a、b、c的值分别为()。inta=8,b=10,c=3;if(ab)c=a;a=b;b=c;本题答案:【1033】6、【单选题】下列描述正确的是()。本题答案:【如果至少有一个操作数为true,则包含||运算符的表达式为true】7、【单选题】下面程序的运行结果是().#includeiostreamusingnamespacestd;intmain(){inti=10;switch(i){case9:i++;case10:++i;case11:i++;default:i=i+1;}coutiendl;return0;}本题答案:【13】8、【单选题】若inta=6,则执行完下列语句后,a的值为().if(a10)a-=5;a+=5;本题答案:【11】9、【单选题】#includeiostreamusingnamespacestd;intmain(){inta=3;if(a=5)couta+1endl;elsecoutaendl;return0;}程序的输出是()。本题答案:【6】10、【单选题】若x和y是程序中的两个整型变量,则下列if语句中正确的是()。本题答案:【if(x==0)y=1;elsey=2;】第四章编程题第四章练一练-----经典基础题---不计入MOOC总成绩---第四章练一练-----经典提高题---不计入MOOC总成绩---第四章单元测试1、【单选题】下面关于break语句的描述中,不正确的是().本题答案:【一个break语句就可以跳出多重循环】2、【单选题】以下语句不正确的是()。本题答案:【for()也表示无限循环】3、【单选题】有如下程序:#includeiostreamusingnamespacestd;intmain(){inti,f,f1=0,f2=1;for(i=3;i=6;i++){f=f1+f2;f1=f2;f2=f;}coutfendl;return0;}运行时的输出结果是()本题答案:【5】4、【单选题】有如下程序段:inti=5;while(inti=0){cout'*';i--;}运行时输出*的个数是()。本题答案:【0】5、【单选题】执行完以下语句inti=0;doi++;while(i*i10);时,do后面的循环体语句i++被执行的次数为()本题答案:【4】6、【单选题】有如下循环语句:for(inti=50;i20;i-=2)couti',';运行时循环体的执行次数是()本题答案:【15】7、【单选题】有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout'*';}执行这个程序段输出字符*的个数是()本题答案:【4】8、【单选题】有如下程序:#includeiostreamusingnamespacestd;intmain(){intsum;for(inti=0;i6;i+=3){sum=i;for(intj=i;j6;j++)sum+=j;}coutsumend1;return0;}运行时的输出结果是()。本题答案:【15】9、【单选题】下面程序的运行结果是()。#includeiostreamusingnamespacestd;voidmain(){inti,j,a=0;for(i=0;i2;i++){for(j=0;j4;j++){if(j%2)break;a++;}a++;}coutaendl;}本题答案:【4】10、【单选题】有如下程序段:for(inti=1;i=50;i++){if(i%3!=0)continue;elseif(i%5!=0)continue;couti,;}执行这个程序段的输出是()本题答案:【15,30,45,】第五章编程题第五章练一练----经典基础题-----不计入MOOC总成绩---第五章练一练----经典提高题-----不计入MOOC总成绩---第五章单元测试1、【单选题】要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是()本题答案:【intx[]={0};】2、【单选题】在C++语言中,二维数组元素在内存中的存放顺序是()。本题答案:【按行优先存放】3、【单选题】在下述对C++语言字符数组的描述中,有错误的是()。本题答案:【可以在赋值语句中通过赋值运算符=对字符数组整体赋值。】4、【单选题】以下数组的初始化,正确的是()。本题答案:【inta[]={1,2,3,4,5};】5、【单选题】下面关于数组的描述错误的是()。本题答案:【数组元素的个数在定义时可以缺省。】6、【单选题】下面程序的运行结果是()。charc[5]={'a','b','','c',''};coutc;本题答案:【以上都不是】7、【单选题】有如下程序段:charc[20]=examination;c[4]=0;coutcendl;执行这个程序段的输出是()。本题答案:【exam】8、【单选题】以下程序运行后的输出结果是()。intmain(){chara[]=abbcabbcabbc;inti=0,j=0,k=0;while(a[i]){if(a[i]=='a')j++;if(a[i]=='b')k++;i++;}coutjkendl;return0;}本题答案:【36】9、【单选题】已知:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是().for(i=0;i3;i++)coutx[i][2-i];本题答案:【357】10、【单选题】下面程序的运行结果是().#includeiostream#includecstringusingnamespacestd;intmain(){chars1[10]=abc;chars2[20]=inter;intk=0,j=0;while(s2[k])k++;while(s1[j])s2[k--]=s1[j++];couts2endl;return0;}本题答案:【intcba】第六章编程题第6章单元测试1、【单选题】下面程序的运行结果是().#includeiostreamusingnamespacestd;intmain(){floata=1,b=2,c;float*p1=a,*p2;p2=b;c=*p1+*p2;cout*p1'\n';}本题答案:【1】2、【单选题】设有定义一维数组如下:inta[5],*p=a;,则下列描述中错误的是().本题答案:【表达式a=a+1是合法的】3、【单选题】已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()本题答案:【cout*arrendl;】4、【单选题】下列语句中,正确的是()。本题答案:【char*myString=Hello-World!;】5、【单选题】已知:intm=10;在下列语句中错误的是()本题答案:【int*p=newint[m]={0};】6、【单选题】下面程序的运行结果是().#includeiostreamusingnamespacestd;voidmain(void){inta[5]={10,20,30,40,50};int*p=a[0];p++;cout++*pendl;}本题答案:【21】7、【单选题】下列程序的输出结果是#includeiostreamusingnamespacestd;intmain(){chara[]=Hello,World;char*ptr=a;while(*ptr){if(*ptr='a'*ptr='z')coutchar(*ptr+'A'-'a');elsecout*ptr;ptr++;}return0;}本题答案:【HELLO,WORLD】8、【单选题】已知有数组定义?char?a[3][4];?下列表达式中错误的是()。?本题答案:【a[2]=WIN?;】9、【单选题】下列程序运行时的输出结果是()。#includeiostreamusingnamespacestd;intmain(){inta[7]={23,15,64,33,40,58};ints1,s2,*p;s1=s2=a[0];for(p=a+1;*p;p++){if(s1*p)s1=*p;if(s2*p)s2=*p;}couts2;return0;}本题答案:【64】10、【单选题】下面程序的运行结果是().#includeiostreamusingnamespacestd;intmain(){intaa[3][3]={{1},{2},{3}},i,*p=aa[0][0];for(i=0;i2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;cout*p;}coutendl;return0;}本题答案:【12】第六章练一练经典基础题1、【单选题】阅读程序,请输出程序的结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(++ptr)endl;return0;}本题答案:【1116】2、【单选题】阅读程序,请输出程序的结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(ptr++)endl;return0;}本题答案:【1111】3、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*ptr++endl;couta[0]endl;cout*ptrendl;return0;}本题答案:【11111116】4、【单选题】#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout(*ptr)++endl;couta[0]endl;cout*ptrendl;return0;}本题答案:【11111212】5、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(ptr++)endl;couta[0]endl;cout*ptrendl;return0;}本题答案:【11111116】6、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*++ptrendl;couta[0]endl;cout*ptrendl;return0;}本题答案:【11161116】7、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout++*ptrendl;couta[0]endl;cout*ptrendl;return0;}本题答案:【11121212】8、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(++ptr)endl;couta[0]endl;cout*ptrendl;return0;}本题答案:【11161116】9、【单选题】阅读程序,输出结果#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptr*(++ptr)endl;return0;}本题答案:【1616】10、【单选题】以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366。请在黄色处选择合适的语句。#includeiostreamusingnamespacestd;intmain(){char*p,s[6];intn;p=s;cinp;n=*p-'0';while(!='\0')n=n*8+*p-'0';coutnendl;return0;}本题答案:【*++p】第六章练一练经典提高题1、【单选题】阅读程序,回答问题:#includeiostream#includeiomanipusingnamespacestd;intmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[4];//该语句是定义一个数组指针,指向含4个元素的一维数组。p=a;cout*pendl;p++;cout*pendl;return0;}请问这两个输出的地址差是多少字节?本题答案:【16】2、【单选题】阅读程序,回答下面问题:#includeiostream#includeiomanipusingnamespacestd;intmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int*p[3];//定义一个指针数组,表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]p=a;cout*pendl;p++;cout*pendl;return0;}请问这两个输出的数据相差多少?本题答案:【编译错误】3、【单选题】若定义chars[2][3]={“ab”,“cd”},*p=(char*)s;//字符型指针p存放的是字符串s的首地址,而字符串s表示的是这样一个字符串:那么下列表达式语法正确,并且其值与s[1][1]相等的表达式(并非一定与其等价)是()//根据字符串的表示,s[1][1]是字符‘d’本题答案:【char(*++p+2)】4、【单选题】#includeiostreamusingnamespacestd;intmain(){inta[5]={1,2,3,4,5};int*ptr=(int*)(a+1);cout*(a+1)""*(ptr-1)endl;return0;}程序运行结果是什么?本题答案:【25】5、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[3][2]={1,2,4,5};int*p;p=a[0];coutp[0]""p[1]""p[2]""p[3]endl;p=a[1];coutp[0]""p[1]""p[2]""p[3]endl;p=a[2];coutp[0]""p[1]""p[2]""p[3]endl;return0;}本题答案:【1245450000不确定不确定】6、【单选题】阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){intaa[2][5]={1,2,3,4,5,6,7,8,9,10};int*ptr1=(int*)(aa+1);int*ptr2=(int*)(*(aa+1));cout*(ptr1-1)""*(ptr2-1);return0;}本题答案:【105】7、【单选题】阅读程序,输出结果#includeiostreamusingnamespacestd;intmain(){char*a[]={"work","at","alibaba"};char**pa=a;pa++;cout*paendl;return0;}本题答案:【at】8、【单选题】有定义语句:chars[3][10],(*k)[3],*p;则对于下列赋值语句,哪个是正确的?本题答案:【p=s[0];】9、【单选题】如定义inta[3][4];下面哪个不能表示a[1][1]?本题答案:【*(a[1]+1)】10、【单选题】阅读程序,输出结果#includeiostreamusingnamespacestd;intmain(){inta[3][4]={{0,1,2,10},{3,4,5,11},{6,7,8,12}};cout*(a[0][0])endl;cout**aendl;cout*(a[1][0])endl;cout*(a[0]+1)endl;cout*(a+1)endl;return0;}本题答案:【0031第一行的首地址】第七章编程题第七章练一练---经典基础题--不计入总分---第七章练一练---经典提高题---不计入总分---第7章单元测试1、【单选题】有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;coutijendl;}运行时的输出结果是______。本题答案:【88】2、【单选题】有以下程序#includeiostreaminti=0;voidfun(){{staticinti=1;couti++',';}cout::i',';}intmain(){fun();fun();return0;}程序执行后的输出结果是()本题答案:【1,0,2,0,】3、【单选题】已知函数fun的原型为intfun(int,int,int);下列重载函数原型中错误的是______。本题答案:【floatfun(int,int,int);】4、【单选题】下列函数原型声明中错误的是()本题答案:【voidFun(intx=0,inty);】5、【单选题】已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则本题答案:【若FB定义在FA之后,则FB的原型必须出现在FA的定义之前】6、【单选题】为了提高函数调用的实际运行速度,可以将较简单的函数定义为本题答案:【内联函数】7、【单选题】下面的函数利用递归实现了求1+2+3…..+n的功能:intsum(intn){if(n==0)return0;elsereturnn+sum(n-1);}在执行sum(10)的过程中,递归调用sum函数的次数是()。本题答案:【10】8、【单选题】已知函数f的原型是:voidf(int*a,longb);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是()。本题答案:【f(v1,v2);】9、【单选题】有如下程序:#includeiostreamusingnamespacestd;voidf1(intx,inty){intz=x;x=y;y=z;}voidf2(intx;inty){intz=x;x=y;y=z;}intmain(){intx=10,y=26;f1(x,y);f2(x,y);coutxendl;return0;}运行时的输出结果是本题答案:【26】10、【单选题】以下程序的执行结果是()。intfun(intb[],intn){inti,r=1;for(i=0;in;i++)r=r*b[i];returnr;}voidmain(){intx,a[]={1,2,3,4,5,6,7,8};x=fun(a,3);coutxendl;}本题答案:【6】第8章单元测试1、【单选题】要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()本题答案:【iomanip】2、【单选题】以下不能作为输出流对象的是()。本题答案:【键盘】3、【单选题】C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()本题答案:【cset】4、【单选题】下列关于文件流的描述中,正确的是()本题答案:【若输出流要打开的文件不存在,将建立一个新文件】5、【单选题】以下叙述中不正确的是()本题答案:【C++语言中,随机读写方式不适用于文本文件】6、【单选题】以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是()。本题答案:【ofstream*myfile=new("d:ofiletxt");】7、【单选题】如果调用C++流进行输入输出,下面的叙述中正确的是()本题答案:【只能借助于流对象进行输入输出】8、【单选题】打开文件时可单独或组合使用下列文件打开模式①ios_base::app②ios_base::binary③ios_base::in④ios_base::out若要以二进制读方式打开一个文件,需使用的文件打开模式为().本题答案:【②③】9、【单选题】当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。本题答案:【ios_base::in】10、【单选题】执行语句序列ofstreamoutfile(DATA.DAT);if(...)coutOK;elsecoutFAIL;后,如果文件打开成功显示“OK”,否则就显示“Fail。”。由此可知,上面if语句的...处的表达式应是().本题答案:【outfile.good()或outfile】第8章练一练经典提高题程序填空题1、【填空题】下列程序的功能是:将M行N列的二维数组中的字符数据,按列的顺序依此放到一个字符串并将该字符显示在屏幕上,然后将此字符串的内容存入e:\out.txt文件中。请在程序()位置填入适当的一条语使程序完整。请注意本题中的3个空分别是接下来的3个填空题,本题只需填入第一空位置//1处的答案。#includefstream#includeiostreamusingnamespacestd;constintM=3;constintN=4;intmain(){charb[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};ofstreamwf;()//1inti,j,k=0;coutThematrix:\n;for(i=0;iM;i++){for(j=0;jN;j++)coutw[i][j];cout\n;}for(i=0;iN;i++)for(j=0;jM;j++)()//2b[k]='\0';coutTheAstring:\n;coutb;cout\n;()//3wf.close();return0;}本题答案:【wf.open("out.txt");##%_YZPRLFH_%##wf.open("e:\\out.txt",ios::out);##%_YZPRLFH_%##wf.open("e:\\out.txt");##%_YZPRLFH_%##wf.open("E:\\out.txt");】2、【填空题】题目题干见第1题。将第1题中第二空位置//2处的答案填入此题。本题答案:【b[k++]=w[j][i];##%_YZPRLFH_%##{b[k]=w[j][i];k++;}##%_YZPRLFH_%##{b[k]=w[j][i];k=k+1;}】3、【填空题】题目题干见第1题。将第1题中第三空位置//3处的答案填入此题。本题答案:【wf<】4、【填空题】给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到e:\file1.txt文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。程序的运行结果是:Hello!1234598.76请在程序()位置填入适当的一条语句使程序完整。请注意本题中的4个空//4,//5,//6,//7分别对应问题4,问题5,问题6和问题7.本题只需填入//4位置第一空的答案。#includeiostream#includefstreamusingnamespacestd;voidfun(char*s,inta,doublef){fstreamfp;charch;()//4fps;fpa;fpf;fp.close();()//5coutTheresult:\n;fp.get(ch);while()//6{coutch;()//7}coutendl;fp.close();}intmain(){chara[10]=Hello!;intb=12345;doublec=98.76;fun(a,b,c);return0;}本题答案:【fp.open("file1.txt",ios::out);##%_YZPRLFH_%##fp.open("file1.txt",ios::out|ios::trunc);##%_YZPRLFH_%##fp.open("e:\\file1.txt",ios::out|ios::trunc);##%_YZPRLFH_%##fp.open("e:\\file1.txt",ios::out);##%_YZPRLFH_%##fp.open("E:\\file1.txt",ios::out);】5、【填空题】题目题干见第4题。将第4题中第二空位置//5处的答案填入此题。本题答案:【fp.open("file1.txt");##%_YZPRLFH_%##fp.open("e:\\file1.txt");##%_YZPRLFH_%##fp.open("E:\\file1.txt");】6、【填空题】题目题干见第4题。将第4题中第三空位置//6处的答案填入此题。本题答案:【fp.eof()==0##%_YZPRLFH_%##!fp.eof()】7、【填空题】题目题干见第4题。将第4题中第四空位置//7处的答案填入此题。本题答案:【fp.get(ch);】8、【填空题】编写一个函数intcharnum(charfn[]),该函数打开文件fn,,通过统计,返回文件中字符的个数。请在程序()位置填入适当的一条语句使程序完整。请注意本题中的3个空//8,//9,//10分别对应问题8,问题9和问题10,本题只需填入第一空位置//8处的答案。#includeiostream#includefstreamusingnamespacestd;intcharnum(charfn[]);intmain(){intnum;num=charnum(abc.txt);coutnum=numendl;return0;}intcharnum(charfn[]){fstreamfile;()//8if(!file){coutabc.txtcan'topenendl;abort();}charch;inti=0;file.get(ch);while()//9{()//10i++;}file.close();returni;}本题答案:【file.open(fn);】9、【填空题】题目题干见第8题。将第8题中第二空位置//9处的答案填入此题。本题答案:【!file.eof()##%_YZPRLFH_%##file.eof()==0】10、【填空题】题目题干见第8题。将第8题中第三空位置//10处的答案填入此题。本题答案:【file.get(ch);##%_YZPRLFH_%##ch=file.get();】第九章编程题第9章单元测试1、【单选题】下列关于构造函数的描述中,错误的是()本题答案:【构造函数可以有返回值】2、【单选题】在C++中,编译系统自动为一个类生成缺省构造函数的条件是()。本题答案:【该类没有定义任何构造函数】3、【单选题】若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()本题答案:【a】4、【单选题】Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是Samplea[2],*q,*p=newSample;本题答案:【3】5、【单选题】若MyClass是一个类名,且有如下语句序列MyClassc1,*c2;MyClass*c3=newMyClass;MyClassc4=c1;上面的语句序列所定义的类对象的个数是本题答案:【2】6、【单选题】下列运算符函数中肯定不属于类FunNumber的成员函数的是本题答案:【intoperator–(FunNumber,FunNumber)】7、【单选题】关于友元,下列说法错误的是本题答案:【如果类A是类B的友元,那么类B也是类A的友元】8、【单选题】有以下类定义classPoint{public:Point(intx=0,inty=0){_.x=x;_.y=y;}voidMove(intxOff,intyOff){_x+=xOff;_.y+=yOff;}voidPrint()const{cout'('_x','_y')'endl;}private:int_x,_y;};下列语句中会发生编译错误的是本题答案:【constPointpt;pt.Move(l,2);】9、【单选题】有如下两个类定义classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义是错误的,这个变量是本题答案:【v3】10、【单选题】有如下程序:#includeiostreamusingnamespacestd;classXA{inta;public:staticintb;XA(intaa):a(aa){b++;}~XA(){}intget(){returna;}};intXA::b=0;intmain(){XAd1(2),d2(3);coutd1.get()+d2.get()+XA::bendl;return0;}运行时的输出结果是()本题答案:【7】第九章练一练--经典基础题-钟类专题--不计入总分---1、【单选题】简单钟(类与对象的定义):设计一个钟类,其特征数据为:时、分、秒;其行为特征为:显示时间和设置时间,说明一个钟类的对象myclock,并设置时间和显示时间。其程序为:#includeiostreamusingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private://私有数据成员inthp,mp,sp;};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(){couthp:mp:spendl;}intmain(){ClockmyClock;//定义对象myClockcoutFirsttimesetandoutput:endl;①//设置时间②//显示时间coutSecondtimesetandoutput:endl;③//设置时间④//显示时间return0;}程序运行的结果为:根据输出结果,完成程序中①②③④位置所对应的语句。本题答案:【①myClock.SetTime(8,30,30);//设置时间②myClock.ShowTime();//显示时间③myClock.SetTime(10,20,20);//设置时间④myClock.ShowTime();//显示时间】2、【单选题】简单钟(类与对象的定义):设计一个钟类,其特征数据为:时、分、秒;其行为特征为:获取时间和设置时间,说明一个钟类的对象myclock,并设置时间和显示时间。其程序运行结果为:H、includeiostreamusingnamespacestd;classClock//时钟类的声明{inthp,mp,sp;public:voidSetTime(intNewH,intNewM,intNewS);};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}intmain(){ClockmyClock;//定义对象myClockcoutFirsttimesetandoutput:endl;myClock.SetTime(8,30,30);//设置时间coutmyClock.hp:myClock.mp:myClock.spendl;coutSecondtimesetandoutput:endl;myClock.SetTime(10,20,20);//设置时间coutmyClock.hp:myClock.mp:myClock.spendl;return0;}本题答案:【#includeiostreamusingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH,intNewM,intNewS);voidShowTime(intNewH,intNewM,intNewS);private://私有数据成员inthp,mp,sp;};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(intNewH,intNewM,intNewS){NewH=hp;NewM=mp;NewS=sp;}intmain(){inth,m,s;ClockmyClock;//定义对象myClockcoutFirsttimesetandoutput:endl;myClock.SetTime(8,30,30);//设置时间myClock.ShowTime(h,m,s);//获取时间couth:m:sendl;coutSecondtimesetandoutput:endl;myClock.SetTime(10,20,20);//设置时间myClock.ShowTime(h,m,s);//获取时间couth:m:sendl;return0;}】3、【单选题】简单钟(构造函数):设计一个钟类,其特征数据为:时、分、秒;其行为特征为:获取时间和设置时间,说明一个钟类的对象myclock,并设置时间和显示时间。其主函数为:intmain(){inth,m,s;ClockmyClock,yourClock(8,30,30);//定义对象myClockcoutmytimesetandoutput:endl;myClock.ShowTime(h,m,s);//获取时间couth:m:sendl;coutyourtimesetandoutput:endl;yourClock.ShowTime(h,m,s);//获取时间couth:m:sendl;return0;}根据主函数,完成类的定义。H、includeiostreamusingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数Clock(intNewH,intNewM,intNewS);Clock(){}voidShowTime(intNewH,intNewM,intNewS);private://私有数据成员inthp,mp,sp;};//时钟类成员函数的具体实现Clock::Clock(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(intNewH,intNewM,intNewS){NewH=hp;NewM=mp;NewS=sp;}本题答案:【#includeiostreamusingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数Clock(intNewH,intNewM,intNewS);Clock(){}voidShowTime(intNewH,intNewM,intNewS);private://私有数据成员inthp,mp,sp;};//时钟类成员函数的具体实现Clock::Clock(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(intNewH,intNewM,intNewS){NewH=hp;NewM=mp;NewS=sp;}】4、【单选题】走动的钟(类与对象):设计一个钟类,其特征数据为:时、分、秒;其行为特征为:时钟的走动、显示时间和设置时间,说明一个钟类的对象myclock,并设置时间和显示时间。其主函数为:intmain(){ClockmyClock;//定义对象myClockcoutFirsttimesetandoutput:endl;myClock.SetTime(23,59,54);//根据参数设置时间myClock.ShowTime();//显示时间system(pause);//屏幕输出暂停一下,敲任意键盘继续运行程序for(inti=0;;i++){system(CLS);//清理屏幕cout***********走动的钟********\n;myClock.ShowTime();myClock.AddOneS();//按24小时计算走动的时钟cout***********走动的钟********\n;Sleep(1000);//休眠1000毫秒再运行CPU中的程序}}H、includeiostreamI、includewindows.husingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH=0,intNewM=0,intNewS=0);voidShowTime();voidAddOneS()//以24小时计算走动时钟{sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=24){hp=0;}}}}private://私有数据成员inthp,mp,sp;};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(){couthp:mp:spendl;}K、includeiostreamL、includewindows.husingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH=0,intNewM=0,intNewS=0);voidShowTime();private://私有数据成员voidAddOneS()//以24小时计算走动时钟{sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=24){hp=0;}}}}inthp,mp,sp;};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(){couthp:mp:spendl;}本题答案:【#includeiostream#includewindows.husingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH=0,intNewM=0,intNewS=0);voidShowTime();voidAddOneS()//以24小时计算走动时钟{sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=24){hp=0;}}}}private://私有数据成员inthp,mp,sp;};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(){couthp:mp:spendl;}】5、【单选题】带日期的时钟(组合类):设计一个钟类,其特征数据为:时、分、秒,日期;其行为特征为:时钟的走动、显示时间(包括日期)和设置时间(包括日期),其中,日期也作为一个独立的日期类,其特征数据为:年、月、日;其行为特征为:获得年、月和日的数据,并能设置日期,说明一个钟类的对象myclock,并设置时间和显示时间。其主函数为:#includeiostream#includewindows.husingnamespacestd;classDate//定义日期类{intyear;intmonth;intday;public:voidSetDay(intNewY,intNewM,intNewD)//设置日期{year=NewY;month=NewM;day=NewD;}intGet_Y(){returnyear;}//获得时间的年份intGet_M(){returnmonth;}//获得时间的月份intGet_D(){returnday;}//获得时间的日期voidShowDay(intNewY,intNewM,intNewD)//获得时间的年月日{NewY=year;NewM=month;NewD=day;}};/******请完成定义相关的时钟类,日期类作为时钟类的日期的类型***********/intmain(){ClockmyClock;//定义对象myClockmyClock.SetTime();//设置时间为默认值myClock.DispTime();//显示时间system(pause);system(CLS);while(1){cout*****欢迎进入各时区计时系统*****endl;coutendlendlendl;myClock.DispTime();//显示时间myClock.AddOneS();//走动时间Sleep(1000);system(CLS);}}本题答案:【classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intz1,intNewH,intNewM,intNewS,Dated1);//设置时间intGet_H(){returnhp;}//获得时间的时数intGet_M(){returnmp;}//获得时间的分钟intGet_S(){returnsp;}//获得时间的秒数DateGet_Day(){returnd;}//获得时间的日期voidSetTime()//设置默认时间{SYSTEMTIMEsys;//系统时间GetLocalTime(sys);//获得本机器的当前时间hp=sys.wHour;//把本机器的当前时间时数赋给相应的成员变量mp=sys.wMinute;//把本机器的当前时间分钟赋给相应的成员变量sp=sys.wSecond;//把本机器的当前时间秒数赋给相应的成员变量z=8;//把本机器的当前时间时区赋给相应的成员变量d.SetDay(sys.wYear,sys.wMonth,sys.wDay);//把本机器的当前时间日期赋给相应的成员变量}voidSetZone(intz);//设置时间的时区intGetZone();//获得时间的时区voidDispTime();//显示时间voidAddOneS()//时钟走动的函数{sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=12){hp=0;}}}}private://私有数据成员inthp,mp,sp,z;Dated;};//时钟类成员函数的具体实现voidClock::SetTime(intz1,intNewH,intNewM,intNewS,Dated1){hp=NewH;mp=NewM;sp=NewS;z=z1;d.SetDay(d1.Get_Y(),d1.Get_M(),d1.Get_D());}//设置时区voidClock::SetZone(intz){this-z=z;}//获取时区intClock::GetZone(){returnz;}voidClock::DispTime(){cout**********北京时间*********\n;cout日期:d.Get_Y()年d.Get_M()月d.Get_D()日endl;cout时间:hp:mp:spendl;cout**********************************\n;coutendlendl;}】6、【单选题】带日期的时钟(组合类构造函数):设计一个钟类,其特征数据为:时、分、秒,日期;其行为特征为:时钟的走动、显示时间(包括日期)和构造函数(包括有参构造函数和无参构造函数),其中,日期也作为一个独立的日期类,其特征数据为:年、月、日;其行为特征为:获得年、月和日的数据,并定义了构造函数,说明两个钟类的对象myclock和myclock1,显示相应的时间,时间显示北京时间和伦敦时间。其主函数为:#includeiostream#includewindows.husingnamespacestd;classDate//定义日期类{intyear;intmonth;intday;public:Date()//无参构造函数,用系统时间设置{SYSTEMTIMEsys;GetLocalTime(sys);year=sys.wYear,month=sys.wMonth,day=sys.wDay;}Date(int_year,int_month,int_day)//有参构造函数,自定义时间设置{year=_year;month=_month;day=_day;}intGet_Y(){returnyear;}//获得时间的年份intGet_M(){returnmonth;}//获得时间的月份intGet_D(){returnday;}//获得时间的日期voidShowDay(intNewY,intNewM,intNewD)//获得时间的日期{NewY=year;NewM=month;NewD=day;}};/******请完成定义相关的时钟类,日期类作为时钟类的日期的类型,时钟类赋值通过构造函数赋值***********/intmain(){Datel(2020,1,1);//定义一个指定日期ClockmyClock,myClock1(0,10,45,50,l);//定义对象myClock(不须初始化)对象myClock1须初始化myClock.DispTime();//显示对象myClock时间myClock1.DispTime();//显示对象myClock1时间system(pause);system(CLS);while(1){cout*****欢迎进入各时区计时系统*****endl;coutendlendlendl;myClock.DispTime();//显示对象myClock时间myClock.AddOneS();//对象myClock时间走动coutendlendlendl;myClock1.DispTime();//显示对象myClock1时间myClock1.AddOneS();//对象myClock1时间走动Sleep(1000);//隔1秒钟再运行system(CLS);//清屏}}程序运行的初始结果如下图所示:(注意:这里北京时间为系统时间,是指产生这个程序当时的系统时间;伦敦时间是程序设置的时间;)本题答案:【/******请完成定义相关的时钟类,日期类作为时钟类的日期的类型,时钟类赋值通过构造函数赋值***********/classClock//时钟类的声明{public://外部接口,公有成员函数Clock(intz1,intNewH,intNewM,intNewS,Dated1);//有参的构造函数intGet_H(){returnhp;}intGet_M(){returnmp;}intGet_S(){returnsp;}DateGet_Day(){returnd;}Clock():d()//无参的构造函数{SYSTEMTIMEsys;GetLocalTime(sys);hp=sys.wHour;mp=sys.wMinute;sp=sys.wSecond;z=8;}voidSetZone(intz);//设置时区intGetZone();//获得时区voidDispTime();//显示时间voidAddOneS()//时钟走动函数{sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=12){hp=0;}}}}private://私有数据成员inthp,mp,sp,z;Dated;};//时钟类成员函数的具体实现Clock::Clock(intz1,intNewH,intNewM,intNewS,Dated1):d(d1)//组合构造函数{hp=NewH;mp=NewM;sp=NewS;z=z1;}//获取时区intClock::GetZone(){returnz;}voidClock::DispTime()//显示时间{if(z==8)cout**********北京时间*********\n;if(z==0)cout**********伦敦时间*********\n;cout日期:d.Get_Y()年d.Get_M()月d.Get_D()日endl;cout时间:hp:mp:spendl;cout**********************************\n;coutendlendl;}】7、【单选题】带时区的时钟(静态成员):一个小作坊,生产时钟能力有限,最多只能生产10个时钟,请统计该小作坊生产时钟的个数,并给每个时钟进行编号,编号从1开始;下面是完成该功能的主函数,请完成相应时钟类的相关信息;intmain(){inti,j;Clocks[10];//定义最多十个时钟for(i=0;i10;i++){//给十个时钟计数、赋值和编号s[i].init();//count++;Number=count;for(j=0;j=i;j++)s[j].DispTime();cout--------------endl;system(pause);system(CLS);}}H、includeiostreamI、includewindows.husingnamespacestd;classClock//时钟类的声明{//私有数据成员staticintcount;//静态变量统计个数intNumber;//成员变量作为编号inthp,mp,sp,z;//时间的一般参数时分秒和时区public://外部接口,公有成员函数Clock(intz1,intNewH,intNewM,intNewS);//有参构造函数intGet_H(){returnhp;}//获得时间的时数intGet_M(){returnmp;}//获得时间的分钟intGet_S(){returnsp;}//获得时间的秒数Clock()//无参构造函数{SYSTEMTIMEsys;//系统时间GetLocalTime(sys);//获得本机器的当面时间hp=sys.wHour;mp=sys.wMinute;sp=sys.wSecond;z=8;}voidinit(){//初始化一些变量count++;//由于是静态变量,在类中共享Number=count;//由于是成员变量,只能在对象中起作用}voidDispTime();//显示时间voidAddOneS()//时钟走动函数{sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=12){hp=0;}}}}};//时钟类成员函数的具体实现Clock::Clock(intz1,intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;z=z1;}//获取时区voidClock::DispTime(){coutNo.Number;coutcount=countendl;cout**********北京时间*********\n;cout时间:hp:mp:spendl;cout**********************************\n;}intClock::count=0;//静态变量赋初值K、includeiostreamL、includewindows.husingnamespacestd;classClock//时钟类的声明{//私有数据成员staticintcount;intNumber;inthp,mp,sp,z;public://外部接口,公有成员函数Clock(intz1,intNewH,intNewM,intNewS);intGet_H(){returnhp;}intGet_M(){returnmp;}intGet_S(){returnsp;}Clock(){SYSTEMTIMEsys;GetLocalTime(sys);hp=sys.wHour;mp=sys.wMinute;sp=sys.wSecond;z=8;}voidinit(){count++;Number=count;}voidDispTime();voidAddOneS(){sp++;if(sp=60){mp++;sp=0;if(mp=60){mp=0;hp++;if(hp=12){hp=0;}}}}intcount=0;};//时钟类成员函数的具体实现Clock::Clock(intz1,intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;z=z1;}//获取时区voidClock::DispTime(){coutNo.Number;coutcount=countendl;cout**********北京时间*********\n;cout时间:hp:mp:spendl;cout**********************************\n;}本题答案:【#includeiostream#includewindows.husingnamespacestd;classClock//时钟类的声明{//私有数据成员staticintcount;//静态变量统计个数intNumber;//成员变量作为编号inthp,mp,sp,z;//时间的一般参数时分秒和时区public://外部接口,公有成员函数Clock(intz1,intNewH,intNewM,intNewS);//有参构造函数intGet_H(){returnhp;}//获得时间的时数intGet_M(){returnmp;}//获得时间的分钟intGet_S(){returnsp;}//获得时间的秒数Clock()//无参构造函数{SYSTEMTIMEsys;//系统时间GetLocalTime(sys);//获得本机器的当面时间hp=sys.wHour;mp=sys.wMinute;sp=sys.wSecond;z=8;}voidinit(){//初始化一些变量c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浅谈就业协议书
- 转让手表合同协议书范本
- 进口喷淋头销售合同协议
- 轨道线路整修合同协议
- 辅助机具销售合同协议
- 邻里家庭维修合同协议
- 正畸退费协议书
- 母婴合同协议书
- 载秧协议及合同
- 煤沙买卖协议书
- 2024年04月江苏省农业农村厅直属事业单位2024年公开招考工作人员笔试历年高频考题摘选后附答案详解
- 多图中华民族共同体概论课件第十三讲先锋队与中华民族独立解放(1919-1949)根据高等教育出版社教材制作
- 伤口造口进修汇报护理
- 口才与演讲实训教程智慧树知到期末考试答案2024年
- 档案整理及数字化服务售后服务方案
- 打造消费天堂(百货公司与近代城市文化)
- 2024年一年级《体育与健康》全册教案
- 臂丛神经损伤康复护理
- 2023路用热拌环氧沥青
- 建筑工程《拟投入本项目的主要施工设备表及试验检测仪器设备表》
- 【高中语文】《红楼梦》+日常生活描写所表现的文化内涵+统编版高中语文必修下册
评论
0/150
提交评论