2019-2020-2面向对象程序设计期中考试-计科2018


<!doctype html>

2019-2020-2面向对象程序设计期中考试-计科2018
2019-2020-2面向对象程序设计期中考试-计科2018
开始时间 06/01/2020 4:00:00 PM
结束时间 06/01/2020 6:30:00 PM
答题时长 120分钟
答卷类型 标准答案
总分 100

判断题 得分:暂无 总分:30
1-1

面向对象方法最核心的特征是类、对象和封装。 (2分)

       


1-2

对象封装了属性和操作,对象间通过消息传递实现相互通信。 (2分)

       


1-3

C++程序必须有且只能有一个main()方法,其返回类型是int,可以省略。 (2分)

       


1-4

constexpr int max = length()是正确的。 (2分)

       


1-5

auto size = sizeof(int)是正确的,其中size的数据类型是整形。 (2分)

       


1-6

decltype类型指示符的作用是选择并返回操作数的类型。 (2分)

       


1-7

逗号表达式的结果是最左边表达式的值。 (2分)

       


1-8

switch语句之后的小括号中,只能写入整值表达式,case后可以接整值表达式。 (2分)

       


1-9

C++关系运算和逻辑运算的结果是int数据类型。 (2分)

       


1-10

C++的基本数据类型变量所占用的存储空间大小是固定的。 (2分)

       


1-11

const既可以限定指针本身的值不可以修改,也可以限定指针指向的对象不可以修改。 (2分)

       


1-12

void* 指针可以持有任何类型对象的地址值,也可以引用指向的对象。 (2分)

       


1-13

为函数参数指定默认值必须写在函数的定义中。 (2分)

       


1-14

重载函数通过参数表进行区分,差别包括形参的类型、数量和名称。 (2分)

       


1-15

inline函数可以在调用点进行代码展开,提高程序执行效率。 (2分)

       


单选题 得分:暂无 总分:40
2-1

下列打开文件的表达式中,错误的是: (2分)


2-2

下列符号中可以用作 C++标识符的是 (2分)


2-3

若有下面的语句: (2分)

string s="Hello";
s.append("123");
cout << s.at(5) << endl;

则执行后程序的输出结果是


2-4

编写C++程序一般需经过的几个步骤依次是()(2分)


2-5

下列关于C++与C语言的关系描述中,错误的是____。 (2分)


2-6

使用C++标准string类定义一个字符串,需要包含的头文件____。 (2分)


2-7

关于面向对象程序设计

面向对象程序设计主要考虑的是提高软件的 ▁▁▁▁▁ 。(2分)


2-8

int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是( )。 (2分)


2-9

cout 是由I/O 流库预定义的( )。 (2分)


2-10

设void f1(int * m,long & n);int a;long b;则以下调用合法的是()。 (2分)


2-11

以下程序存在的问题是: (2分)

void fun()
{
 int *num1, *num2;
 num1 = new int[10];
 num2 = new int[20];
 num1[0] = 100;
 num2[0] = 300;
 num1 = num2;
 delete [] num1;
} 

2-12

下列关于引用的说法,错误的是____。 (2分)


2-13

设int x;,则经过()后,语句*px=0;可将x值置为0。 (2分)


2-14

const int *p说明不能修改()。 (2分)


2-15

下列说法中正确的是( ) (2分)


2-16

在C++中,关于下列设置缺省参数值的描述中,()是正确的。 (2分)


2-17

对定义重载函数的下列要求中,( )是错误的。 (2分)


2-18

下面程序的运行结果是 (2分)

#include<iostream>
using namespace std;

void fun(int * a, int * b) {
int x = *a;
*a = *b;
*b = x;
cout << *a << *b << " ";
}
int main() {
int x = 1, y = 2;
fun(&x, &y);
cout << x << y << endl;
return 0;
}


2-19

以下选项中,是正确的函数默认形参设置的是。 (2分)


2-20

命名空间应用于: (2分)


填空题 得分:暂无 总分:5
4-1

在面向对象程序设计中,(1分)是指一个类实例和另一个类实例之间传递的信息。


4-2

在面向对象方法中,类的实例称为(1分)


4-3

write the output of the code below.

#include <iostream>
using namespace std;
int& f(int &i )
{
    i += 10;
    return i ;
}
int main()
{
    int k = 0;
    int& m = f(k);
	cout << k << "#";
    f(m)++;
	cout << k << endl;
	return 0;
}

(1分)


4-4

下面程序的运行结果是(2分)

#include <iostream>
using namespace std;

void main( ) {
int i=1;
while (i<=15) {
i++;
if (i%3!=2)
continue;
else
cout <<"i="<<i<<" ";
}
}


函数题 得分:暂无 总分:25
6-1
引用作函数形参交换两个整数 (10分)

设计一个void类型的函数Swap,该函数有两个引用类型的参数,函数功能为实现两个整数交换的操作。

裁判测试程序样例:

#include <iostream>
using namespace std;

/* 请在这里填写答案 */

int main()
{
int a, b;

cin &gt;&gt; a &gt;&gt; b;

Swap(a, b);

cout &lt;&lt; a &lt;&lt; &quot; &quot; &lt;&lt; b &lt;&lt; endl;

return 0;

}

输入样例:

3 5

输出样例:

5 3

6-2
函数重载实现两数相加 (15分)

设计一个重载函数add,该函数有两个参数,可以实现两个类型相同的参数相加的操作,函数返回相加的结果。两个参数可以是整数、实数和字符串,但必须保证两个参数类型相同。

裁判测试程序样例:

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

/* 请在这里填写答案 */

int main()
{
int a, b;
double c, d;
string s1, s2;

cin &gt;&gt; a &gt;&gt; b;
cin &gt;&gt; c &gt;&gt; d;
cin &gt;&gt; s1 &gt;&gt; s2;

cout &lt;&lt; add(a, b) &lt;&lt; endl;
cout &lt;&lt; fixed &lt;&lt; setprecision(2) &lt;&lt; add(c, d) &lt;&lt; endl;
cout &lt;&lt; add(s1, s2) &lt;&lt; endl;

return 0;

}

输入样例:

3 5
3.3333 5.555555
hello world

输出样例:

8
8.89
helloworld


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM