快乐学习 一个网站喵查铺子(catpuzi.com)全搞定~

中国大学MOOC 面向对象程序设计(C++)-河南农业大学 测验与作业答案

中国大学MOOC答案 数据帝 2024-03-03 扫描二维码
文章目录[隐藏]

第一部分 面向对象方法与C++概述

1 在下面的一维数组定义中,(  )语句有语法错误
喵查答案:正确
int a[ ]={1,2,3};
错误
int a[10]={0};
喵查答案:int a[ ];
int a[5];

2 由C++源程序文件编译而成的目标文件的缺省扩展名为(    )
正确
.obj
喵查答案:错误
.lik
.exe
喵查答案:.cpp

3 下列哪个是 C++语言中有效标识符(    )
庄园
12345
柱廊园
No.1
喵查答案:文人园
喵查答案: _No1
公共园林
 int

4 关于C++语言和C语言的关系的下列描述中,错误的是(    )
C语言是C++语言的一个子集
喵查答案:正确
喵查答案:C语言和C++语言都是面向对象的语言
错误
C++语言与C语言兼容
C++语言对C语言做了些改进

5 在C++中,数据封装要解决的问题是(    )
数据的规范化
便于数据转换
避免数据丢失
喵查答案:防止不同模块之间数据的非法访问 

6 返回类型就是函数返回结果值的数据类型。返回类型可以是(    )
除数组和类以外的任意数据类型

除数组和结构类型以外的任意数据类型

喵查答案:

 除数组类型以外的任意数据类型


除指针和引用类型以外的任意数据类型

第二部分 过程化编程技术-函数应用

1 关于内联函数的说法不正确的是____
在说明类的同时定义成员函数,则函数隐含为内联函数
也可在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数
当内联函数被调用时,内联函数的代码在调用处被打开
喵查答案:当内联函数被调用时,内联函数将返回结果

2 以下说法中正确的是____
C++语言程序总从第一个的函数开始执行
C++语言程序中,要调用的函数必须在main( )函数中定义
喵查答案:C++语言程序总是从main( )函数开始执行
C++语言程序中的main( )函数必须放在程序的开始部分

3 决定C++语言中函数的返回值类型的是____
return语句中的表达式类型
调用该函数时系统随机产生的类型
调用该函数时的主调用函数类型
喵查答案:在定义该函数时所指定的数据类型

4 C++中,函数原型不能标识____
函数的返回类型
函数参数的个数
函数参数类型
喵查答案:函数的功能

5 下列函数的声明正确的是____
float sum(float x,y)        {…….}
喵查答案:flaot sum(float,float );
float sum(x,y)
float sum(floatx,floaty)         {…….}

6 关于函数的调用下面不正确的是____
一个函数可以自己调用自己
函数的调用可以在任意函数之间进行,只要有需要
喵查答案:由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行
函数返回时可以不必带返回值,这时函数在定义时其类型应用void标示

7 下面关于C++语言说法不正确的是____
喵查答案:具有函数式的程序结构,其程序至少由一个函数构成,不论是主函数,还是其他函数
变量的数据类型丰富,而且使用不同的存储类别,以控制函数内外信息的交换
具有编译预处理的功能,为程序的设计与修改、调试、移植带来方便
既是面向结构的程序设计语言,又是面向对象的程序设计语言,使用起来很方便

8

以下函数值的类型是____。fun(float x){ float  y;  y=3*x-4;  return(y);}
喵查答案:int
char
void
float

9 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是____
地址传递
喵查答案:单向值传递
由实参传给形参,再由形参传回实参
传递方式由用户指定

10 关于函数的返回不正确的是____
使程序的执行重新返回到主函数,使程序继续往下执行
释放调用函数时临时分配的存储单元
喵查答案:返回一个值给主调函数
其返回值可为数值、地址,也可没有任何返回值

11 下列关于C++函数的描述中正确的是____。
主函数是程序的入口,它由用户定义的函数调用
喵查答案:函数在调用之前必须先被声明
每个用户定义函数只能被其他函数调用一次
函数是C++中面向对象程序设计框架的基本组成单元

