中国大学mooc《C++程序设计(面向对象进阶)(北京邮电大学) 》章节测试答案_第1页
中国大学mooc《C++程序设计(面向对象进阶)(北京邮电大学) 》章节测试答案_第2页
中国大学mooc《C++程序设计(面向对象进阶)(北京邮电大学) 》章节测试答案_第3页
中国大学mooc《C++程序设计(面向对象进阶)(北京邮电大学) 》章节测试答案_第4页
中国大学mooc《C++程序设计(面向对象进阶)(北京邮电大学) 》章节测试答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

titleC++程序设计(面向对象进阶)(北京邮电大学)中国大学mooc答案100分最新版content第1单元:C++概览第1单元测验1、第一个被称为“ModernC++”的标准是?答案:C++112、集成开发环境中不一定包括答案:图形界面设计工具3、集成开发环境的英文缩写是答案:IDE4、C++11支持的编程范式包括答案:结构化编程范式;

函数式编程范式;

OO编程范式;

泛型编程范式5、如何学好C++?答案:多编程;

多调试解决程序BUG6、C++集成开发环境包括下面所列的哪些部分?答案:编辑器;

编译器;

链接器7、集成开发环境中一般包含答案:编辑器;

编译器;

链接器;

调试器8、本课程讨论区不建议问下列哪些问题?答案:cout.flush()函数的参数是什么?;

如何安装VisualStudio2019?;

谁能帮我编一段排序算法的代码?9、我们在C++学习过程中,选择开发工具应尽量选择简单的、问世时间比较久的工具。因为这样的工具易用且稳定。答案:错误10、C语言支持面向对象编程范式答案:错误11、编译器的英文是____

答案:compiler第1单元:C++概览第1单元课前测试:C语言水平评估(英文题目;选做)1、Thekeyword“unsigned”canmodifythekeyword[

]答案:long2、Inthefollowingstrings,thecorrectCidentifieris[

]答案:_2563、Thestring“r\tu\r\”Okay?\””

willoccupy[

]bytesmemory.答案:134、Afterexecutingthefollowingstatements:inti=0;for(;++i<=4;){};

thevalueofvariable

i

is[

]答案:55、Theoutputofthestatements:inta=3,b=4;

printf(“%d”,(a>=b?a:a<b?b:a));is[

]答案:46、Theoutputofthefollowingstatementsis[

](ASCIIcodeof‘a’is97)inta=98;charb=‘a’;printf(“%c%d”,(char)a,(int)b);答案:b97

7、

InCprogramminglanguage,theresultofstatement5^4

is[

]答案:18、

“xisdivisibleby3butcan’tbedivisibleby5”canbe

writtenas

[

]答案:!(x%3)&&!(x%5==0)9、

Forthestatement:int

a[10],b;thecorrectdescriptionis[

]答案:acanonlybervalue,butbcanbelvalue10、

Thecorrectdescriptionaboutthefollowingprogramis[

]#include

<stdio.h>

int

pPointer;

int

nNumber;

void

f()

{

nNumber

=

25;

pPointer

=

&nNumber;

}

int

main()

{

f();

printf(“Value

of

pPointer:

%d”,

*pPointer);

return

0;

}答案:noproblem11、IfcompiledwithaSTANDARDCCOMPILER(e.g.gcc),whichiscorrectaboutthefollowingfunction“add”?[

]double

add(int

,

int

,

int

k)

{

return

(double)

(8+k);

}

int

main()

{

int

x=1,

y=2,z=3;

add(&x,

&y,

z);

return

0;

}答案:Compileerror.Afterfillinginthenameoftheformalparameters,theprogramcanbecompiledwithouterrors;12、

Thefollowingprogramsinitializeanarray.Thecorrectoneis:[

]答案:inta3[4]={3,2,1};13、Thecorrectoneaboutpointersis:[

]Weassumethatallcodesarecompiledon32-bitplatform答案:structT{doubled;}*p;

wherepoccupies4bytesmemory;14、Thefollowingprogramcomputesthesummaryoftheintegersthatarelessthann.Thestatementsintheblankshouldbe[

]int

sum(unsigned

int

n)

{

if

(__)

{

return

1;

}

else

{

return

n+sum(n-1);

}

}答案:1==n15、TherelationshipbetweenchararrayandC-stylestringis[

]答案:Ifastringisstoredinachararray,thesizeofthechararraymustbegreaterthanthelengthoftheC-stylestring.16、Giventhefollowingprogram,whendo-whileloopfinishes,thevalueofxis[

]enum

{

APPLE,

LEMON=6,

ORANGE,

BANANA=2,

GRAPE};

void

f

(

)

{

int

x=GRAPE;

do

{

x++;

}

while

((x-APPLE)<=ORANGE);

}答案:817、Whichofthefollowingstatementsarecompletelycorrect?[

]答案:intk,

p=&k;

scanf(“%d”,p);18、Theoutputofthefollowingprogramis[

]int

a=0,

b=3;

printf(“%d

%d”,

(a<<1),

(b<<2));答案:0

1219、Whichstatementsatisfiesthecondition:Ifstrings1equalstostringss2,thenexecuteST.

[

]答案:if(strcmp(s2,s1)==0)ST;20、

Giventhefollowingprogram#include

<stdio.h>

int

fun(

){

static

int

x=1;

x+=1;

return

x;

}

int

main(

){

int

i,

s=1;

for(i=1;

i<=5;i++)

s+=fun(

);

printf(“%d”,

s);

return

0

}答案:2121、

Clanguageisastructuredprogramminglanguage.(

)答案:正确22、

InstandardC,intvariablecanbeusedascharvariable,andviceversa.(

)答案:错误23、InstandardC,”=”isajudgmentofwhethertwonumbersareequal.(

)答案:错误24、

Inifstatement,thestatementbeforeelsemayomit“;”.(

)答案:错误25、

InClanguage,thereare3basicfileaccessmodes:read,writeandappend.(

)答案:正确26、InClanguage,whendeclaringastructtype,youmustnotomitthekeyword“struct”.(

)答案:正确27、Thememoryaddressandthecontentsinthememoryareidentical.(

)答案:错误28、InstandardC,localvariablesmustbedefinedbeforeanyotherstatementsinthefunctionbody.(

)答案:正确29、InstandardC,allthefunctionsexceptmain()shouldbedeclaredbeforebeingcalled.(

)答案:正确30、InstandardC,theindexofanarraymustbeaconstant,notanexpression(

)答案:错误第2单元:C++程序基础第2单元测验1、关于C++的main()函数说法不正确的是答案:必须得显式地写return语句返回一个整型值2、关于名字空间,说法正确的是答案:程序员可以定义自己的名字空间3、关于编译预处理,说法正确的是答案:#define

HELLO是定义了一个宏,名字叫HELLO4、inti=1;cout<<i<<i++;上面的代码的输出是答案:第二行代码是一句病式。最终结果依赖于两个i的取值次序。这是C++标准中未定义的行为。不同编译器会输出不同的结果。5、chara,b;cin>>a;b=cin.get();从键盘上输入

字符x然后回车,那么b中存放的是答案:换行符6、cin对象中,以下说法错误的是答案:也支持<<操作7、c++程序中的源文件扩展名包括以下:答案:cpp;

cxx8、遵守编码规范有助于答案:提升代码的可阅读性和可维护性;

提升程序开发小组协作的效率9、运算符>>原本的含义是左移运算符答案:错误

分析:是右移运算符,没看到尖向右吗?10、inta,b;cin>>a>>b;输入1

2则a的值是2,b的值是1答案:错误11、编译器能帮我们检查代码的逻辑错误答案:错误

分析:编译器只能检查语法错误。12、C++程序的入口点是哪个函数?

答案:main

分析:和C语言一样,也是main()函数13、用于输出语句中,代表标准输出的对象是

