- 能力說明:了解C++語言運作流程,基礎語法,能看懂C++基礎程式,並熟悉基礎運算、邏輯,理解流程控制、迴圈和陣列使用方法和情境。
熟悉C++編譯環境,理解C++進階語法,並能使用程式解決較為複雜的問題。 - 分項能力:
觀念 | 能看懂程式運作,並針對基礎、進階語法進行判讀 |
實作 | 能撰寫並使用程式語法解決基礎和進階問題 |
測驗項目及試程
測驗項目 | 觀念 | 實作 |
測驗內容 | 資料型態、條件判斷、運算式、迴圈、陣列、指標、參考、函式、字串處理、二維陣列、結構 | 資料型態、條件判斷、運算式、迴圈、陣列、指標、參考、函式、字串處理、二維陣列、結構 |
題數 | 25 | 4 |
作答時間 | 40分鐘 | 60分鐘 |
總測驗時間 | 40分鐘 | 60分鐘 |
閱卷/評分程序、通過標準
- 閱卷/評分程序:
採電腦系統平台閱卷
- 通過標準
測驗項目 | 通過標準 | 滿分 |
觀念 | 70 | 100 |
實作 | 70 | 100 |
註:觀念及實作均達70分以上方為通過,例:甲觀念分數為60,實作分數為100,即使總和達140但因觀念不足70,仍為不通過
參考例題
觀念題
1. 根據下列程式,條件判斷式的部分可以改為何者?
if (a>b)
;
else
if(b==1)
b += 1;
- if(a<b && b == 1) b += 1;
- if(a>b && b == 1) b += 1;
- b += 1;
- if( !(a<b) && b == 1) b += 1;
2. 以下陣列的宣告方式,何者正確?
- char name[]{M, a, y};
- float num[5] = [1.0, 2, 3, 4, 5];
- int point[]{20, 99, 72};
- bool flag{};
3. 下列程式輸出結果為何?
int num = 10;
int * a = new int;
int * b = & num;
int * c = a;
*b = 8;
*c = 5;
cout << * a;
- 10
- 8
- 5
- 0
實作題
例題1
問題描述
中位數,是指一組數字的中間數字;即是有一半數字的值大於中位數,而另一半數字的值小於中位數。
例如,2、3、3、5、7 及 10 的中位數為 4。
計算有限個數的數據的中位數的方法是:把所有的同類數據按照大小的順序排列。如果數據的個數是奇數,則中間那個數據就是這群數據的中位數;如果數據的個數是偶數,則中間那2個數據的算術平均值就是這群數據的中位數。
輸入格式
共2列,
第一列為一整數n,代表數列的長度,
下一列,有n個隨機正整數。
輸出格式
共1列,代表中位數
範例一:輸入
5
1 5 7 8 9
範例一:正確輸出
7
範例二:輸入
6
3 9 5 2 2 2
範例二:正確輸出
2.5