12 下列函数原型声明中错误的是____。
void Fun(int x=0,int y=0);
void Fun(int x,int y);
void Fun(int x,int y=0);
喵查答案:void Fun(int x=0,int y);

1 在编译指令中,宏定义使用哪个指令(     )。
#include
喵查答案:#define
#if
#else

2 在C++中使用流进行输入输出,其中用于屏幕输出的对象是(    )。
cerr
cin
cfile
喵查答案:cout 

3 设存在函数int max(int,int)返回两参数中较大值,若求22,59,70中最大值,下列表达式不正确的是(     )。

int m = max(22,max(59,70))

int m = max(max(22,59),70)
喵查答案:int m = max(22,59,70)
int m = max(59,max(22,70))

4 在函数调用时,如某一默认参数要指明一个特定值,则有(     )。
喵查答案:

其之前所有参数都必须赋值

其之后所有参数都必须赋值
其前、后所有参数都必须赋值 
其前、后所有参数都不必赋值

5 在一个被调用函数中,关于return语句使用的描述,(   )是错误的。

被调用函数中可以不用return语句

被调用函数中可以使用多个return语句

被调用函数中,如果有返回值,就一定要有return语句
喵查答案:被调用函数中,一个return语句可以返回多个值给调用函数

6 对于C/C++语言的函数,下列叙述中正确的是(    )。

函数的定义可以嵌套,但函数调用不能嵌套
喵查答案:函数的定义不能嵌套,但函数调用可以嵌套

函数的定义和调用都不能嵌套
函数的定义和调用都可以嵌套

7 当一个函数无返回值时,定义它的函数的类型是(    )。
int 
无 
喵查答案:void
long

8 在函数原型说明中,                                不是必要的。
喵查答案:函数参数名

9  面向对象的程序设计有四大特征,它们是抽象、                  、 继承 、 多态 。
喵查答案:封装

10 下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。#include using namespace std; const double pi=3.14159;  void main( )  {  double r;  cout<<″r=″;                                  ;  double l=2.0*pi*r;  double s=pi*r*r;  cout<<″\n The long is:″<<l<<endl;  cout<<″The area is:″<<s<<endl;   }
喵查答案:cin>>r

11 C++语言中可以实现输出一个换行符并刷新流功能的操控符是                            
喵查答案:endl

12 要把一个文件输出流对象myFile与文件“f:\myText.txt相关联,所用的C++语句是                                              。
喵查答案:myFile.open(“f:\\myText.txt”)

1 下列说法正确的是(            )
喵查答案:若“a=5.4,b=4”则执行“(int )(a/b,a++)”后a的值为6
运算符*的优先级要低于sizeof的优先级
已知“a=4,b=5,max=(++a<b++)?a++:++b”则max的值为5
 “a=1;b=5;–a&&b++;”执行后b的值为5

2 下列字符常量的写法中,错误的是(           )
喵查答案:

’\4f’

’\105′

’*’

’\a’

3 对象的封装就是(          )
喵查答案:可进可出,但是外界不能干涉内部的处理过程
与世隔绝
只进不出
封装只是抽象的封装,外界可以直接干预

4 对于函数 put() 的说法不正确的是(           )
喵查答案:它的功能是输出字符串并换行
其参数可以是字符常量
其参数可以是字符变量
将字符送入输出流

5 关于getline函数的说法不正确的是(            )
喵查答案:该函数是接收字符串的函数
该函数接收的字符串长度是受限的,可以人为设置所接收字符串的长度,它所接收的字符串长度是这一长度值减1
该函数遇到换行符或其他终止符后结束操作
该函数接收从键盘输入的字符串

6 下面程序的输出结果是(           )#includeusing std::cout; using std::endl;templatet max (t a,t b){return (a>=b)?a:b;}int main( ){ cout<<max(5,8)<<endl;  cout<<max("zhangsan","lisi");}   
喵查答案:

8