答案:cout

分析:是cout或者std::cout作业第1单元:C++概览作业1:测试你的C++编译器支持的标准小提示:本节包含奇怪的同名章节内容1、在C++开发环境中创建新的项目,然后创建一个main.cpp文件,将下面的代码粘贴到该源文件中;不要改动你的C++开发环境中的默认设置。编译并且运行;截屏展示程序的输出结果。作业提交:用文字说明你所用C++开发环境的名称、版本号、操作系统及版本号(共6分);输出结果的截屏图片(4分)。代码如下://

注意:由于中M系统有bug,正常录入的C++代码会出现HTML控制符。

//

如果出现该问题,请参考上面图片中的代码。

//

也可以下载附件“CompilerVersion.cpp.txt”,将文件名中的“.txt”去掉include

<iostream>

int

main()

{

//

注意:__cplusplus

开头是连续两个下划线

if

(__cplusplus

>

201703L)

std::cout

<<

“C++2a”;

else

if

(__cplusplus

==

201703L)

std::cout

<<

“C++17”;

else

if

(__cplusplus

==

201402L)

std::cout

<<

“C++14”;

else

if

(__cplusplus

==

201103L)

std::cout

<<

“C++11”;

else

if

(__cplusplus

==

199711L)

std::cout

<<

“C++98”;

else

std::cout

<<

“pre-standard

C++”;

std::cout

<<

“Press

ANY

key

to

exit.”;

std::cin.get();

return

(0);

}

//

如果上面的代码无法拷贝,也可以下载附件,将扩展名改为

.cpp

评分规则:

C++开发环境的名称、版本号其中开发环境名称2分,版本号2分,操作系统名称版本号2分

截图(2分)展示运行程序的输出结果(2分)。2、修改你的C++开发环境的配置,使它支持C++17标准、C++2a(C++20发布之前的实验性标准)或者C++20标准。注意:要完成本作业,你能够使用的集成开发环境中所配置的编译器有1.VisualStudio2017/2019或者更新的版本绝对不要使用VS2017之前的版本!!!2.Gcc7.0或者更新版本3.Clang4.0或者更新版本各种编译器对于C++新标准的支持程度可以参考/w/cpp/compiler_support编译并运行作业1中的代码,使得程序输出C++17或者C++2a。截屏展示程序输出结果。作业需要提交:文字说明你修改C++开发环境的步骤(2分)上传截屏图片(3分)

评分规则:

文字说明修改C++开发环境的步骤。步骤完整得2分,不完整得1分,无说明得0分

有截屏1分,输出结果为C++17或者C++2a或者C++20得2分3、在C++开发环境中创建新的项目,然后创建一个main.cpp文件,将下面的代码粘贴到该源文件中;修改你的C++开发环境的配置,使它支持C++17标准、C++2a(C++20发布之前的实验性标准)、C++20或者C++23标准。编译并运行,使得程序输出C++17、C++20或者C++23。截屏展示程序的输出结果。作业提交:用文字说明你所用C++开发环境的名称、版本号、操作系统及版本号(共6分);输出结果的截屏图片(4分)。代码如下://

注意:由于中M系统有bug,正常录入的C++代码会出现HTML控制符。

//

如果出现该问题,请参考上面图片中的代码。

//

也可以下载附件“CompilerVersion.cpp.txt”,将文件名中的“.txt”去掉include

<iostream>

int

main()

{

//

注意:__cplusplus

开头是连续两个下划线

if

(__cplusplus

>

202002L)

std::cout

<<

“C++23”;

else

if

(__cplusplus

==

202002L)

std::cout

<<

“C++20”;

else

if

(__cplusplus

==

201703L)

std::cout

<<

“C++17”;

else

if

(__cplusplus

==

201402L)

std::cout

<<

“C++14”;

else

if

(__cplusplus

==

201103L)

std::cout

<<

“C++11”;

else

if

(__cplusplus

==

199711L)

std::cout

<<

“C++98”;

else

std::cout

<<

“pre-standard

C++”;

std::cout

<<

“Press

ANY

key

to

exit.”;

std::cin.get();

return

(0);

}

