Data Structures:

Size: px
Start display at page:

Download "Data Structures:"

Transcription

1 Data Structures: Stacks 一. 何謂堆疊 (Stacks)? 後進先出 (LIFO, Last In First Out) 的有序數列 加入與刪除資料只在頂端 (top) 進行 加入資料稱為 push, 刪除資料稱為 pop 加入 p u s h 刪除 p o p 頂端 to p 資料 n 資料 資料 堆疊 = ( 資料, 資料,.., 資料 n ) 二. 以陣列製作堆疊 最簡單之方法乃利用一維陣列 下面為一陣列堆疊宣告之例子 ; #define N 00 /* N 為堆疊大小 */ int stack[n]; /* 陣列 stack 當作堆疊 */ int top= -; /* top 表頂端之位置 */ p.s stack[] 及 top 必須定義為全域變數 (Global Variable) Data Structure: Stacks

2 加入 d N -- N -- p+ Top=p Top=p+ p d 0 0 圖一 : 加入資料於陣列堆疊中 因此加入資料 d 於堆疊之 push() 函數可簡述如下. 檢查堆疊是否已滿, 若已滿則加入失敗. 否則將堆疊頂端之指標 top 值加, 即 top 上移一格, 新資料在加入目前 top 所指之陣列元素位置中 N- Top =p p- N- p Top=p- Pop 時, 原 top 值為 p, 傳回 stack[top] 後,top 值減, 則頂端位置 top=p- 0 0 圖二 : 刪除堆疊頂端資料 因此刪除堆疊頂端資料之 pop() 函數可簡述如下. 檢查堆疊是否空了, 若是空堆疊則刪除失敗. 否則傳回頂端資料後將 top 值減, 即 top 向下移一格 Data Structure: Stacks

3 範例一 寫一程式可以執行 push, pop, +, -, exit 等功能 其中 (). push: 加入資料於堆疊內 (). pop: 傳回並刪除堆疊的頂端資料 (3). +: 取出堆疊頂端兩筆資料相加後之結果在存回堆疊內 (4). - : 取出堆疊頂端兩筆資料相減後之結果在存回堆疊內 (5). exit: 直到輸入 exit 才結束程式之執行 ( 見課本 p.3- 範例 4) /**************************************************************/ #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define N 00 /* 陣列堆疊宣告 */ int stack[n]; int top=-; /***************************************************************** * push 函式部分 ( 加入資料於堆疊內 ) *****************************************************************/ void push(int d) /* 加入資料於堆疊內 */ if(top == N-) printf(" 堆疊滿了 \n"); /* 注意堆疊大小 */ exit(); /* 加入失敗, 執行結束 */ } /* end if */ stack[++top]=d; } /* end of push 函數 */ /***************************************************************** * pop 函式部分 ( 刪除堆疊的頂端資料 ) * *****************************************************************/ int pop() if(top == -) /* 注意空堆疊情形 */ printf(" 堆疊空了 \n"); exit(); /* 刪除失敗, 執行結束 */ } Data Structure: Stacks 3

4 } return(stack[top--]); /***************************************************************** * 主程式部分 *****************************************************************/ void main() int d, loop=; /*loop 表迴圈控制變數 */ char input[5]; clrscr(); /* 清除螢幕畫面 */ printf("*** 陣列堆疊 ***\n"); printf(" 可執行下列指令 : push, pop, +, -, exit\n\n"); do printf("==>"); scanf("%s",input); if(strcmp(input,"push")==0) /* 字串比較若相等則傳回之值 */ /* 此時作 push 動作 */ printf(" 輸入數值 :"); scanf("%d",&d); push(d); } /* end of if(strcmp(..) 指令 */ else if(strcmp(input,"pop")==0) /* 此時作 pop 動作 */ if(top == -) printf(" 堆疊空了 \n"); else printf("%d\n",pop()); else if(strcmp(input,"+")==0) push(pop()+pop()); else if(strcmp(input,"-")==0) push(pop()-pop()); else if(strcmp(input,"exit")==0) /* 此時 exit */ loop=0; else printf(" 輸入錯誤!\n"); } while(loop); /* 數值 loop= 0 代表 false, 此時迴圈結束 */ printf("bye-bye!\n"); } Data Structure: Stacks 4

5 三. 以串列指標避免全域變數使用 指標形式亦可用來描述堆疊 優點 : 在同一程式中可以供多種不同的堆疊使用, 且避免全域變數之使用, 缺點 : 函數之呼叫變得更複雜 /***************************************************************** * push 函式部分 ( 加入資料於堆疊內 ) * *****************************************************************/ void push(int d, int stack[ ], int *top ) /* 此處之 top 為一指標型區域變數 */ (*top)++; /* 指標指向頂端, 增量增加 */ stack[*top]=d; /* 儲存資料 d 於堆疊頂端 */ } /* end of push 函數 */ /***************************************************************** * pop 函式部分 ( 刪除堆疊的頂端資料 ) * *****************************************************************/ int pop(int stack[ ], int *top) int d; } d = stack[*top]; (*top)--; /* 減量減少 */ return(d); Data Structure: Stacks 5

6 四. 堆疊之應用一 : 副程式之呼叫 假設有一個主程式 X 呼叫副程式 Y,, 副程式 Y 呼叫副程式 Z, 電腦之作業系 統會以堆疊來儲存返回 (return) 之位址, 當副程式 Z 做完後, 會由堆疊彈回副 程式 Y 之位址, 當副程式 Y 做完後, 再由堆疊彈回主程式 X 之位址 主程式 X 副程式 Y 副程式 Z... Call Y Call Z Statement A.. Statement B. return.... return Statement B 位址 Statement A 位址 五. 堆疊之應用二 : 代數運算式的求值計算. 運算式之組成 一個運算式 (expression) 是由運算元 (operand) 運算子 (operator) 及間 隔符號 (delimiter) 所構成 以 C 語言為例, 運算式中包含下列三種符號 ; 運算元 (operand);0,,,3,.etc. 運算子 (operator) ;+,-,*,/,**,<,<=, >=, ++,!=, ++, --, =, +=,.. etc. 間隔符號 (delimiter) ;(,) Data Structure: Stacks 6

7 . 運算式之計算原則 優先權 (precedence); 運算子運算原則 優先權較高之運算子先執行 結合性 (associatively) ; 優先權相同者, 則視其結合性而定. 結合性由左而右 (left to right), 則由左而右執行 如 :(+) (-). 結合性由右而左 (right to left), 則由右而左執行 如 : 次方 ($) 運算子性質 運算子 優先權 結合性 算術運算子 次方 ($) *( 指標 ) +( 正號 ) 由右而左 - ( 負號 ) 高 算術運算子 *( 乘號 ) /( 除號 ) %( 整數 由左而右 除號 ) 算術運算子 +( 加號 ) -( 減號 ) 由左而右 關係運算子 < <= ==!= > >= 由左而右 邏輯運算子 && (and) 由左而右 低 邏輯運算子 (or) 由左而右 指定運算子 = ( 指定 ) 由右而左 圖一 ; 常見運算子及優先權次序表格 Data Structure: Stacks 7

8 3. 運算式之表示法 中序運算式 (Infix Order):< 運算元 > < 運算子 > < 運算元 > 將運算子置於兩運算元中間之表示法 例如 : a+b, 3*-6 缺點 : 電腦無法一次依序讀取運算式 因運算式可能含有括號, 且 運算子優先順序不同 後序運算式 (Postfix Order):< 運算元 > < 運算元 > < 運算子 > 將運算子置於兩運算元之後之表示法 例如 : ab+, 3 * 6 - p.s 此法又稱為反波蘭記號法 ;RPN 其優點在於不必使用括號, 且 運算子不具優先權 4. 後序運算式之計算表示法 (Evaluation of Postfix Expression) 規則如下 : 由左而右讀進後序運算式的每個字元 (Token) 判別字元, 若為運算元 (operand), 則將其放入堆疊中 判別字元, 若為運算子 (operand), 則自堆疊中取出適當個數之運算元, ( 單元運算子, 取一個運算元 ; 二元運算子, 取兩個運算元 ), 並執行運算子所對應之計算, 並將計算結果放入堆疊中 若字串結束 (end of string), 堆疊內唯一值即為所要結果 Data Structure: Stacks 8

9 單元運算子 (Unary Operator) 二元運算子 (Binary Operator) +( 正號 ) - ( 負號 )!(not) *( 乘號 ) /( 除號 ) +( 加號 ) -( 減號 ) && (and) (or) 圖二 ; 常見運算子 Start Initialize Stack Read Next Token End of String? yes Pop result from Stack no Operand? yes Push x to Stack Pop operand Perform operation Push results to stack Uinary no Binary or Unary? Binary Pop operands Perform operations Push results to stack 圖三 ; 後序運算式之流程圖 Data Structure: Stacks 9

10 範例 - 二 計算後序運算式 : ( / + * $ 3 + ) 之值 Token Opnd Opnd Value Stack / + * $ , 6,,3 6,5,3,3,8,3,8,,3,4,7 7 7, 49 49,3 5 Data Structure: Stacks 0