lisi

8

zhangsan

5

zhangsan

5

lisi

7 关于静态数据成员的说法正确的是(           )
喵查答案:静态数据成员是所有同类的对象共享数据,它不能具体地属于哪一个对象
静态数据成员虽然能实现同类的对象共享数据,但破坏了类的封装性
静态数据成员只在类中声明一次即可
若C为一个类,a为它的一个对象,s为类中的一个静态数据成员,则static int a.s 可以说明s为一个静态数据成员

8 关于内联函数的说法不正确的是(           )
喵查答案:当内联函数被调用时,内联函数将返回结果
在说明类的同时定义成员函数,则函数隐含为内联函数
也可在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数
当内联函数被调用时,内联函数的代码在调用处被打开

9 下列说法正确的是(           )
喵查答案:当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符‘\0’
字符型数组与整型数组可通用
字符型数组与字符串其实没有什么区别
字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别

10 下列一维数组定义正确的是(           )
喵查答案:const int x=5;float num[x];
x=5;int num[x];
const float x=5;int num[x];
const int x;x=5;int num[x];

11 下面程序的输出结果是(          )#includeusing namespace std;int main( ){  int I,j,m=0,n=0;   for(I=0;I<2;I++)      for(j=0;j=I) m=1;n++;         cout<<m<<endl;         cout<<n;}
喵查答案:11
15
16
02

12 下面程序的输出结果是(          )#includeusing namespace std;int main(){   int s;   for(int k=2;k<6;k+=2){   s=1;   for(int j=k;j<6;j++)s+=j; }cout<<s<<endl;}
喵查答案:10
9
1
11

13 下面说法不正确的是(           )
喵查答案:数组名作形参时,形参改变不会影响实参值
数组元素作为函数参数属于值传递
数组名作为函数参数属于地址传递,形参、实参共用同一内存空间
数组元素作形参时,形参改变不会影响实参值

14 有定义“int a[2][5];”若a[0][1]的地址为x,则a[0][0]、a[1][3]地址分别为(假设一个整型数据占用两个字节的内存空间)(           )
喵查答案:

x-2, x+14

x-1, x+7

x+1, x+7

x-1, x+14

15 下面程序的输出结果是(             )#includeusing namespace std;int main( ){ int a,b; for(a=1,b=1;a=10)  break;   if(b%3==1) {b+=3;continue;} }cout<<a;}
喵查答案:4
5
6
11

16 下列语句段将输出字符’*’的个数为(             )int i=100;while(1){         i–;         if(i==0)break;         cout<<'*'; }
喵查答案:99个
98个
101个
100个

17 下列运算结果正确的是(            )
喵查答案:“y=x++;”可以写成“y=x;x=x+1;”,“y=++x;”可以写成“x=x+1;y=x;
“const y;int x=2;y=x++;”执行后值为3
“const y=2;int x=3;x++=y;”执行后,i的值为2
“int x,y;y=(x=5,x++,x+2);”执行后x值为8

18 已知枚举类型定义语句为:enum Token { NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列说法中错误的是(              )
喵查答案:

枚举常量NAME的值为1

枚举常量NUMBER的值为1

枚举常量MINUS的值为6

枚举常量PRINT的值为10

19 C++是(            )
喵查答案:

既是面向对象的程序设计语言又是结构化程序设计语言

面向对象的程序设计语言

结构化程序设计语言

非结构化程序设计语言

20

下列C++标点符号中表示一条预处理命令开始的是(    )

喵查答案:

#

;

//

}

21 下列说法正确的是(            )
喵查答案:若“a=5.4,b=4”则执行“(int )(a/b,a++)”后a的值为6
运算符*的优先级要低于sizeof的优先级
已知“a=4,b=5,max=(++a<b++)?a++:++b”则max的值为5
 “a=1;b=5;–a&&b++;”执行后b的值为5

22 下列字符常量的写法中,错误的是(           )
喵查答案:

’\4f’

’\105′

’*’

’\a’

