lawpalyer logo

資訊處理 105 年程式設計概要考古題

民國 105 年(2016)資訊處理「程式設計概要」考試題目,共 12 題 | 資料來源:考選部

0 題選擇題 + 12 題申論題

請寫一個由兩個函式構成的C 語言程式,舉例說明何謂區域變數與全域變數。(20 分)
依據下方C 語言程式碼,請完成ㄧ布林(Bool)型態之函式Triangle( ),並填寫呼 叫此一函式之程式碼。此一函式參數包含整數型態陣列Edge,Edge 陣列內含有三個 代表三角形邊長之數值。請撰寫判斷此三個邊長是否可構築成為一個三角形之函式, 函式運算後,依回傳結果分別顯示true 或false 値,分別代表能否構成三角形。(25 分) bool Triangle (/*請填寫函式參數*/){ /*請填寫函式程式碼*/ } int main(){ int Give[3]={6,7,8}; printf("%s\n",/*請填寫主程式程式碼*/?"true":"false" ); }
請寫出下列程式的輸出:(10 分) #include <stdio.h> #include <stdlib.h> struct POINT { int x; int y; }; struct POINT compute(struct POINT A, struct POINT B); int main() { struct POINT X = {4, 10}; struct POINT Y = {-1, 4}; struct POINT Z; Z = compute(X, Y); printf("Z.x = %d\n", Z.x); printf("Z.y = %d\n", Z.y); return 0; } struct POINT compute(struct POINT A, struct POINT B) { struct POINT C; C.x = (A.x + B.x) / 2; C.y = (A.y + B.y) / 2; return C; } 105年公務人員特種考試關務人員考試、 105年公務人員特種考試身心障礙人員考試及 105年國軍上校以上軍官轉任公務人員考試試題 全一張 (背面) 考試別: 身心障礙人員考試 等 別: 四等考試 類 科: 資訊處理 科 目: 程式設計概要
根據IEEE 754 二進位浮點數算術標準,請問下列C 語言程式碼執行後輸出為何?(25 分) int main(){ float A = 100; float B = -125.53125; printf("%08X\n", *(unsigned int *) &A); printf("%08X\n", *(unsigned int *) &B); }
C 語言函式原型 int search(int A[], int n, int x); 的第一個參數為整數陣列A[],第二個參數為整數n 代表搜尋範圍為索引從0 到n - 1。 若存在一個不為負而且小於n 的整數i,滿足A[i]等於第三個參數整數x,則函式回 傳值為i,否則函式回傳值等於-1。假如有多個i 值滿足條件,則函式回傳值為最大 的i。(每小題20 分,共40 分) 請以遞迴的(recursive)循序搜尋(sequential search)法撰寫這個函式。 請以疊代的(iterative)循序搜尋(sequential search)法撰寫這個函式。
觀察以下C++語言之程式,試回答下列問題: int main(){ double a = 0.2 * 0.2, b = 0.04; if(a == b){ cout << "a = b" << endl; } else if(a < b){ cout << "a < b" << endl; } else{ cout << "a > b" << endl; } cout << a << endl << b << endl; }  試問該程式之輸出為何?(10 分) 根據上題 之輸出為a = b、a < b 或a > b,請說明其原因?(15 分) 105年公務人員普通考試試題 全一張 (背面) 類 科:資訊處理 科 目:程式設計概要
請寫出下列C 語言算式:(每小題15 分,共30 分) 假設month 為整數變數。請利用三元運算子寫一個C 語言算式(expression)。假 如month 的值為一個31 天的月份則算式值等於31,假如month 的值為一個30 天 的月份則算式值等於30,假如month 的值等於2,則算式值等於28,假如month 的值小於1 或是大於12,算式值等於-1。 假設year 為整數變數。根據西元曆法,小於4000 的西元年,若可以為400 整除或 是可以被4 整除但不被100 整除的西元年份者為閏年。請寫一個C 語言算式 (expression),算式值為真表示year 年為小於4000 的閏年,反之則否。
觀察以下C 語言之程式,回答下列問題: 根據以下 C 語言程式碼,試問執行結果輸出為何?(10 分)  承上題,根據Result 比對Source 陣列內容,試問此轉換目的為何?(15 分) int priority(char Operation){ if (Operation == '+' || Operation == '-'){ return 1; } else if (Operation == '*' || Operation == '/'){ return 2; } else { return 0; } } void Transform(char* Source, char* Result){ char stack[50] = { '\0' }; int i = 0, j = 0, top = 0; for (; Source[i] != '\0'; i++){ if (Source[i] == '('){ stack[++top] = Source[i]; } else if (Source[i] == ')'){ while (stack[top] != '(') { Result[j++] = stack[top--]; } top--; } else if (Source[i] == '*' || Source[i] == '/' || Source[i] == '+' || Source[i] == '-'){ while (priority(stack[top]) >= priority(Source[i])){ Result[j++] = stack[top--]; } stack[++top] = Source[i]; } else Result[j++] = Source[i]; } while (top != 0){ Result[j++] = stack[top--]; } } int main(){ char Source[50] = { " a-d+(b*e)/c" }, Result[50] = { '\0' }; Transform(Source, Result); for (int i = 0; Result[i] != '\0'; i++){ printf("%c", Result[i]); } return 0; }
請將下列中置式(infix formula)改成後置式(postfix formula),並依據ANSI C 的優 先權( the priority defined in ANSI C)來回答:(每小題4 分,共8 分) (A/D+B) *D+E/(F+A*(D+C)) !(A && ! ((B+F<C) || (C>D))) || (C>E )
請寫出副程式factor(int N),對正整數N,做因數分解,例如N=10,輸出1, 2, 5, 10。 (8 分)
在微軟的注音輸入法裡頭,會根據前後字的關係,幫你選字,但常常會發生最常用 的字出現在最後。(每小題4 分,共8 分) 請問這是什麼問題造成的? 如何改變這投票機制(voting scheme),解決上述的問題?
下列變數a、b、c、d、e 在Visual C++ 程式語言(32 位元的作業系統)裡各占多少 的記憶體?(每小題2 分,共8 分) int a = -100000; double b[2] = {0.0}; double *c = 0x10000; char d[10] = “AB”; 九、請將下列式子最後的y 值計算出來:(每小題4 分,共8 分) int x[10] = { 1, 3, 7, 8, 4, -1, 7, 6,-1,6 }, y = 0; while (x[y++] > 0); int x[10] = { 1, 3, 7, 8, 4, -1, 7, 6,-1,6 }, y = 0; while (x[++y/2] > 0); 十、在32 位元的作業系統下,試回答下列問題: int a; 請問a 的範圍?(4 分) 計時系統都是以正整數範圍(負整數範圍不計)來計算秒數,假如開始計時時間 為:1 January, 1970 at 12:00:00 a.m.(午夜12 點,非中午12 點),請問在西元何年 何月何日何時,這樣的計時系統會出現問題?(8 分)