11 範例 - 三 以下為計算後序運算式值之程式 (p.s. 此程式只計算常見之二元 運算元 ) # include <stdio.h> # include <math.h> # include <ctype.h> # include <stdlib.h> /* 陣列堆疊宣告 */ #define N 00 int stack[n]; /********************************************************************** * push 函式部分 ( stack[] 宣告為全域變數 ) *****************************************************************/ void push(int d, int *top ) /* 此處之 top 為一指標型區域變數 */ if (*top == N-) printf(" 堆疊滿了 \n"); /* 注意堆疊大小 */ exit(); /* exit 定義在 stdlib.h 中 */ /* exit(0) 表示正常,exit() 表示有誤 */ } /* end if */ else (*top)++; /* 指標指向頂端, 增量增加 */ stack[*top]=d; /* 儲存資料 d 於堆疊頂端 */ } /* end else */ } /* end of push 函數 */ Data Structure: Stacks

12 /********************************************************************** * pop 函式部分 ( stack[] 宣告為全域變數 ) *****************************************************************/ int pop(int *top) if (*top == -) /* 注意空堆疊情形 */ printf(" 堆疊空了 \n"); exit(); /* 刪除失敗, 執行結束 */ } else return(stack[(*top)--]); } /*************************************************************************** * oper 函數 ( 檢查有效二元運算子, 並計算該運算運用在其後兩參數之結果 ) * ***************************************************************************/ double oper(int symb, double op, double op) switch (symb) case + : return (op+op); /* 相加運算 */ case - : return (op-op); /* 相減運算 */ case * : return (op*op); /* 相乘運算 */ case / : return (op/op); /* 相除運算 */ case $ : return (pow(op,op)); /* 次方運算, pow 定義在 math.h 中 */ default : printf( %s, illegal operation ); exit(); /* 加入失敗, 執行結束 */ } /* end switch*/ } /* end oper 函數 */ /***************************************************************** * eva_postfix 函數 ( 計算後序運算式值 ) *****************************************************************/ double eval_postfix(char expr[]) Data Structure: Stacks

13 int c, position; double opnd, opnd, value; top = -; /* initialize stack*/ for (position = 0; (c = expr[position])!= \0 ; position++) /* 將儲存後序運算式從頭到尾依序讀出 */ /* 字串之 \0 為字串終止控制指令 */ if (isdigit(c)) /* 將自十進位數值字元轉換為可計算之 double */ else /* isdigit(c) 函數定義在 ctype.h 中 */ push( (double)(c 0 ),&top); /* c - 0 會將字元變數 c 之 ASCII 碼減去字元 0 之 ASCII 碼 */ /* 此時讀進之字元為 operator */ opnd = pop(&top); opnd = pop(&top); /* 取出堆疊最頂端的兩個運算元 */ value = oper(c, opnd, opnd); /* 並執行運算子所對應之計算 */ push(value, &top); /* 將計算結果放入堆疊中 */ } /* end else */ return (pop(&top)); /* 傳回堆疊內唯一值 */ } /* end eval_postfix */ /***************************************************************** * 主程式部分 *****************************************************************/ void main() char expr[n]; int position = 0; while ((expr[position++] = getchar())!= \n ) ; /* getchar() 函數定義在 ctype.h 中 */ /* 從系統開啟檔案或鍵盤中讀取單一字元 */ } /* end main*/ expr[--position] = \0 ; printf ( \n %s %s, the original postfix expression is, expr); /* 列印原始後序運算式 */ printf( \n %f, eval_postfix(expr)); /* 列印計算後之計算值 */ Data Structure: Stacks 3

14 六. 堆疊之應用三 : 中序運算式轉換為後序運算式 方法一 : 算術運算式由中序變為後序可依下列三步驟進行 :. 將式子中的運算單元適當的加以括號, 此時須考慮運算子的運算優先順序. 將所有的運算子移到其對應的右括號 3. 將所有的括號去掉 如將 A*B/C 化為後序表示式 () ( ( A * B ) / C) () ( ( A * B ) / C) =>( ( A B ) * C ) / (3) AB*C/ 再舉一例將 A-B/C+D*E-F%G 化成後序表示式 () ( ( ( A - ( B / C ) ) + ( D * E ) ) - ( F % G ) ) () ( ( ( A - ( B / C ) ) + ( D * E ) ) - ( F % G ) ) (3) A B C / - D E * + F G % - Data Structure: Stacks 4