23 对象的封装就是(          )
喵查答案:可进可出,但是外界不能干涉内部的处理过程
与世隔绝
只进不出
封装只是抽象的封装,外界可以直接干预

24 对于函数 put() 的说法不正确的是(           )
喵查答案:它的功能是输出字符串并换行
其参数可以是字符常量
其参数可以是字符变量
将字符送入输出流

25 关于getline函数的说法不正确的是(            )
喵查答案:该函数是接收字符串的函数
该函数接收的字符串长度是受限的,可以人为设置所接收字符串的长度,它所接收的字符串长度是这一长度值减1
该函数遇到换行符或其他终止符后结束操作
该函数接收从键盘输入的字符串

26 下面程序的输出结果是(           )#includeusing std::cout; using std::endl;templatet max (t a,t b){return (a>=b)?a:b;}int main( ){ cout<<max(5,8)<<endl;  cout<<max("zhangsan","lisi");}   
喵查答案:

8

lisi

8

zhangsan

5

zhangsan

5

lisi

27 关于静态数据成员的说法正确的是(           )
喵查答案:静态数据成员是所有同类的对象共享数据,它不能具体地属于哪一个对象
静态数据成员虽然能实现同类的对象共享数据,但破坏了类的封装性
静态数据成员只在类中声明一次即可
若C为一个类,a为它的一个对象,s为类中的一个静态数据成员,则static int a.s 可以说明s为一个静态数据成员

28 关于内联函数的说法不正确的是(           )
喵查答案:当内联函数被调用时,内联函数将返回结果
在说明类的同时定义成员函数,则函数隐含为内联函数
也可在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数
当内联函数被调用时,内联函数的代码在调用处被打开

29 下列说法正确的是(           )
喵查答案:当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符‘\0’
字符型数组与整型数组可通用
字符型数组与字符串其实没有什么区别
字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别

30 下列一维数组定义正确的是(           )
喵查答案:const int x=5;float num[x];
x=5;int num[x];
const float x=5;int num[x];
const int x;x=5;int num[x];

31 下面程序的输出结果是(          )#includeusing namespace std;int main( ){  int I,j,m=0,n=0;   for(I=0;I<2;I++)      for(j=0;j=I) m=1;n++;         cout<<m<<endl;         cout<<n;}
喵查答案:11
15
16
02

32 下面程序的输出结果是(          )#includeusing namespace std;int main(){   int s;   for(int k=2;k<6;k+=2){   s=1;   for(int j=k;j<6;j++)s+=j; }cout<<s<<endl;}
喵查答案:10
9
1
11

33 下面说法不正确的是(           )
喵查答案:数组名作形参时,形参改变不会影响实参值
数组元素作为函数参数属于值传递
数组名作为函数参数属于地址传递,形参、实参共用同一内存空间
数组元素作形参时,形参改变不会影响实参值

34 有定义“int a[2][5];”若a[0][1]的地址为x,则a[0][0]、a[1][3]地址分别为(假设一个整型数据占用两个字节的内存空间)(           )
喵查答案:

x-2, x+14

x-1, x+7

x+1, x+7

x-1, x+14

35 下面程序的输出结果是(             )#includeusing namespace std;int main( ){ int a,b; for(a=1,b=1;a=10)  break;   if(b%3==1) {b+=3;continue;} }cout<<a;}
喵查答案:4
5
6
11

36 下列语句段将输出字符’*’的个数为(             )int i=100;while(1){         i–;         if(i==0)break;         cout<<'*'; }
喵查答案:99个
98个
101个
100个

37 下列运算结果正确的是(            )
喵查答案:“y=x++;”可以写成“y=x;x=x+1;”,“y=++x;”可以写成“x=x+1;y=x;
“const y;int x=2;y=x++;”执行后值为3
“const y=2;int x=3;x++=y;”执行后,i的值为2
“int x,y;y=(x=5,x++,x+2);”执行后x值为8

