中国大学mooc《C++程序设计基础(华中科技大学) 》章节测试答案_第1页
中国大学mooc《C++程序设计基础(华中科技大学) 》章节测试答案_第2页
中国大学mooc《C++程序设计基础(华中科技大学) 》章节测试答案_第3页
中国大学mooc《C++程序设计基础(华中科技大学) 》章节测试答案_第4页
中国大学mooc《C++程序设计基础(华中科技大学) 》章节测试答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

titleC++程序设计基础(华中科技大学)中国大学mooc答案100分最新版content第1章——初识C++语言:从认识变量和常量开始,数据的表示第一章单元测试1、以下关于C++语言描述错误的是()答案:一个C++程序可以包含多个main函数2、C++语言源程序文件名后缀为()。答案:.cpp3、C++语言是()答案:既表现面向对象的特征,又表现面向过程的特征4、C++语言中普通整型变量int在内存中占()字节。答案:45、下列不是C++语言基本数据类型的是()。答案:结构体6、各种基本数据类型的存储空间正确的长度排列为()。答案:char<int<double7、下面的变量说明中()是正确的。答案:chara,b,c;8、转义字符“反斜杠线”的表示方法正确的是()。答案:\9、在C++语言中,自定义的标识符()。答案:不能使用关键字并且区分大小写10、存储字符串“a+b=12\t”所占存储空间的字节数为()答案:9

第一章计算机基础第一章单元测试1、二进制数0011与1101相加,其结果为().答案:100002、计算机正在运行的程序存放在().答案:RAM3、在微型计算机的主要性能指标中,内存容量通常指()。答案:RAM的容量4、目前世界上不同型号的计算机,就其工作原理而言,一般都认为是基于冯•诺伊曼提出的()答案:存储程序控制原理5、与十六进制数AB等值的十进制数是().答案:1716、在相同的计算机环境中,()处理速度最快.答案:机器语言7、下面()可能是八进制数.答案:2038、电子计算机与过去的计算工具相比,所具有的特点有()。答案:具有记忆功能,能够储存大量信息,可方便用户检索和查询9、某单位自行开发的工资管理系统,按计算机应用的类型划分,它属于()。答案:数据处理10、对于内存而言,把硬盘上的数据传送到内存中的过程称为()。答案:写操作11、在计算机中汉字是以()形式输出的.答案:字形码12、在计算机中1字节表示()位答案:813、微处理器处理的数据基本单位为字。一个字的长度通常是()答案:与微处理器芯片的型号有关14、几年前一位芬兰大学生人在Internet上公开发布了一种免费操作系统(),经过许多人的努力,该操作系统正不断完善,并被推广应用。答案:Linux15、将二进制数10111101001转换成十六进制数是().答案:5E916、在下列设备中,属于输出设备的是()。答案:绘图仪17、与十进制数97等值的二进制数是()。答案:110000118、.通常将运算器和()合称为中央处理器,即CPU.答案:控制器19、假设字长8位,机器码-111100的补码为()。答案:1100010020、可以随意读出或写入数据的存储器是()。答案:RAM21、内存中每个基本单位都被赋予唯一的序号,称为()。答案:地址22、计算机中既可作为输入设备又可作为输出设备的是().答案:磁盘23、将十进制数653.5转换成八进制数是()。答案:1215.424、假为设字长8,读取内存中存储的二进制码为11000001,则其真值是()答案:-6325、ROM与RAM的主要区别在于().答案:ROM可以永久保存信息,RAM在掉电后信息会丢失