15 方法二 : Start Initialize Stack Read Next Token A Operand? yes Print A no End of String? no (? yes yes Pop from Stack until empty Push this token Stop no )? yes Pop A from stack and print no A until ( ICP>ISP? yes Push A to Stack no Pop from Stack 圖四 ; 中序運算式轉換為後序運算式之流程圖 規則如下 : 由左而右讀進中序運算式的每個字元 (Token) 判別字元, 若為運算元 (operand), 則直接輸出 Data Structure: Stacks 5

16 判別字元, 若為運算子 (operator), 則 () 若 Token 為 (, 則直接加入堆疊頂端 () 若 Token 之優先權 (ICP, In-Coming Priority) 高於堆疊頂端之優先權 (ISP, In-Stack Priority), 則直接加入堆疊頂端 (3) 若 Token 之優先權 (ICP) 小於或等於於堆疊頂端之優先權 (ISP), 則將堆疊中之運算子自頂端逐一取出並輸出, 直到堆疊頂端之運算子優先權低於 Token, 再將此 Token 放入堆疊中 (4) 若 Token 為 ), 則將堆疊中之運算子自頂端逐一取出並輸出, 直到取出對應之 ( 為止, 但 ( 不須輸出 注意 : ) 永遠不會被放入堆疊中 (5) 若字串結束 (end of string, eos), 則將堆疊中所有運算子自頂端逐一取出並輸出, 值到堆疊空了 符號 In-Stack Priority (ISP) In-Coming Priority (ICP) ( 5 ) * 3 3 / 3 3 % 3 3 operand 0 0 Data Structure: Stacks 6

17 範例四 試將下列中序運算式 (infix) 轉換為後序運算式 (postfix): (( A - ( B + C ))*D)$(E+F) Step Token Postfix Stack ( ( ( (( 3 A A (( 4 - A ((- 5 ( A ((-( 6 B AB ((-( 7 + AB ((-(+ 8 C ABC ((-(+ 9 ) ABC+ ((- 0 ) ABC+- ( * ABC+- (* D ABC+-D (* 3 ) ABC+-D* 4 $ ABC+-D* $ 5 ( ABC+-D* $( 6 E ABC+-D*E $( 7 + ABC+-D*E $(+ 8 F ABC+-D*EF $(+ 9 ) ABC+-D*EF+ $ 0 ABC+-D*EF+$ Data Structure: Stacks 7

18 /* 變數宣告部分 */ #define N 00 /* N 為全域變數 */ typedef enumleft_paren,right_paren, plus, minus, times, divide, mode, operand} precedence; /* 定義優先順序之資料型態 */ precedence stack[n]; int ISP[]=,4,,,3,3,3,0}; /* 定義堆疊頂端之優先權 */ int ICP[]= 5,4,,,3,3,3,0}; /* 定義 Token 之優先權 */ /* get_token 函數 ( 讀取字元 Token, 並按照其優先順序分類 ) */ precedence get_token (char token) switch (token) /* 將讀進之 Token 量化並分類 */ case '(' : return left_paren; /* 此時 '(' 等於 left_paren = 0 */ case ')' : return right_paren; /* 此時 ')' 等於 right_paren = */ case '+' : return plus; /* 依此類推 */ case '-' : return minus; case '*' : return times; case '/' : return divide; case '%' : return mode; default : return operand; } /* end switch*/ } /* end get_token 函數 */ /* infix_to_postfix 函數 ( 將中序式轉換為計後序運算式 ) */ void infix_to_postfix(char expr[]) int position=0; /* 目前讀取位元之位置 */ char c; /* 讀取一個字元 */ precedence token; /* 分類後之 token */ top = -; /* initialize stack */ Data Structure: Stacks 8

19 for (position = 0; (c = expr[position])!= '\0'; position++) /* 將儲存中序運算式從頭到尾依序讀出 */ /* 字串之 '\0' 為字串終止控制指令 */ token = get_token(c); /* 讀取一個字元 */ switch (token) case operand : /* 此時 token 為運算元 */ printf("%c", c); break; case right_paren : while(stack[top]!= left_paren) /* 自堆疊頂端逐一取出並輸出, 直到取出 '(' 為止 */ print_symbol(stack[top]); pop(&top); /* 移除堆疊頂端之 '(', 不須印出 */ } /* end while */ break; default: if (empty(&top)) /* empty stack, push the token directly */ push(token, &top); else while ((!empty(&top)) && (ISP[stack[top]] >= ICP[token])) print_symbol(pop(&top)); push(token, &top); /* push token to stack */ } /* end else */ } /* end switch */ } /* end for */ do /* end of string, pop from stack until empty */ token = pop(&top); print_symbol(token); } while (!empty(&top)); } /* end infix_to_postfix */ p.s empty 及 print_symbol 函數須自行定義 Data Structure: Stacks 9

20 範例 - 五 試將下列中序運算式 (infix) 轉換為後序運算式 (postfix): a * ( b + c / d e ) * f 輸入字元堆疊內容輸出字元說明 \0 習題. 將下列中序運算式轉換後序式 (a.) a + ( b c / d) * e (b.) (a - b + c ) / ( d e / f * g) (c.) (a - b ) - ( c + d ) $ e * f (d.) (a - b ) $ (c * ( d e ) + f) g. 將下列後序運算式轉為中序式 (a.) a b + c- (b.) a b c - * (c.) a b c + d e f - + $ (d.) a b c d e - + $ * f g * - 3. 求下列後序式之值 (a.) $ - (b.) * *\ 4. 將下列中序運算式轉換前序式 (a.) a + ( b c / d) * e (b.) (a - b + c ) / ( d e / f * g) (c.) (a - b ) - ( c + d ) $ e * f (d.) (a - b ) $ (c * ( d e ) + f) g Data Structure: Stacks 0

Microsoft PowerPoint - Fig03_Stack.ppt [相容模式]

Microsoft PowerPoint - Fig03_Stack.ppt [相容模式] 四 堆疊與佇列 (Stack & Queue) 4-. 串列及鏈結串列 4-. 用陣列結構實作堆疊 4-3. 用鏈結串列實作堆疊 4-4. 堆疊的應用 4-5. 佇列 4-6. 用陣列結構實作佇列 4-7 7. 用鏈結串列實作佇列 堆疊的基本觀念. 定義 : 4- 堆疊 當將東西疊成一堆, 而取用的時候由上方來取出. 特性 : 先進後出, 後進先出 ( 號球先放, 但 3 號球會先拿出 ) 3 3

More information

Microsoft Word - DataStruct-981.doc

Microsoft Word - DataStruct-981.doc 4. 堆疊與佇列 (Stack and Queue) 4. Stak (). 基本觀念 定義 : 當將東西疊成一堆, 而取用的時候由上方來取出 特性 : 先進後出, 後進先出 ( 號球先放, 但 3 號球會先拿出 ) 2 3 3 2 (2). Stack 的運算 基本運算 push: 將資料放入堆疊 pop: 將資料由堆疊最頂端取出一個 TopItem: 位於堆疊中最上面的一個資料 IsEmpty:

More information

1

1 基本練習題 1 答 :(A) 2 答 :(B) 3 答 :(C) 4 答 :(B) 5 答 :(D) 6 答 :2 7 答 :(B) 8 答 : (A) A B C / D E * + F G / - (B) A B + C D - * E / (C) A B C * + E F + - 9 答 : (A) - + A * - / BCDE / F G (B) / * + A B C D E (C)

More information

Microsoft PowerPoint - ds2.ppt

Microsoft PowerPoint - ds2.ppt 資料結構的堆疊 資訊科技系林偉川 堆疊的基礎 堆疊 屬於一種擁有特定進出規則的線性串列結構, 如同在餐廳廚房的工人清洗餐盤, 將洗好的餐盤疊在一起, 每一個洗好的餐盤放在這疊餐盤的頂端, 如下圖所示 : 2 1 堆疊的基礎 - 操作 堆疊的基本操作, 如下所示 : push(): 將資料存入堆疊, 在堆疊的頂端新增資料 pop(): 從堆疊取出資料, 每執行一次, 就從頂端取出一個資料 isstackempty():

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft Word - AEE CH03.doc

Microsoft Word - AEE CH03.doc CHAPTER 堆疊與佇列 3.1 堆疊和佇列基本觀念 堆疊是一有序串列 (order list), 或稱線性串列 (linear list), 其加入 (insert) 和刪除 (delete) 動作都在同一端, 此端通常稱之為頂端 (top) 加入一資料於堆疊, 此動作稱為加入 (push), 與之相反的是從堆疊中刪除一資料 ; 此動作稱為彈出 (pop) 由於堆疊具有先被推入的資料, 最後才會被彈出的特性,

More information

Microsoft Word - F7801B_ch04習題解答.doc

Microsoft Word - F7801B_ch04習題解答.doc 基本練習題 1. 要將中序式轉成後序式, 需要用到何種資料結構? (A) 堆疊 (B) 佇列 (C) 堆積 (D) B 樹答 :(A) 2. 下列何者不是堆疊的應用場合?(A) 運算式轉換 (B) 工作排程 (C) 副程式的呼叫與返回 (D) 後序式的求值答 :(B) 3. 一個原來為空的堆疊, 經過 Push(1),Push(2),Pop(),Push(3),Pop(),Push(4) 則 堆疊中的資料由上而下順序是

More information

PowerPoint Presentation

PowerPoint Presentation 第六章簡介運算子超載 (Operator Overloading) 6-1 運算子超載的基礎 6-2 超載二元運算子 6-3 超載邏輯與關係運算子 6-4 超載一元運算子 6-5 使用夥伴函數 6-6 細部檢視指定運算子 6-7 超載註標運算子 6-1 運算子超載的基礎 甚麼是運算子超載? 讓運算子 ( 符號 ) 有不同的意義 EX: 運算子的預設意義 ( 以 + 與 = 為例 ) class frac

More information

untitled

untitled Introduction to Programming ( 數 ) Lecture 3 Spring 2005 March 4, 2005 Lecture 2 Outline 數 料 If if 狀 if 2 (Standard Output, stdout): 料. ((Standard Input, stdin): 料. 類 數 數 數 說 printf 見 數 puts 串 數 putchar

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

1

1 基本練習題 1. 答 : 鄰接矩陣 : D E D E 0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 5 5 D E D E 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 鄰接串列 : List[] List[] E List[] E List[] D E List[D] E List[E]

More information

Microsoft Word - data_mid1611_and_sol.docx

Microsoft Word - data_mid1611_and_sol.docx Department of Computer Science and Engineering National Sun Yat-sen University Data Structures - Middle Exam, Nov. 14, 2016 1. Explain each of the following terms. (16%) (a) private in C++ language (b)

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

ebook14-4

ebook14-4 4 TINY LL(1) First F o l l o w t o p - d o w n 3 3. 3 backtracking parser predictive parser recursive-descent parsing L L ( 1 ) LL(1) parsing L L ( 1 ) L L ( 1 ) 1 L 2 L 1 L L ( k ) k L L ( 1 ) F i r s

More information

PowerPoint Presentation

PowerPoint Presentation 資料結構 (Data Structures) Course 5: Stack and Queue 授課教師 : 陳士杰 國立聯合大學資訊管理學系 Outlines 本章重點 Stack 的定義 應用 製作與 ADT Queue 的定義 應用 製作與 ADT 如何利用 Array 與 Linked list 製作 Stack 與 Queue Infix( 中序 ) 運算式與 Postfix ( 後序

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Microsoft PowerPoint - ch03_AEL0080.ppt

Microsoft PowerPoint - ch03_AEL0080.ppt 3 基本資料型態 能盡物之性, 則可以贊天地之化育 可以贊天地之化育, 則可以與天地矣 中庸中庸.第二十一章第二十一章 1/88 基本資料型態 3.1 3.2 3.3 3.4 3.5 3.6 3.7 整數和浮點數變數和常數算術運算標準數學函數的運算邏輯值及其運算字元與字串位元處理運算 2/88 C++ 的資料型態 C++ 資料型態 基本資料型態 整數 int, short, long 浮點數 float,

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

Microsoft Word - C-pgm-ws2010.doc

Microsoft Word - C-pgm-ws2010.doc Information and Communication Technology 資訊與通訊科技 Loops (while/for) C 廻路 姓名 : 班別 : ( ) CS C Programming #1 Functions 函數 : 1 若 n=14, 求以下表示式的值 Expressions 表示式 Value 值 Expressions 表示式 Value 值 A 20 2 * (n /

More information

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

More information

C

C C 2017 4 1 1. 2. while 3. 4. 5. for 6. 2/161 C 7. 8. (do while) 9. 10. (nested loop) 11. 12. 3/161 C 1. I 1 // summing.c: 2 #include 3 int main(void) 4 { 5 long num; 6 long sum = 0L; 7 int status;

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

Microsoft PowerPoint - C-Ch10.ppt

Microsoft PowerPoint - C-Ch10.ppt 了解陣列元素的位址 陣列 指標的應用 10-1 陣列與指標的關係 可以使用位址運算子 (&) 來查詢陣列中各個元素的位址 &test[0] 這行表示陣列最前面元素的位址 &test[1] 這行表示陣列第二個元素的位址 關於陣列名稱的機制 陣列名稱可以表示陣列最前面元素的位址 #include int main(void) int test[5] = 80,60,55,22,75;

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

untitled

untitled 說 參 例 邏 邏 1. 說 2. 數 數 3. 8 4. 理念 李 龍老 立 1. 理 料 2. 理 料 3. 數 料 4. 流 邏 念 5. 良 6. 讀 行 行 7. 行 例 來 邏 1. 說 說 識 量 2. 說 理 類 3. 數 數 念 4. 令 5. 良 6. 流 邏 念 7. 說 邏 理 力 1. 2. 3. 4. 5. 列 念 1 參 1. ( Visual Basic 例 ) (1)

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

Java 程式設計入門

Java 程式設計入門 Java 程式設計入門 講師 : 陳昭源 CISE, NTU August 28, 2005 Outline 變數 Variables 運算子 Operators 運算式 (Expressions) 敘述(Statements) & 程式區塊 (Blocks) 流程控制 Control Flow Statements if-else statements switch statements August

More information

Microsoft Word - 201110.doc

Microsoft Word - 201110.doc 2011 年 10 月 信 徒 交 通 月 刊 目 錄 一 本 期 目 錄 編 輯 室 1 二 牧 者 的 話 教 會 轉 化 -- 得 到 更 新 皮 袋 衣 立 凡 2 三 講 章 精 華 清 潔 的 心 思 -- 除 去 論 斷 講 員 衣 立 凡 / 賴 美 如 整 理 4 清 潔 的 心 思 -- 除 去 情 慾 講 員 葉 志 偉 / 林 慶 如 整 理 9 四 精 選 文 章 等 候

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Microsoft PowerPoint - ds-1.ppt [兼容模式]

Microsoft PowerPoint - ds-1.ppt [兼容模式] http://jwc..edu.cn/jxgl/ HomePage/Default.asp 2 说 明 总 学 时 : 72( 学 时 )= 56( 课 时 )+ 16( 实 验 ) 行 课 时 间 : 第 1 ~14 周 周 学 时 : 平 均 每 周 4 学 时 上 机 安 排 待 定 考 试 时 间 : 课 程 束 第 8 11 12 章 的 内 容 为 自 学 内 容 ; 目 录 中 标 有

More information

untitled

untitled 1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h 資訊系統與實習 製作 : 林郁君 一 2009.09.28 9X9 'button 被按下後 ' Dim i, j As Integer For i = 1 To 9 'i 從 1 到 9' For j = 1 To 9 'j 從 1 到 9' If j * i < 10 Then ' 如果 j 乘上 i 是為個位數 ' Response.Write(i & "*" & j & " =" & i *

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

Microsoft Word - 小心翼翼的二十一點N.doc

Microsoft Word - 小心翼翼的二十一點N.doc 投 稿 類 別 : 資 訊 類 篇 名 : 小 心 翼 翼 的 二 十 一 點 作 者 : 陳 鈺 文 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 李 伯 謙 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 胡 家 媛 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 指 導 老 師 : 周 曉 玲 老 師 陳 思 亮 主 任 壹 前 言 一 研 究 動 機 平

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

Historical Fund Prices_TC_mt_2017.pdf

Historical Fund Prices_TC_mt_2017.pdf 1. (i) (ii) 2. 5 1 3. 4. 5. 65 65 / 6. 7. / 8. 03/04/2017 19.1857 17.7658 16.8445 13.6299 11.6134 15.8544 20.1994 15.5516 7.3412 19.6477 9.6339 12.8183 11.3199 10.0279 12.8949 13.6338 10.0000 10.0000 05/04/2017

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc)

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc) : TBFAT-G5MP-MN004-11 1 GX Series PLC Program Manual 2 GX Series PLC Program Manual Contents Contents...3 1... 1-1 1.1... 1-2 1.2... 1-3 1.2.1... 1-3 1.2.2... 1-4 1.2.3... 1-4 1.2.4... 1-6 1.3... 1-7 1.3.1...

More information

科学计算的语言-FORTRAN95

科学计算的语言-FORTRAN95 科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多載 Overloading 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 函數多載 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 運算子多載 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 函數多載 Function

More information

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20 (Jump) (Loop) (Conditional jump) CMP CALL AND SAR/SHR TEST JMP NOT SAL/SHL Jnnn* OR RCR/ROR LOOP XOR RCL/ROL RETn * nnn, JNE JL -128 127-32,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

Visual C# 2005程式設計

Visual C# 2005程式設計 Visual Basic 2005 程式設 計 第 5 章流程控制 5-1 認識流程控制 判斷結構 (decision structures) If...Then Else Select Case Try Catch Finally 迴圈結構 (loop structures) For...Next For Each...Next Do...Loop While End While 5-2 If Then

More information

Microsoft PowerPoint - C-Ch11.ppt

Microsoft PowerPoint - C-Ch11.ppt 各式各樣的資料型態 11-1 結構的基礎知識 決定新的型態 關於結構 結構資料型態可以將不同資料型態的值整合成新的型態 結構型態的宣告語法 : struct 結構型態 { 資料型態識別字 ; 資料型態識別字 ; }; 加上 struct 進行宣告 宣告結構變數 語法 : 結構型態結構變數名稱 ; 範例 : struct Car car1; 對成員進行存取 使用結構型態的成員時, 必須使用成員選擇運算子

More information

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2 VHDL (Statements) VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2 (Assignment Statement) (Signal Assignment Statement) (Variable Assignment

More information

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不 1. 右 側 程 式 正 確 的 輸 出 應 該 如 下 : * *** ***** ******* ********* 在 不 修 改 右 側 程 式 之 第 4 行 及 第 7 行 程 式 碼 的 前 提 下, 最 少 需 修 改 幾 行 程 式 碼 以 得 到 正 確 輸 出? (A) 1 (B) 2 (C) 3 (D) 4 1 int k = 4; 2 int m = 1; 3 for (int

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

epub 33-8

epub 33-8 8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

街街街街街街街街

街街街街街街街街 1 基本輸出入 與四則運算 本章大綱 5.1 本章的教學目標 5.2 Java 語言的運算子 5.3 算術與字串連接運算子 5.4 位元運算子 5.5 資料型態的轉換 5.1 本章的教學目標 程式語言有許多的算術運算所組成, 本章將介紹 Java 程式語言中基本輸出入運算子的功能與使用方式, 運算子包括 : 指定運算子 算數與字串連接運算子 位元運算子 資料型態的轉換運算子的功能與相關應用, 讓各位同學了解不同運算子的使用時機與應用方法

More information

Fuzzy Highlight.ppt

Fuzzy Highlight.ppt Fuzzy Highlight high light Openfind O(kn) n k O(nm) m Knuth O(n) m Knuth Unix grep regular expression exact match Yahoo agrep fuzzy match Gais agrep Openfind gais exact match fuzzy match fuzzy match O(kn)

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

第5章修改稿

第5章修改稿 (Programming Language), ok,, if then else,(), ()() 5.0 5.0.0, (Variable Declaration) var x : T x, T, x,,,, var x : T P = x, x' : T P P, () var x:t P,,, yz, var x : int x:=2. y := x+z = x, x' : int x' =2

More information

Microsoft Word - About_C_PointerAdvanced.doc

Microsoft Word - About_C_PointerAdvanced.doc (*) 如何宣告或解讀某一個資料型態的指標變數? 在變數名稱前加上一個 * 號 ( 陣列也可算成是指標只是其值不能被更改!) 反過來在解讀變數的型態時 : 先找到變數名稱, 再看其左邊是否有星號 ( 至多取一個 ), 若有表示這是一個指標變數, 否則就是一般的變數 至於資料型態的部份, 只要將變數或連同 * 號移去後, 剩下的部份就是此變數或指標的資料型態 (*) 優先順序 : 運算子的優先順序 5

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

Ps22Pdf

Ps22Pdf C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

資料結構之C語言重點複習

資料結構之C語言重點複習 鏈結串列自編教材 ( 一 ) 本教材 ( 一 ) 目標問題 : 每次以亂數產生一 [0,1000] 之整數值, 若該值 >100, 則以同方式繼續產生下一亂數值, 若該值

More information

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式]

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式] Java Basics Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.twcgu 執行環境 - eclipse 點選 eclipse 軟體執行檔 設定工作路徑 eclipse 開啟 2 建置 Java 專案 File New project

More information

zt

zt ! "!# " $! " %# " #& " && " ( "!)$ "!!# "!$! "!%$ "!#$ "!*# "!! "!($ " +)& " ++! " +$( " +#$ " +*& " +&( " !"#$!"%& ()!"## ()!""* !!"# $%& () *%+,&-./!"# 0.1)2 + 3"%4/!"# 5).++.( 6)2"( 7889 : 77 9;;< !

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

Microsoft Word - 透析8051之迴圈控制方法.doc

Microsoft Word - 透析8051之迴圈控制方法.doc 透析 8051 之分支跳躍與迴圈控制 - 利用 VB 的程式觀念解說 迴圈的控制方法不失為寫程式最重要的技巧之所在之一, 它搭配邏輯運算的判斷作為迴圈繼續執行的判斷依據, 程式設計師必須考量分析所有可能的情況, 然後給予不同的條件, 當條件成立時執行某段程式, 不符合時執行另一段程式, 然後重複某項任務, 直到使用者中斷程式的執行, 或是條件喪失時才跳出迴圈 也可能一個程式重複著無止盡的迴圈, 直到關閉電源為止,

More information

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

NethersoleJO89(8).indd

NethersoleJO89(8).indd 2 3 4 5 6 7 8 9 10 雅風四十六期 二零零八年九月 婆婆的愛心感動了我 陳姑娘在災區認識了白婆婆 她的家人全都在外地工 作 婆婆表示地震當日 她急忙地救了兩戶鄰舍的兩名小 孩 拖著六歲的男孩和揹著四個月大的嬰孩從災區步行兩 日後到達救援區 獲救的男孩每天都前往帳篷探望婆婆 因此她面上常帶笑容 每當白婆婆看見義工隊到災區時 都會送上暖暖的問候 更將獲配給的涼水贈予義工們 她 那真誠和熱切的關懷深深感動了義工隊

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

stack_and_queue

stack_and_queue Stacks and Queues Prof. Michael Tsai 2017/02/21 Stack Stack represents an ordered and linear list Stack of plates Taken from and placed onto the top Pop: take an element Push: place an element Example

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information