38 已知枚举类型定义语句为:enum Token { NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列说法中错误的是(              )
喵查答案:

枚举常量NAME的值为1

枚举常量NUMBER的值为1

枚举常量MINUS的值为6

枚举常量PRINT的值为10

39 C++是(            )
喵查答案:

既是面向对象的程序设计语言又是结构化程序设计语言

面向对象的程序设计语言

结构化程序设计语言

非结构化程序设计语言

40

下列C++标点符号中表示一条预处理命令开始的是(    )

喵查答案:

#

;

//

}

41 以下说法中正确的是(           )
喵查答案:C++语言程序总是从main( )函数开始执行
C++语言程序总从第一个的函数开始执行
在C++语言程序中,要调用的函数必须在main( )函数中定义
C++语言程序中的main( )函数必须放在程序的开始部分

42 下列关于函数的调用,不正确的是(            )
喵查答案:函数的调用可作为函数形参
如果一个问题的解决要依靠另一个问题的解决,而另一个问题的解决的方法与原问题相同,则此问题可用递归方法来解决
函数的调用可作为函数的实参
函数的调用可出现在执行语句中,也可出现在表达式中

43 形参与实参的说法正确的是(           )
喵查答案:形参与实参的个数、类型、顺序都应一一对应
形参与实参的个数可以不必相同,少一个多一个,程序一样执行
形参与实参的类型可以不同,不影响运算结果
形参与实参的类型个数相同,而顺序不同,计算机可以自动进行匹配,所以形参的顺序无所谓,只要各种形参类型的数量与实参相同即可

44 函数软件就是在程序设计中,把功能相对独立、单一的模块用一个函数实现,再由若干个函数组成完整程序的设计方法。其中的函数叫做软件函数,关于软件函数下列说法不正确的是(              )
喵查答案:用全局变量能使每个文件中各个函数保持联系,使函数之间的沟通交往十分方便,因而可以多用全局变量,以加强函数之间的联系
软件函数结构独立,功能单一,便于编写和调试、修改,在结构化程序设计中相当重要
可以并行开发,加快软件开发速度,缩短开发周期
函数的重复使用性好,提高开发效率

45 运行下列程序,输出结果是(            )#includeusing namespace std;void fun(int i);int main(){  int n=2;  fun(n);  return 0;}void fun(int i){  static int x=1;  int y=1;  if(i>0)  {    ++x;    ++y;    cout<<x<<' '<<y<<' ';    fun(i-1);   }}
喵查答案:2  2  3  2
2  2  2  2
2  2  3  3
语法错,不能输出正确结果

46 下面程序的输出结果是(            )#includeusing namespace std;int main( ){  int *p, *q,i=8,j=9;   p=&i;   q=&j;   cout<<*p;   *q=i;   cout<<*q;   q=p;   cout<<*q;   p=q;   cout<<*p;} 
喵查答案:8888
8889
8989
8899

47 关于普通变量的说法不正确的是(           )
喵查答案:语句“cin>>&a;”表示把某个数据存入变量a
普通变量的数据类型不同则所占内存的字节数量不同
普通变量在赋值函数“=”的左边、右边的含义不同,在左边表示要存储的数据的地址,在右边表示一个值
有如下定义“int a;”则&a代表变量a所代表数据在内存中的地址

48 下面说法错误的是(              )
喵查答案:数组初始化时,若给定元素个数少于数组元素,多余数组元素自动初始化为最后一个给定元素值
一个数组只允许存储同种类型的变量
数组名称其实是数组在内存中的首地址
当数组名作为参数被传递给某个函数时,原数组中元素的值可能被修改

49

下面程序的输出结果是(    )

#include

using namespace std;

int main( )

{ int a=18;

  int *p=&a;

  cout<<(long)p;}
喵查答案:以十进制输出变量a的地址
以八进制输出变量a的地址
以十进制输出p的地址
以十六进制输出a的地址

50

包含在iostream文件中,有缓冲区,用来处理标准出错信息的输出的是(    )
喵查答案:

clog

cout

cerr

out

关注工众号

喵查

查看更多答案

喜欢 (0)
关于作者: