MOOC C++程序设计基础-华中科技大学 中国大学慕课答案_第1页
MOOC C++程序设计基础-华中科技大学 中国大学慕课答案_第2页
MOOC C++程序设计基础-华中科技大学 中国大学慕课答案_第3页
MOOC C++程序设计基础-华中科技大学 中国大学慕课答案_第4页
MOOC C++程序设计基础-华中科技大学 中国大学慕课答案_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

MOOCC++程序设计基础-华中科技大学中国大学慕课答案第一章编程题第一章单元测试1、问题:以下关于C++语言描述错误的是()选项:A、一个C++程序总是从main函数开始执行B、每个语句和数据声明的最后必须有一个分号C、C++语言的注释符是以“/*”开始并以“*/”结束的D、一个C++程序可以包含多个main函数正确答案:【一个C++程序可以包含多个main函数】2、问题:C++语言源程序文件名后缀为()。选项:A、.EXEB、.OBJC、.cppD、.ASM正确答案:【.cpp】3、问题:C++语言是()选项:A、机器语言B、汇编语言C、仅具有面向对象特征的语言D、既表现面向对象的特征,又表现面向过程的特征正确答案:【既表现面向对象的特征,又表现面向过程的特征】4、问题:C++语言中普通整型变量int在内存中占()字节。选项:A、1B、2C、3D、4正确答案:【4】5、问题:下列不是C++语言基本数据类型的是()。选项:A、字符型B、整型C、浮点型D、结构体正确答案:【结构体】6、问题:各种基本数据类型的存储空间正确的长度排列为()。选项:A、intchardoubleB、doubleintcharC、charintdoubleD、int=chardouble正确答案:【charintdouble】7、问题:下面的变量说明中()是正确的。选项:A、char:a,b,c;B、chara;b;c;C、chara,b,c;D、chara,b,c,正确答案:【chara,b,c;】8、问题:转义字符“反斜杠线”的表示方法正确的是()。选项:A、\B、\\C、‘\’D、“\”正确答案:【\\】9、问题:在C++语言中,自定义的标识符()。选项:A、能使用关键字并且不区分大小写B、不能使用关键字并且不区分大小写C、能使用关键字并且区分大小写D、不能使用关键字并且区分大小写正确答案:【不能使用关键字并且区分大小写】10、问题:存储字符串“a+b=12\n\t”所占存储空间的字节数为()ꢀꢀ选项:A、8B、9C、10D、11正确答案:【9】第二章编程题第二章单元测试1、问题:执行下面程序段的输出结果是()。intx=23,y=5,z;z=2+(y++,x+8,x++);coutx""zendl;选项:A、2425B、2426C、2526D、2525正确答案:【2425】2、问题:若int型变量x=29,double型变量y=6.0,则表达式x/y的值为()。选项:A、4.83333B、4C、5D、5.0正确答案:【4.83333】3、问题:判断字符型变量ch是否为大写英文字母,应使用表达式()。选项:A、ch='A'ch='Z'B、ch='A'||ch='Z'C、'A'=ch='Z'D、ch='A'ch='Z'正确答案:【ch='A'ch='Z'】4、问题:intx=5,y=6;下列表达式结果为真的是()。选项:A、x==y--B、x==++yC、x++==yD、x==--y正确答案:【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的值为()选项:A、0B、1C、2D、3正确答案:【2】6、问题:执行下列语句后,输出的结果是().inta=3,b=5;doublec=b/a;coutcendl;选项:A、1.66666B、1C、1.0D、1.7正确答案:【1】7、问题:已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是()。选项:A、5B、6C、0D、1正确答案:【5】8、问题:逗号表达式a=3,a++,a+=6的值是()。选项:A、10B、9C、11D、12正确答案:【10】9、问题:已知下列语句中的x和y都是int型变量,其中错误的语句()。选项:A、x=y++;B、x=++y;C、(x+y)++;D、++x==y;正确答案:【(x+y)++;】10、问题:执行以下代码后,变量x、y、z的值分别为()intx=1,z=1,y=1,k;k=x++||++y++z选项:A、211B、222C、122D、112正确答案:【211】第三章编程题第三章练一练-----经典提高题---不计入MOOC总成绩---第三章单元测试1、问题:执行语句序列intn;cinn;switch(n++){case1:case2:cout'1';case3:case4:cout'2';break;default:cout'3';}时,若键盘输入1,则屏幕显示()。选项:A、1B、2C、23D、12正确答案:【12】2、问题:下面程序的输出结果是().#includeiostreamusingnamespacestd;intmain(){inta=2,b=-1,c=2;if(ab)if(b0)c=0;elsec+=1;coutcendl;return0;}选项:A、0B、1C、2D、3正确答案:【2】3、问题:为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。选项:A、缩排位置相同的ifB、在其之前未配对的ifC、其之前未配对的最近的ifD、同一行上的if正确答案:【其之前未配对的最近的if】4、问题:与表达式if(!k)等价的是()。选项:A、if(k==0)B、if(k!=1)C、if(-k)D、if(k!=0)正确答案:【if(k==0)】5、问题:以下代码执行后,a、b、c的值分别为()。inta=8,b=10,c=3;if(ab)c=a;a=b;b=c;选项:A、1033B、8103C、1088D、10108正确答案:【1033】6、问题:下列描述正确的是()。选项:A、表示mn1或mn2的表达式为mn1mn2B、switch语句结构中必须有default语句C、if语句结构中必须有else语句D、如果至少有一个操作数为true,则包含||运算符的表达式为true正确答案:【如果至少有一个操作数为true,则包含||运算符的表达式为true】7、问题:下面程序的运行结果是().#includeiostreamusingnamespacestd;intmain(){inti=10;switch(i){case9:i++;case10:++i;case11:i++;default:i=i+1;}coutiendl;return0;}选项:A、9B、10C、11D、13正确答案:【13】8、问题:若inta=6,则执行完下列语句后,a的值为().if(a10)a-=5;a+=5;选项:A、1B、6C、10D、11正确答案:【11】9、问题:#includeiostreamusingnamespacestd;intmain(){inta=3;if(a=5)couta+1endl;elsecoutaendl;return0;}程序的输出是()。选项:A、3B、4C、5D、6正确答案:【6】10、问题:若x和y是程序中的两个整型变量,则下列if语句中正确的是()。选项:A、if(x==0)y=1;elsey=2;B、if(x==0)theny=1elsey=2;C、if(x==0)y=1elsey=2;D、ifx==0y=1;elsey=2;正确答案:【if(x==0)y=1;elsey=2;】第四章编程题第四章练一练-----经典基础题---不计入MOOC总成绩---第四章练一练-----经典提高题---不计入MOOC总成绩---第四章单元测试1、问题:下面关于break语句的描述中,不正确的是().选项:A、break可以用于循环体内B、break语句可以在for循环语句中出现多次C、break语句可以在switch语句中出现多次D、一个break语句就可以跳出多重循环正确答案:【一个break语句就可以跳出多重循环】2、问题:以下语句不正确的是()。选项:A、语句for(i=0;;)表示无限循环B、for(;;)表示无限循环C、for()也表示无限循环D、while(1)表示无限循环正确答案:【for()也表示无限循环】3、问题:有如下程序:ꢀꢀ#includeiostreamꢀꢀusingnamespacestd;ꢀintmain(){ꢀinti,f,f1=0,f2=1;ꢀꢀfor(i=3;i=6;i++){f=f1+f2;ꢀꢀf1=f2;f2=f;ꢀꢀ}ꢀcoutfendl;return0;ꢀ}ꢀꢀ运行时的输出结果是()选项:A、2B、3C、5D、8正确答案:【5】4、问题:有如下程序段:inti=5;while(inti=0){cout'*';i--;}运行时输出*的个数是()。选项:A、0B、1C、5D、无穷正确答案:【0】5、问题:执行完以下语句inti=0;doi++;while(i*i10);时,do后面的循环体语句i++被执行的次数为()选项:A、2B、3C、4D、5正确答案:【4】6、问题:有如下循环语句:for(inti=50;i20;i-=2)couti',';运行时循环体的执行次数是()选项:A、14B、15C、30D、27正确答案:【15】7、问题:有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout'*';}执行这个程序段输出字符*的个数是()选项:A、10B、3C、4D、5正确答案:【4】8、问题:有如下程序:#includeiostreamusingnamespacestd;intmain(){intsum;for(inti=0;i6;i+=3){sum=i;for(intj=i;j6;j++)sum+=j;}coutsumend1;return0;}运行时的输出结果是()。选项:A、3B、10C、12D、15正确答案:【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;}选项:A、3B、4C、5D、6正确答案:【4】10、问题:有如下程序段:for(inti=1;i=50;i++){if(i%3!=0)continue;elseif(i%5!=0)continue;couti,;}执行这个程序段的输出是()选项:A、15,30,45,B、15,45,C、15,30,D、30,45,正确答案:【15,30,45,】第五章编程题第五章练一练----经典基础题-----不计入MOOC总成绩---第五章练一练----经典提高题-----不计入MOOC总成绩---第五章单元测试1、问题:要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是()选项:A、intx[3]={0,0,0};B、intx[]={0};C、intx[3]={0};D、intx[]={0,0,0};正确答案:【intx[]={0};】2、问题:在C++语言中,二维数组元素在内存中的存放顺序是()。选项:A、按行优先存放B、按列优先存放C、由用户自己定义D、由编译器决定正确答案:【按行优先存放】3、问题:在下述对C++语言字符数组的描述中,有错误的是()。选项:A、字符数组可以存放字符串。B、字符数组中的字符串可以进行整体输入输出。C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值。D、字符数组的下标从0开始。正确答案:【可以在赋值语句中通过赋值运算符=对字符数组整体赋值。】4、问题:以下数组的初始化,正确的是()。选项:A、inta[]={1,2,3,4,5};B、inta[4]={1,2,3,4,5};C、inta[2]={1,2,3};D、inta[][]={1,2,3,4};正确答案:【inta[]={1,2,3,4,5};】5、问题:下面关于数组的描述错误的是()。选项:A、在C++语言中数组的名字就是该数组第一个元素的首地址。B、长度为n的数组,下标的范围是0~n-1。C、数组的大小必须在编译时确定。D、数组元素的个数在定义时可以缺省。正确答案:【数组元素的个数在定义时可以缺省。】6、问题:下面程序的运行结果是()。charc[5]={'a','b','','c',''};coutc;选项:A、1012ACF0(数组c的首地址值)B、abC、abcD、以上都不是正确答案:【以上都不是】7、问题:有如下程序段:charc[20]=examination;c[4]=0;coutcendl;执行这个程序段的输出是()。选项:A、examinationB、examC、exaD、exami正确答案:【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;}选项:A、26B、35C、47D、36正确答案:【36】9、问题:已知:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是().for(i=0;i3;i++)coutx[i][2-i];选项:A、159B、147C、357D、369正确答案:【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;}选项:A、interB、abcC、interabcD、intcba正确答案:【intcba】第六章编程题第6章单元测试1、问题:下面程序的运行结果是().#includeiostreamusingnamespacestd;intmain(){floata=1,b=2,c;float*p1=a,*p2;p2=b;c=*p1+*p2;cout*p1'\n';}选项:A、1B、2C、aD、b正确答案:【1】2、问题:设有定义一维数组如下:inta[5],*p=a;,则下列描述中错误的是().选项:A、表达式p=p+1是合法的B、表达式a=a+1是合法的C、表达式p-a是合法的D、表达式a+2是合法的正确答案:【表达式a=a+1是合法的】3、问题:已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()选项:A、cout*arr+1endl;B、cout*(arr+1)endl;C、coutarr[1]endl;D、cout*arrendl;正确答案:【cout*arrendl;】4、问题:下列语句中,正确的是()。选项:A、char*myString=Hello-World!;B、charmyString=Hello-World!;C、charmyString[11]=Hello-World!;D、charmyString[12]=Hello-World!;正确答案:【char*myString=Hello-World!;】5、问题:已知:intm=10;在下列语句中错误的是()选项:A、int*p=newint(m);B、int*p=newint[m]={0};C、float*p=newfloat(m);D、float*p=newfloat[m];正确答案:【int*p=newint[m]={0};】6、问题:下面程序的运行结果是().#includeiostreamusingnamespacestd;voidmain(void){inta[5]={10,20,30,40,50};int*p=a[0];p++;cout++*pendl;}选项:A、10B、21C、31D、41正确答案:【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;}选项:A、HELLO,WORLDB、Hello,WorldC、hELLO,wORLDD、hello,world正确答案:【HELLO,WORLD】8、问题:已知有数组定义?char?a[3][4];?下列表达式中错误的是()。?选项:A、a[2]=WIN?;B、strcpy(a[2],WIN)?;C、a[2][3]='W'?;D、a[0][1]=a[0][1]?;正确答案:【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;}选项:A、23B、58C、64D、79正确答案:【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;}选项:A、11B、21C、12D、31正确答案:【12】第六章练一练经典基础题1、问题:阅读程序,请输出程序的结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(++ptr)endl;return0;}选项:A、1111B、1116C、1112D、1617正确答案:【1116】2、问题:阅读程序,请输出程序的结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(ptr++)endl;return0;}选项:A、1111B、1116C、1112D、1616正确答案:【1111】3、问题:阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*ptr++endl;couta[0]endl;cout*ptrendl;return0;}选项:A、11111116B、11111211C、11121112D、11161117正确答案:【11111116】4、问题:#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout(*ptr)++endl;couta[0]endl;cout*ptrendl;return0;}选项:A、11111116B、11111212C、11121116D、11161117正确答案:【11111212】5、问题:阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(ptr++)endl;couta[0]endl;cout*ptrendl;return0;}选项:A、11111116B、11121112C、11161116D、11161117正确答案:【11111116】6、问题:阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*++ptrendl;couta[0]endl;cout*ptrendl;return0;}选项:A、11111116B、11161116C、11111112D、11111212正确答案:【11161116】7、问题:阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout++*ptrendl;couta[0]endl;cout*ptrendl;return0;}选项:A、11111112B、11161116C、11121212D、11121112正确答案:【11121212】8、问题:阅读程序,输出结果。#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptrendl;cout*(++ptr)endl;couta[0]endl;cout*ptrendl;return0;}选项:A、11111112B、11161116C、11121112D、11111116正确答案:【11161116】9、问题:阅读程序,输出结果#includeiostreamusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout*ptr*(++ptr)endl;return0;}选项:A、1616B、1111C、1116D、1112正确答案:【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;}选项:A、*++pB、*p++C、(*p)++D、*p正确答案:【*++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;}请问这两个输出的地址差是多少字节?选项:A、16B、4C、1D、编译错误正确答案:【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;}请问这两个输出的数据相差多少?选项:A、16B、4C、1D、编译错误正确答案:【编译错误】3、问题:若定义chars[2][3]={“ab”,“cd”},*p=(char*)s;//字符型指针p存放的是字符串s的首地址,而字符串s表示的是这样一个字符串:那么下列表达式语法正确,并且其值与s[1][1]相等的表达式(并非一定与其等价)是()//根据字符串的表示,s[1][1]是字符‘d’选项:A、*(s+3)B、p[1][1]C、*(p+3)D、char(*++p+2)正确答案:【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;}程序运行结果是什么?选项:A、25B、编译错误C、12D、2不确定正确答案:【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;}选项:A、1245450000不确定不确定B、编译错误C、1245000000不确定不确定D、12454500不确定不确定不确定不确定正确答案:【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;}选项:A、105B、编译错误C、地址5D、10地址正确答案:【105】7、问题:阅读程序,输出结果#includeiostreamusingnamespacestd;intmain(){char*a[]={"work","at","alibaba"};char**pa=a;pa++;cout*paendl;return0;}选项:A、atB、编译错误C、workD、alibaba正确答案:【at】8、问题:有定义语句:chars[3][10],(*k)[3],*p;则对于下列赋值语句,哪个是正确的?选项:A、p=s[0];B、p=s;C、p=k;D、k=s;正确答案:【p=s[0];】9、问题:如定义inta[3][4];下面哪个不能表示a[1][1]?选项:A、*(a[0][0]+5)B、*(*(a+1)+1)C、*(a[1]+1)D、*(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;}选项:A、0031第一行的首地址B、第一个元素地址0313C、00313D、003131正确答案:【0031第一行的首地址】第七章编程题第七章练一练---经典基础题--不计入总分---第七章练一练---经典提高题---不计入总分---第7章单元测试1、问题:有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;coutijendl;}运行时的输出结果是______。选项:A、44B、41C、88D、81正确答案:【88】2、问题:有以下程序#includeiostreaminti=0;voidfun(){{staticinti=1;couti++',';}cout::i',';}intmain(){fun();fun();return0;}程序执行后的输出结果是()选项:A、0,1,1,2,B、1,2,2,3,C、2,0,3,0,D、1,0,2,0,正确答案:【1,0,2,0,】3、问题:已知函数fun的原型为intfun(int,int,int);下列重载函数原型中错误的是______。选项:A、charfun(int,int);B、doublefun(int,int,double);C、intfun(int,clar*);D、floatfun(int,int,int);正确答案:【floatfun(int,int,int);】4、问题:下列函数原型声明中错误的是()选项:A、voidFun(intx=0,inty=0);B、voidFun(intx,inty);C、voidFun(intx,inty=0);D、voidFun(intx=0,inty);正确答案:【voidFun(intx=0,inty);】5、问题:已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则选项:A、FA必须定义在FB之前B、FB必须定义在FA之前C、若FA定义在FB之后,则FA的原型必须出现在FB的定义之前D、若FB定义在FA之后,则FB的原型必须出现在FA的定义之前正确答案:【若FB定义在FA之后,则FB的原型必须出现在FA的定义之前】6、问题:为了提高函数调用的实际运行速度,可以将较简单的函数定义为选项:A、内联函数B、重载函数C、递归函数D、函数模板正确答案:【内联函数】7、问题:下面的函数利用递归实现了求1+2+3…..+n的功能:intsum(intn){if(n==0)return0;elsereturnn+sum(n-1);}在执行sum(10)的过程中,递归调用sum函数的次数是()。选项:A、9B、10C、11D、8正确答案:【10】8、问题:已知函数f的原型是:voidf(int*a,longb);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是()。选项:A、f(v1,v2);B、f(v1,v2);C、f(v1,v2);D、f(v1,v2);正确答案:【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;}运行时的输出结果是选项:A、10B、16C、26D、36正确答案:【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;}选项:A、5B、6C、7D、8正确答案:【6】第8章单元测试1、问题:要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是(ꢀꢀ)选项:A、fstreamB、istreamC、ostreamD、iomanip正确答案:【iomanip】2、问题:以下不能作为输出流对象的是(ꢀꢀ)。选项:A、文件B、内存C、键盘D、显示器正确答案:【键盘】3、问题:C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()ꢀꢀ选项:A、coutB、cinC、cerrD、csetꢀ正确答案:【csetꢀ】4、问题:下列关于文件流的描述中,正确的是()ꢀꢀ选项:A、文件流只能完成针对磁盘文件的输入输出ꢀꢀB、建立一个文件流对象时,必须同时打开一个文件ꢀꢀC、若输入流要打开的文件不存在,将建立一个新文件ꢀꢀD、若输出流要打开的文件不存在,将建立一个新文件正确答案:【若输出流要打开的文件不存在,将建立一个新文件】5、问题:以下叙述中不正确的是()选项:A、C++语言中的文本文件以ASCII码形式存储数据B、C++语言中对二进制文件的访问速度比文本文件快C、使用函数open()打开的文件使用完毕后,必须使用close()函数将其关闭D、C++语言中,随机读写方式不适用于文本文件正确答案:【C++语言中,随机读写方式不适用于文本文件】6、问题:以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是(ꢀꢀ)。选项:A、ofstreammyfile;myfile.open(d:ofiltxt);B、ofstream*myfile=newofstream;myfile-open(d:ofiltxt);C、ofstreammyfile(d:ofiltxt);D、ofstream*myfile=new("d:ofiletxt");正确答案:【ofstream*myfile=new("d:ofiletxt");】7、问题:如果调用C++流进行输入输出,下面的叙述中正确的是()选项:A、只能借助于流对象进行输入输出B、只能进行格式化输入输出C、只能借助于cin和cout进行输入输出D、只能使用运算符》和《进行输入输出正确答案:【只能借助于流对象进行输入输出】8、问题:打开文件时可单独或组合使用下列文件打开模式ꢀꢀ①ios_base::app②ios_base::binaryꢀꢀ③ios_base::in④ios_base::outꢀꢀ若要以二进制读方式打开一个文件,需使用的文件打开模式为().选项:A、①③ꢀB、①④ꢀC、②③ꢀD、②④正确答案:【②③ꢀ】9、问题:当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。选项:A、ios_base::inB、ios_base::in│ios_base::outC、ios_base::outD、ios_base::inios_base::out正确答案:【ios_base::in】10、问题:执行语句序列ofstreamoutfile(DATA.DAT);if(...)coutOK;elsecoutFAIL;后,如果文件打开成功显示“OK”,否则就显示“Fail。”。由此可知,上面if语句的...处的表达式应是().选项:A、outfile.fail()或outfileB、outfile.good()或!outfileC、outfile.good()或outfileD、outfile.fail()或!outfile正确答案:【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、问题:下列关于构造函数的描述中,错误的是()选项:A、构造函数名与类名相同B、构造函数可以有返回值C、构造函数可以重载D、每个类都有构造函数正确答案:【构造函数可以有返回值】2、问题:在C++中,编译系统自动为一个类生成缺省构造函数的条件是()。选项:A、该类没有定义任何有参构造函数B、该类没有定义任何无参构造函数C、该类没有定义任何构造函数D、该类没有定义任何成员函数正确答案:【该类没有定义任何构造函数】3、问题:若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()选项:A、aB、AA.aC、a()D、AA::a()正确答案:【a】4、问题:Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是ꢀꢀSamplea[2],*q,*p=newSample;选项:A、0B、4C、2D、3正确答案:【3】5、问题:若MyClass是一个类名,且有如下语句序列MyClassc1,*c2;MyClass*c3=newMyClass;MyClassc4=c1;上面的语句序列所定义的类对象的个数是选项:A、1B、2C、3D、4正确答案:【2】6、问题:下列运算符函数中肯定不属于类FunNumber的成员函数的是选项:A、intoperator-(FunNumber)B、FunNumberoperator-()C、FunNumberoperator-(int)D、intoperator–(FunNumber,FunNumber)正确答案:【intoperator–(FunNumber,FunNumber)】7、问题:关于友元,下列说法错误的是选项:A、如果类A是类B的友元,那么类B也是类A的友元B、如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C、友元关系不能被继承D、如果类A是类B的友元,那么类A的所有成员函数都是类B的友元正确答案:【如果类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;};下列语句中会发生编译错误的是选项:A、Pointpt;pt.Print();B、constPointpt;pt.Print();C、Pointpt;pt.Move(l,2);D、constPointpt;pt.Move(l,2);正确答案:【constPointpt;pt.Move(l,2);】9、问题:有如下两个类定义classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义是错误的,这个变量是选项:A、v1B、v2C、v3D、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;}ꢀ运行时的输出结果是()ꢀ选项:A、5B、6C、7D、8正确答案:【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;}程序运行的结果为:根据输出结果,完成程序中①②③④位置所对应的语句。选项:A、①myClock.SetTime(8,30,30);//设置时间②myClock.ShowTime();//显示时间③myClock.SetTime(10,20,20);//设置时间④myClock.ShowTime();//显示时间B、①SetTime(8,30,30);//设置时间②ShowTime();//显示时间③SetTime(10,20,20);//设置时间④ShowTime();//显示时间C、①Clock::SetTime(8,30,30);//设置时间②Clock::ShowTime();//显示时间③Clock::SetTime(10,20,20);//设置时间④Clock::ShowTime();//显示时间D、都不对正确答案:【①myClock.SetTime(8,30,30);//设置时间②myClock.ShowTime();//显示时间③myClock.SetTime(10,20,20);//设置时间④myClock.ShowTime();//显示时间】2、问题:简单钟(类与对象的定义):设计一个钟类,其特征数据为:时、分、秒;其行为特征为:获取时间和设置时间,说明一个钟类的对象myclock,并设置时间和显示时间。其程序运行结果为:B、includeiostreamusingnamespacestd;classClock//时钟类的声明{voidSetTime(intNewH,intNewM,intNewS);voidShowTime(intNewH,intNewM,intNewS);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;}D、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;}F、includeiostreamusingnamespacestd;classClock//时钟类的声明{inthp,mp,sp;public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime(intNewH,intNewM,intNewS);};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}voidClock::ShowTime(intNewH,intNewM,intNewS){NewH=hp;NewM=mp;NewS=sp;}voidmain(){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;}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;}根据主函数,完成类的定义。B、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;}D、includeiostreamusingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数Clock(intNewH,intNewM,intNewS);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;}F、includeiostreamusingnamespacestd;classClock//时钟类的声明{inthp,mp,sp;public://外部接口,公有成员函数voidSetTime(intNewH=0,intNewM=0,intNewS=0);voidShowTime(intNewH,intNewM,intNewS){NewH=hp;NewM=mp;NewS=sp;}};//时钟类成员函数的具体实现voidClock::SetTime(intNewH,intNewM,intNewS){hp=NewH;mp=NewM;sp=NewS;}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中的程序}}B、includeiostreamC、includewindows.husingnamespacestd;classClock//时钟类的声明{public://外部接口,公有成员函数voidSetTime(intNewH=0,intNewM=0,intNewS=0);voidShowTime();voidD

温馨提示

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

最新文档

评论

0/150

提交评论