//

如果上面的代码无法拷贝,也可以下载附件,将扩展名改为

.cpp注意:要完成本作业,你能够使用的集成开发环境中所配置的编译器有1.VisualStudio2019/2022或者更新的版本绝对不要使用VS2017之前的版本!!!2.Gcc9.0或者更新版本3.Clang11.0或者更新版本各种编译器对于C++新标准的支持程度可以参考/w/cpp/compiler_support

评分规则:

C++开发环境的名称、版本号其中开发环境名称2分,版本号2分,操作系统名称版本号2分

截图(2分)展示运行程序的输出结果(2分)。作业第2单元:C++程序基础第2单元作业2:在线编程-名字空间1、创建两个名字空间NS1和NS2;

在NS1中定义一个常量x,赋值为1;

在NS2中定义一个常量x,赋值为2;

在main()中输出这两个常量。

建议:本题是主观题,暂无解析作业第2单元:C++程序基础第2单元作业1:在线编程-输入与输出1、输入一个[1-9]之间的整数(假定该整数为n),输出1-n之间的整数。

建议:本题是主观题,暂无解析作业第1单元:C++概览作业2:选做安装EclipseForC-C++或者EclipseCDT版本1、1.安装JDK8或JDK11(不建议安装JDK10或JDK12等偶数版本,因为自JDK9之后,只有奇数版JDK才是长期支持版)2.安装EclipseforC/C++或者EclipseCDT3.安装MinGW-W64或者MSys2,能够使用Gcc编译器4.编译作业1中提供的代码。5.截屏。屏幕中包括Eclipse以及程序运行结果作业提交:截屏图片

评分规则:

截屏图片。表明Eclipse安装成功,所需编译的程序运行成功第3单元:C语法的增强及对应的C++11特性第3单元测验1、bool

x,

y;

//

……

此处代码对x和y进行初始化则表达式!(x&&!y)与下面哪个表达式等价?答案:!x

||

y2、给定函数1void

f(int

a,

int

b

=

1,

int

c

=

2)

{}和函数2void

f(int

x,

int

y

=

3)

{}对于下面语句f(3,

,

1);来说,表述正确的是:答案:编译器会对函数调用语句报错3、char

a

=

new

char[32];对应的释放内存的语句,哪种写法最好?答案:delete

[]

a;

a

=

nullptr;4、下列代码正确的是答案:auto

a

{10};

decltype(a)

y;5、对于语句int&

x

=

y,

y{0};说法正确的是答案:有语法错误;

正确定义方法应该是inty{0},&x{y};6、char*p=newchar(32);释放内存的语句是:答案:delete[]p;;

deletep;7、下列代码能累加数组元素的有答案:int

x[]

{3,

5,

7};

auto

sum{0};

for(

auto

i

:

x

)

sum+=i;;

int

x[]

{3,

5,

7};

auto

sum{0};

for(

int

i

=

0;

i<

3;

i++

)

sum+=(x+i);8、对于已有代码char

a[3]

{‘\0’},

b[3]

{‘a’};

char

const

p

=

a;合法的后续语句是:答案:p[0]=‘a’;;

b[0]=(p)++;9、表达式:static_cast<double>(3)/2与表达式:static_cast<double>(3/2)是等价的。答案:错误10、引用在定义的时候就必须被初始化答案:正确11、autox[]{1,2,3};编译后,x的类型是int[]答案:错误12、int

p;

p

=

NULL;在C++11中,这种代码写法是一种好的编程规范答案:错误13、bool

x

=

1

&

2;则x的值为

答案:false14、bool

x

=

1

&&

2;则x的值为

答案:true15、代码#include

<iostream>

int

i

=

1;

int

main()

{

温馨提示

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

评论

0/150

提交评论