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