第2章——计算:从数据运算开始,数据简单运算第二章单元测试1、执行下面程序段的输出结果是()。intx=23,y=5,z;z=2+(y++,x+8,x++);cout<<x<<”“<<z<<endl;答案:24252、若int型变量x=29,double型变量y=6.0,则表达式x/y的值为()。答案:4.833333、判断字符型变量ch是否为大写英文字母,应使用表达式()。答案:ch>=’A’&&ch<=’Z’4、intx=5,y=6;下列表达式结果为真的是()。答案:x==–y5、设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()答案:26、执行下列语句后,输出的结果是().inta=3,b=5;doublec=b/a;cout<<c<<endl;答案:17、已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是()。答案:58、逗号表达式a=3,a++,a+=6的值是()。答案:109、已知下列语句中的x和y都是int型变量,其中错误的语句()。答案:(x+y)++;10、执行以下代码后,变量x、y、z的值分别为()intx=1,z=1,y=1,k;k=x++||++y&&++z答案:211第二章简单程序设计第二章单元测试1、下列字符串中不可以用作C++标识符的是()。答案:2_a2、按照C++语言的规定,每个程序都必须有且仅有一个主函数,主函数的名称必须为()。答案:main3、执行下列程序的功能是()#include<iostream>usingnamespacestd;intmain(){inta=10,b=20;a=a+b;b=a-b;a=a-b;return0;}答案:交换a和b的值4、下列标识符号中,表示行注释的开始标识符是().答案://5、下列语句的输出结果是().inti=5,j=10;cout<<i<<j;答案:5106、表达式x&&1和下列哪个是等价的()答案:x7、对于下列代码段中关于变量i,j下列说法正确的是()#include<iostream>usingnamespacestd;intmain(){inti,j=6;cout<<i<<j<<endl;return0;}答案:i没有被初始化,j初始化值为68、表达式(double)(10/4)*5的结果是()答案:10.09、与x*=y+z等价的赋值表达式是()答案:x=x*(y+z)10、表达式17%4/8的值为()答案:0

第3章——分支结构:无处不在的抉择第三章单元测试1、执行语句序列intn;cin>>n;switch(n++){case1:case2:cout<<‘1’;case3:case4:cout<<‘2’;break;default:cout<<‘3’;}时,若键盘输入1,则屏幕显示()。答案:122、下面程序的输出结果是().#include<iostream>usingnamespacestd;intmain(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec+=1;cout<<c<<endl;return0;}答案:23、为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。答案:其之前未配对的最近的if4、与表达式if(!k)等价的是()。答案:if(k==0)5、以下代码执行后,a、b、c的值分别为()。inta=8,b=10,c=3;if(a>b)c=a;a=b;b=c;答案:10336、下列描述正确的是()。答案:如果至少有一个操作数为true,则包含”||”运算符的表达式为true7、下面程序的运行结果是().#include<iostream>usingnamespacestd;intmain(){inti=10;switch(i){case9:i++;case10:++i;case11:i++;default:i=i+1;}cout<<i<<endl;return0;}答案:138、若inta=6,则执行完下列语句后,a的值为().if(a>10)a-=5;a+=5;答案:119、#include<iostream>usingnamespacestd;intmain(){inta=3;if(a=5)cout<<a+1<<endl;elsecout<<a<<endl;return0;}程序的输出是()。答案:610、若x和y是程序中的两个整型变量,则下列if语句中正确的是()。答案:if(x==0)y=1;elsey=2;第三章选择结构第三章单元测试1、若有定义“inta=1,b=2,c=3;”则执行以下程序段后a,b,c的值分别为()。if(a<b){c=a;a=b;b=c;}答案:a=2,b=1,c=12、以下程序的运行结果是()。intmain(){intn=’c’;switch(n++){default:cout<<“error”;break;case‘a’:case‘b’:cout<<“good“;break;case‘c’:cout<<“pass“;case‘d’:cout<<“warn“;}return0;}答案:passwarn3、以下if语句书写正确的是()。答案:if(x>0){x=x+1;cout<<x;}elsecout<<-x;4、阅读下面语句,则程序的执行结果是()。#include<iostream>usingnamespacestd;intmain(){inta=-1,b=1;if((++a<0)&&!(b–<=0))cout<<a<<b<<endl;elsecout<<b<<a<<endl;return0;}答案:105、有如下程序段inta=14,b=15,x;charc=′A′;x=(a&&b)&&(c<′B′);cout<<x<<endl;执行该程序段后,x的值为()。答案:16、有如下程序#include<iostream>usingnamespacestd;intmain(){doublex=2.0,y;if(x<0.0)y=0.0;elseif(x>10.0)y=1.0/x;elsey=1.0;cout<<y<<endl;return0;}答案:17、有以下程序#include<iostream>usingnamespacestd;intmain(){inta=5,b=4,c=3,d=2;if(a>b>c)cout<<d<<endl;elseif((c-1>=d)==1)cout<<d+1<<endl;elsecout<<d+2<<endl;return0;}执行后输出结果是()。答案:38、阅读程序的结果是():#include<iostream>usingnamespacestd;intmain(){intn=’e’;switch(n–){default:cout<<“error“;case‘a’:case‘b’:cout<<“good“;break;case‘c’:cout<<“pass”;case‘d’:cout<<“warn”;}return0;}答案:errorgood9、写出以下程序的运行结果()。#include<iostream>usingnamespacestd;intmain(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec=c+1;cout<<c<<endl;return0;}答案:210、对于整型变量x,下述if语句与赋值语句“x=x%2==0?1:0;”不等价的是()。答案:if(x%2)x=1;elsex=0;

第4章——循环结构:周而复始,求同存异第四章单元测试1、下面关于break语句的描述中,不正确的是().答案:一个break语句就可以跳出多重循环2、以下语句不正确的是()。答案:for()也表示无限循环3、有如下程序:#include<iostream>usingnamespacestd;intmain(){inti,f,f1=0,f2=1;for(i=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout<<f<<endl;return0;}运行时的输出结果是()答案:54、有如下程序段:inti=5;while(inti=0){cout<<‘‘;i–;}运行时输出”“的个数是()。答案:05、执行完以下语句inti=0;doi++;while(i*i<10);时,do后面的循环体语句i++被执行的次数为()答案:46、有如下循环语句:for(inti=50;i>20;i-=2)cout<<i<<‘,’;运行时循环体的执行次数是()答案:157、有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<‘‘;}执行这个程序段输出字符的个数是()答案:48、有如下程序:#include<iostream>usingnamespacestd;intmain(){intsum;for(inti=0;i<6;i+=3){sum=i;for(intj=i;j<6;j++)sum+=j;}cout<<sum<<end1;return0;}运行时的输出结果是()。答案:159、下面程序的运行结果是()。#include<iostream>usingnamespacestd;voidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<<a<<endl;}答案:410、有如下程序段:for(inti=1;i<=50;i++){if(i%3!=0)continue;elseif(i%5!=0)continue;cout<<i<<“,”;}执行这个程序段的输出是()答案:15,30,45,

第四章循环结构第四章单元测试1、若有整型变量x的当前值是3,则执行下列语句的结果是。do{cout<<(x-=2);}while(!(-x));答案:12、在while(!a)中,其中!a与表达式等价。答案:a==03、下面程序段执行结果是()。inty=9;for(;y>0;y–)if(y%3==0)cout<<–y<<’\t’;答案:8524、C++语言的跳转语句中,对于break和continue说法正确的是()。答案:continue语句只应用于循环体中。5、设有程序段intx=10;while(x=0)x=x-1;则下面描述中正确的()。答案:循环体语句一次也不执行。6、写出下列代码运行后的结果()。inti,j;for(i=-3;i<=1;i++){j=i;while(j<0){if(j==-1)break;j++;}}cout<<i<<‘\t'<<j<<endl;答案:217、执行下述程序段后,a,b的值分别是。inta,b;for(b=1,a=1;b<=50;b++){if(a>=10)break;if(a%2==1){a+=5;continue;}a-=3;}答案:10和68、执行下面的语句序列,输出字符“$”和“”的个数分别是()。intk=0;do{k+=5;cout<<‘$’;}while(k<19);while(k–>0)cout<<‘‘;答案:4和209、有如下程序段,其执行结果是()。intx=3;do{x-=2;cout<<x;}while(!(–x));答案:1-210、有如下程序段,执行这个程序段输出字符的个数是()。inti=1;while(1){i++;if(i==10)break;if(i%3==0)cout<<““;}答案:3

第5章——数组:实现算法的利器第五章单元测试1、要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是()答案:intx[]={0};2、在C++语言中,二维数组元素在内存中的存放顺序是()。答案:按行优先存放3、在下述对C++语言字符数组的描述中,有错误的是()。答案:可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值。4、以下数组的初始化,正确的是()。答案:inta[]={1,2,3,4,5};5、下面关于数组的描述错误的是()。答案:数组元素的个数在定义时可以缺省。6、下面程序的运行结果是()。charc[5]={‘a’,’b’,’‘,’c’,‘‘};cout<<c;答案:以上都不是7、有如下程序段:charc[20]=”examination”;c[4]=0;cout<<c<<endl;执行这个程序段的输出是()。答案:exam8、以下程序运行后的输出结果是()。intmain(){chara[]=”abbcabbcabbc”;inti=0,j=0,k=0;while(a[i]){if(a[i]==’a’)j++;if(a[i]==’b’)k++;i++;}cout<<j<<”“<<k<<endl;return0;}答案:369、已知:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是().for(i=0;i<3;i++)cout<<x[i][2-i]<<”“;答案:35710、下面程序的运行结果是().#include<iostream>#include<cstring>usingnamespacestd;intmain(){chars1[10]=”abc”;chars2[20]=”inter”;intk=0,j=0;while(s2[k])k++;while(s1[j])s2[k–]=s1[j++];cout<<s2<<endl;return0;}答案:intcba第五章数组与指针第五章单元测试1、以下数组定义正确的是()答案:inti=5,a[‘5’–‘0’];2、有如下程序段inti=0,j=1;int&r=i;//①r=j;//②intp=&i;//③p=&r;//④其中会产生编译错误的语句是()。答案:④3、若有语句“intp=&k;”,与这个语句等效的语句序列是()答案:intp;p=&k;4、下列语句中错误的是()答案:charstr[5]=”point”;5、已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()。答案:cout<<arr<<endl;6、设有“chars1=”ABCDE”,S2=”ABCDE”,*S3=S1;”,下列表达式中值不等于true的是()答案:&s1==&s27、执行下列语句后,屏幕的输出结果是().#include<iostream>usingnamespacestd;intmain(){inta=5;intpa=&a;int&b=a;b++;cout<<(pa)++<<endl;return0;}答案:68、若有以下定义和语句,且0<i<10,则对数组元素地址的正确表示是().inta[]={1,2,3,4,5,6,7,8,9,0},p,i;p=a;答案:&p[i]9、#include<iostream>usingnamespacestd;intmain(){charp=0;p=’a’;cout<<“Thevalueatp:”<<p;return0;}编译运行程序将出现的情况是()。答案:运行时出错10、以下不能对二维数组正确初始化的是()答案:int a[2][3]={{1,2},{3,4},{5,6}};  

第6章——指针:所向披靡的“金箍棒”魂第6章单元测试1、下面程序的运行结果是().#include<iostream>usingnamespacestd;intmain(){floata=1,b=2,c;floatp1=&a,p2;p2=&b;c=*p1+p2;cout<<p1<<”;}答案:12、设有定义一维数组如下:inta[5],*p=a;,则下列描述中错误的是().答案:表达式a=a+1是合法的3、已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()答案:cout<<arr<<endl;4、下列语句中,正确的是()。答案:charmyString=”Hello-World!”;5、已知:intm=10;在下列语句中错误的是()答案:int*p=newint[m]={0};6、下面程序的运行结果是().#include<iostream>usingnamespacestd;voidmain(void){inta[5]={10,20,30,40,50};intp=&a[0];p++;cout<<++p<<endl;}答案:217、下列程序的输出结果是#include<iostream>usingnamespacestd;intmain(){chara[]=“Hello,World”;charptr=a;while(ptr){if(ptr>=‘a’&&ptr<=‘z’)cout<<char(ptr+‘A’-‘a’);elsecout<<ptr;ptr++;}return0;}答案:HELLO,WORLD8、已知有数组定义 char a[3][4]; 下列表达式中错误的是()。 答案:a[2]=”WIN” ;9、下列程序运行时的输出结果是()。#include<iostream>usingnamespacestd;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;}cout<<s2;return0;}答案:6410、下面程序的运行结果是().#include<iostream>usingnamespacestd;intmain(){intaa[3][3]={{1},{2},{3}},i,p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=p+1;else++p;cout<<*p<<”“;}cout<<endl;return0;}答案:12

第6章——指针:所向披靡的“金箍棒”魂第六章练一练经典提高题1、阅读程序,回答问题:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(p)[4];//该语句是定义一个数组指针,指向含4个元素的一维数组。p=a;cout<<p<<endl;p++;cout<<*p<<endl;return0;}请问这两个输出的地址差是多少字节?答案:162、阅读程序,回答下面问题:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};intp[3];//定义一个指针数组,表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]p=a;cout<<p<<endl;p++;cout<<*p<<endl;return0;}请问这两个输出的数据相差多少?答案:编译错误3、若定义chars[2][3]={“ab”,“cd”},p=(char)s;//字符型指针p存放的是字符串s的首地址,而字符串s表示的是这样一个字符串:那么下列表达式语法正确,并且其值与s[1][1]相等的表达式(并非一定与其等价)是()//根据字符串的表示,s[1][1]是字符‘d’答案:char(++p+2)4、#include<iostream>usingnamespacestd;intmain(){inta[5]={1,2,3,4,5};intptr=(int)(&a+1);cout<<(a+1)<<”“<<(ptr–1)<<endl;return0;}程序运行结果是什么?答案:255、阅读程序,输出结果。#include<iostream>usingnamespacestd;intmain(){inta[3][2]={1,2,4,5};int*p;p=a[0];cout<<p[0]<<”“<<p[1]<<”“<<p[2]<<”“<<p[3]<<endl;p=a[1];cout<<p[0]<<”“<<p[1]<<”“<<p[2]<<”“<<p[3]<<endl;p=a[2];cout<<p[0]<<”“<<p[1]<<”“<<p[2]<<”“<<p[3]<<endl;return0;}答案:1245450000不确定不确定6、阅读程序,输出结果。#include<iostream>usingnamespacestd;intmain(){intaa[2][5]={1,2,3,4,5,6,7,8,9,10};intptr1=(int)(&aa+1);intptr2=(int)((aa+1));cout<<(ptr1–1)<<”“<<*(ptr2–1);return0;}答案:1057、阅读程序,输出结果#include<iostream>usingnamespacestd;intmain(){chara[]={“work”,“at”,“alibaba”};charpa=a;pa++;cout<<pa<<endl;return0;}答案:at8、有定义语句:chars[3][10],(k)[3],p;则对于下列赋值语句,哪个是正确的?答案:p=s[0];9、如定义inta[3][4];下面哪个不能表示a[1][1]?答案:(&a[1]+1)10、阅读程序,输出结果#include<iostream>usingnamespacestd;intmain(){inta[3][4]={{0,1,2,10},{3,4,5,11},{6,7,8,12}};cout<<(&a[0][0])<<endl;cout<<a<<endl;cout<<(&a[1][0])<<endl;cout<<(a[0]+1)<<endl;cout<<(a+1)<<endl;return0;}答案:0031第一行的首地址第6章——指针:所向披靡的“金箍棒”魂第六章练一练经典基础题1、阅读程序,请输出程序的结果。#include<iostream>usingnamespacestd;intmain(){inta[]={11,16,13,14,15};intptr=a;cout<<ptr<<endl;cout<<*(++ptr)<<endl;return0;}答案:11162、阅读程序,请输出程序的结果。#include<iostream>usingnamespacestd;intmain(){inta[]={11,16,13,14,15};intptr=a;cout<<ptr<<endl;cout<<*(ptr++)<<endl;return0;}答案:11113、阅读程序,输出结果。#include<iostream>usingnamespacestd;intmain(){inta[]={11,16,13,14,15};intptr=a;cout<<ptr<<endl;cout<<ptr++<<endl;cout<<a[0]<<endl;cout<<ptr<<endl;return0;}答案:111111164、#include<iostre

温馨提示

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

评论

0/150

提交评论