µn¤J
¡U
µù¥U
¡U
·|û¤¤¤ß
¡U
µ²±b
¡U
°ö°V½Òµ{
Å]ªk§Ì¤l
¡U
¦Û¸ê¥Xª©
¡U
¹q¤l®Ñ
¡U
«ÈªA¤¤¤ß
¡U
´¼¼z«¬¥ßÊ^·|û
®Ñ¦W
¥Xª©ªÀ
§@ªÌ
isbn
½s¸¹
5050Å]ªk²³Äw
|
NG®Ñ«°
|
°ê»Ú¯Å«~µP½Òµ{
|
Àu´f³qª¾
|
ÅRÆE^¶¯µ¼Öºë¿ï
|
iPhone 4S JB¸Ñ¸T¯µ³N¡GCydia ¶W³nÅé300+
¡D
¶W¹Ï¸Ñ Python
¡D
¶W¹Ï¸Ñ Arduin
¡D
¶W¹Ï¸Ñ ESP32
¤å¾Ç¤p»¡
¤å¾Ç
¡U
¤p»¡
°ÓºÞ³Ð§ë
°]¸g§ë¸ê
¡U
¦æ¾P¥øºÞ
¤H¤åÃÀ§{
©v±Ð¡Bõ¾Ç
ªÀ·|¡B¤H¤å¡B¥v¦a
ÃÀ³N¡B¬ü¾Ç
¡U
¹q¼vÀ¸¼@
Ày§Ó¾i¥Í
ÂåÀø¡B«O°·
®Æ²z¡B¥Í¬¡¦Ê¬ì
±Ð¨|¡B¤ß²z¡BÀy§Ó
¶i׾Dzß
¹q¸£»Pºô¸ô
¡U
»y¨¥¤u¨ã
Âø»x¡B´Á¥Z
¡U
x¬F¡Bªk«ß
°Ñ¦Ò¡B¦Ò¸Õ¡B±Ð¬ì¥Î®Ñ
¬ì¾Ç¤uµ{
¬ì¾Ç¡B¦ÛµM
¡U
¤u·~¡B¤uµ{
®a®x¿Ë¤l
®a®x¡B¿Ë¤l¡B¤H»Ú
«C¤Ö¦~¡Bµ£®Ñ
ª±¼Ö¤Ñ¦a
®È¹C¡B¦a¹Ï
¡U
¥ð¶¢®T¼Ö
º©µe¡B´¡¹Ï
¡U
¨î¯Å
¶W¹Ï¸Ñ C »y¨¥--¥Î¸ê®Æµ²ºc¡Ñºtºâªk¬ð¯} APCS
§@ªÌ¡G
»¯^傑
¤ÀÃþ¡G
¹q¸£»Pºô¸ô
¡þ
ºî½×
¥Xª©ªÀ¡G
ºX¼Ð
¥Xª©¤é´Á¡G2022/11/30
ISBN¡G9789863127291
®ÑÄy½s¸¹¡Gkk0559947
¶¼Æ¡G688
©w»ù¡G
780
¤¸
Àu´f»ù¡G
95
§é
741
¤¸
®Ñ»ùY¦³²§°Ê¡A¥H¥Xª©ªÀ¹ê»Ú©w»ù¬°·Ç
¼È°±³c°â
¼ÈµL¨ÑÀ³°Ó¡G´M§ä¨Ñ³f°Ó¤¤(¤]¦³¥i¯à¥Xª©ªÀ¤wµ²§ô)¡C
¹ÎÁʼƳ̧C¬° 20 ¥»¥H¤W
µû»ù¼Æ¡G
(½Ð±N·Æ¹«²¾¦Ü¬P¬P³B¶i¦æµû»ù)
¥Ø«e¥§¡µû»ù¡G
¤å¦r³sµ²
½Æ»s»yªk
¶W¹Ï¸Ñ C »y¨¥--¥Î¸ê®Æµ²ºc¡Ñºtºâªk¬ð¯} APCS
¹Ï¤ù³sµ²
½Æ»s»yªk
¤À
¨É
¤º®e²¤¶
®ÑÄy¥Ø¿ý
¦PÃþ±ÀÂË
//不只¦Ò檢測¡B更ÁëÁå未來程式力// 本書是專為有志往¸ê°T科系發展的ŪªÌ所³]p¡A具有以下幾¶µ特¦â¡G ¡i紮實基礎教學¡j¡G全±涵»\ C »y¨¥各¶µ主ÃD¡A沒學¹L程式³]p也可從本書¶}始入ªù¡C主ÃD涵»\基本»y法¡B函式¡B°}列¡B»¼°j¡B指標»P多維°}列¡B動態°O憶Åé°t置¡B前置³B理器¡B結構Åé»P¦Ûq¸ê料型態¡B到檔案¿é出入等¡A不於 APCS 檢測範圍¡A更為未來¾Q¸ô¡C ¡i¶W圖¸ÑÆ[念¸Ñ»¡¡j¡G程式³]p抽¶H概念往往是初學ªÌ卡Ãö主因¡A本書作ªÌ¿Ë手繪»s數百張圖¸Ñ以及流程圖具像呈現程式³]p抽¶HÆ[念¡A易Ū又好理¸Ñ¡C ¡i線上¶}發環境¡j¡G學習程式³]p就是n動手練習¡A本書採用線上¶}發環境¡A不»Ý安¸Ë³nÅé¡A只n打¶}瀏Äý器¡A就可以¶}始動手寫程式¡A甚¦Ü在手機¡B平板上³£沒問ÃD¡C 在 APCS 檢定的準備上¡A則是採取以下策略¡G ¡i從思維ÅÞ¿è¸ÑÃD¡j¡GµÛ«¸Ñ決問ÃD的思維ÅÞ¿è¡A帶你用紙筆¸Ñ析問ÃD¡A思¦Ò¸Ñ法¡C ¡i單一程式»y¨¥¡j¡GAPCS 的Æ[念ÃD以 C »y¨¥出ÃD¡A學 C »y¨¥無可Á×免¡A本書實作ÃD也採用 C »y¨¥¡A只n專心學習單一»y¨¥¡A不»Ýn同時學習兩種»y¨¥¡A以免¯Ó時又容易混淆Æ[念¡C ¡i¸ê料結構»P演算法¡j¡G帶你思¦Ò如何善用¸ê料儲存方法或是執¦æ步ÆJ¡AÅý程式更簡潔¡B更有效率¡C涵»\堆疊¡B佇列¡BÃì節串列¡B樹狀結構¡B圖形等基本¸ê料結構¡A以及排序¡B動態³W劃¡B回溯¡BÂø湊等ÃöÁä演算法¡C 本書不定在 APCS 的範疇¡A也為未來往³nÅé工程師做準備¡A包含以下延伸內容¡G ¡i業界³nÅé工具¡j¡Ggcc 編Ķ指令¡Bmake 專案建置¡Bgdb °£¿ù程式等實務³nÅé工作現場必備的工具¡A為未來¶i入¾場做好準備¡C ¡i¶i¶¥程式主ÃD¡j¡G檔案¿é出入¡B動態°O憶Åé°t置¡B模組化程式³]p¡B文字編碼等¡C另外¡A本書也提供有 C++ ªþ¿ý¡A對於想n¶i一步瞭¸Ñ C++ 的ŪªÌ¡A快³t介紹 C++ »P C 的差異¡A並且°w對最核心的物件導向概念¡A做了深入淺出的介紹¡C 本書特¦â: 從基本»y法¡B函式¡B°}列¡B»¼°j¡B指標»P多維°}列¡B動態°O憶Åé°t置¡B前置³B理器¡B結構Åé»P¦Ûq¸ê料型態¡B到檔案¿é出入¡A完整打好基礎 線上編Ķ環境¡A¶}瀏Äý器就可立即練習 APCS Æ[念ÃD實戰演練¡AÅçÃÒ學習成效 APCS 實作模擬ÃD¸Ñ析¡A熟練思¦ÒÅÞ¿è ○/✗對照示範¡A建立程式正確Æ[念 用流程圖»²助¡A具像理¸Ñ程式ÅÞ¿è 涵»\Ãì結串列¡B樹狀結構¡B圖形¡B堆疊¡B佇列等基本¸ê料結構 涵»\搜尋¡B排序¡B動態³W劃¡B回溯法¡BÂø湊等ÃöÁä演算法 包含 C++ 簡介ªþ¿ý¡A提供¶i一步探索 C++ 的敲ªù磚 gcc¡Bmake¡Bgdb 等¶}發工具簡介¡A¸ó入³nÅé¶}發專業»â域
²Ä 1 ³¹ »{ÃÑ C »y¨¥¡B¸ê®Æµ²ºc©Mºtºâªk 1-1 »{ÃÑ C µ{¦¡»y¨¥ 1-2 C »y¨¥ªº°ò¥»µ²ºc©M°õ¦æ¬yµ{ 1-3 ¹q¸£»y¨¥Â½Ä¶¾÷¡G½s;¹©Mª½Ä¶¾¹ 1-4 ¸ê®Æµ²ºc©Mºtºâªk | APCS Æ[©ÀÃD½m²ß ²Ä 2 ³¹ ¼Æ¾Ç¹Bºâ¤l¡BÅܼƻP¸ê®Æ«¬ºA 2-1 ¹Bºâ¤l¡BÅܼƩM±`¼Æ 2-2 ¹Bºâ¦¡ | APCS Æ[©ÀÃD½m²ß 2-3 ¾ã¼Æ©M¯BÂI¼Æ¸ê®Æ«¬ºA | APCS Æ[©ÀÃD½m²ß 2-4 printf()¡G¦X¨Ö¦r¦ê©M¸ê®Æ 2-5 ¾ã²zµ{¦¡ºtºâ«äºüªº¦nÀ°¤â¡GµêÀÀ½X©M¬yµ{¹Ï | APCS Æ[©ÀÃD½m²ß ²Ä 3 ³¹ ¦r¦ê¡B¦r¤¸½s½X»P¦Ûq¨ç¦¡ 3-1 ½T»{¸ê®Æ«¬ºA¤j¤p¥H¤Îª`·N¨Æ¶µ 3-2 ¦r¤¸»P¦r¦ê¸ê®Æ«¬ºA | APCS Æ[©ÀÃD½m²ß 3-3 «Ø¥ß¦Ûq¨ç¦¡ 3-4 ÅܼƪºÀx¦sµ¥¯Å¡B¦³®Ä½d³ò©M¥Í©R¶g´Á | APCS Æ[©ÀÃD½m²ß ²Ä 4 ³¹ ¬yµ{±±¨î¡G¿ï¾Ü (selection) »P°j°é (iteration) ±Ôz 4-1 Ū¨úÁä½L¿é¤J¸ê®Æªº scanf() ¨ç¦¡ 4-2 §ïÅܵ{¦¡¬yµ{ªº if ±ø¥ó¦¡ 4-3 ±ø¥ó¹Bºâ¤l | APCS Æ[©ÀÃD½m²ß 4-4 switch¡Kcase ±±¨îµ²ºc 4-5 §V¤O¤£¾Óªº°j°é 4-6 ¨Ï¥ÎÁÓÂà¬Û°£ªk¨D³Ì¤j¤½¦]¼Æ 4-7 continue ©M break «ü¥O | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD Áʪ«¨®¡]°ï¿n¤ì¡^ ²Ä 5 ³¹ ±Æ¦C»PÀH¾÷ 5-1 ¤º®e¤£¥i§ïÅܪº¡u±`¼Æ¡v 5-2 ²£¥ÍÀH¾÷¼Æ¦r 5-3 ±Æ¦C¹Ï®× 5-4 ±`¥Îªº¼Æ¾Ç¨ç¦¡ 5-5 §PÂ_¬Y¼Æ¦r¬O§_¬°¡uªü©i´µ§§¼Æ¡v | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ¿ë§O¤T¨¤§Î ²Ä 6 ³¹ °}¦C»P¦r¦ê 6-1 °ò¥»¸ê®Æµ²ºc¡G°}¦C 6-2 ³B²z¦r¦ê¸ê®Æ 6-3 ¤å¦r¦ì²¾¥[±K¡]shift cipher¡^ 6-4 §R°£¦r¦ê¸ÌªºªÅ¥Õ¦r¤¸ 6-5 ¹B¥Î string.h ¨ç¦¡®w³B²z¦r¦ê 6-6 ¨Ï¥Î strtok() ¨ç¦¡¤Á³Î¡BÂ^¨ú¤l¦r¦ê 6-7 ÀË´ú°j¤å¥y¤l¥H¤ÎÅܼƪº¦³®Ä½d³ò 6-8 pºâ¤j¼Æ¾Ú | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ׸ɳòÆX (¹Ø¥q«÷½L) | APCS ¹ê§@ÃD ²q®±¹CÀ¸¡]¥ÒÂΪ§ÅQ¾Ô¡^ ²Ä 7 ³¹ »¼°j©M°ïÅ| 7-1 »¼°j¡G¨ç¦¡©I¥s¦Û¤v 7-2 »{ÃÑ¡u°ïÅ|¡v°O¾ÐÅé°Ï°ì©M¸ê®Æµ²ºc 7-3 §Q¥Î pythontutor.com Æ[¹îµ{¦¡¹B§@ª¬ªp 7-4 ªe¤º¶ð°ÝÃD | APCS Æ[©ÀÃD½m²ß ²Ä 8 ³¹ «ü¼Ð»P¦hºû°}¦C 8-1 ¨ú§}¹Bºâ¤l»P«ü¼Ð¹Bºâ¤l 8-2 «ü¼Ð»P¥[´î¹Bºâ 8-3 ¤Gºû°}¦C¡Gªí®æ¦¡¸ê®Æ 8-4 ¥Î¤Gºû°}¦CÀx¦s¦hµ§¦r¦ê¸ê®Æ 8-5 ©¬´µ¥d¤T¨¤§Î©M¤G¶µ¦¡«Y¼Æ | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ¯x°}Á`©M ²Ä 9 ³¹ «e¸m³B²z¾¹¡B¼ÐÀYÀÉ»Pµ{¦¡¼Ò²Õ 9-1 ¥~³¡ C µ{¦¡ÀÉ 9-2 «e¸m³B²z«ü¥O»P¼ÐÀYÀÉ 9-3 ¦A½Í extern¡]¥~³¡¡^»P static¡]ÀRºA¡^Àx¦sµ¥¯Å 9-4 #define¡G©w¸q¥¨¶° 9-5 ±ø¥ó½sĶ | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ¯x°}Âà¸m ²Ä 10 ³¹ ¦Ûq¸ê®Æ«¬ºA 10-1 ¦CÁ|«¬ºA enum 10-2 µ²ºcÅé¡]struct¡^ 10-3 µ²ºcÅé°}¦C 10-4 ¦b¨ç¦¡¤¤¨Ï¥Îµ²ºcÅé 10-5 Åý°O¾ÐÅéªÅ¶¡µØÄRÂਪº union ¦Ûq«¬ºA 10-6 ¦ì¤¸Äæ¦ì¡]bit-field¡^»P¦ì¤¸¸ê®Æ¾Þ§@ 10-7 ¦ì¤¸¹Bºâ¤l¡]bitwise operator¡^»P¦ì²¾¹Bºâ 10-8 ¤¬¥¸©Î¡]XOR¡^¥[±K©M¸Ñ±K | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ÅÞ¿è¹Bºâ¤l ²Ä 11 ³¹ ºtºâªk¡B¸ê®Æ±Æ§Ç©M·j´M 11-1 ´ú¶q°õ¦æµ{¦¡ªºªá¶O®É¶¡ 11-2 µû¦ôºtºâªk®Ä²v©M¤j O ²Å¸¹ 11-3 ¸ê®Æ±Æ§Ç 11-4 ®ðªw±Æ§Çì²z»P¹ê§@ 11-5 §Ö³t±Æ§Çì²z»P¹ê§@ 11-6 ¨D¨ú¤¤¦ì¼Æ 11-7 ¤G¤À·j´Mªk | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ÁʶR¤Opºâ | APCS ¹ê§@ÃD ¦¨ÁZ«ü¼Ð | APCS ¹ê§@ÃD ½u¬qÂл\ªø«× | APCS ¹ê§@ÃD °ò¦a¥xÂл\°ÝÃD ²Ä 12 ³¹ °ÊºA°t¸m°O¾ÐÅé»PÃì±µ¦ê¦C¸ê®Æµ²ºc 12-1 °ÊºA°t¸m°O¾ÐÅé 12-2 ¨ç¦¡¤¤ªºÂù««ü¼Ð°Ñ¼Æ 12-3 Ãìµ²¦ê¦C¸ê®Æµ²ºc 12-4 ¨Ï¥Î°Ï°ìÅܼƫü¦V¦ê¦Cªº¶}ÀY 12-5 ¦b¦ê¦Cªºµ²§À·s¼W¸`ÂI 12-6 ·j´MÃì±µ¦ê¦Cªº¤º®e 12-7 §R°£¸`ÂI | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ©w®É K ¼u¡]¬ù·æ¤Ò°ÝÃD¡^ ²Ä 13 ³¹ ¾ðª¬µ²ºc 13-1 ¾ðª¬µ²ºc | APCS ¹ê§@ÃD ¾ðª¬¹Ï¤ÀªR 13-2 ¤G¤¸¾ð»P¥¿Å¤G¤¸¾ð 13-3 ¨Ï¥ÎÃì±µ¦ê¦C«Ø¥ß¤G¤¸¾ð 13-4 ¨«³X»P·j´M¤G¤¸¾ðªº¸`ÂI¸ê®Æ 13-5 ·s¼W¤G¤¸¾ðªº¸`ÂI 13-6 §R°£¸`ÂI | APCS Æ[©ÀÃD½m²ß | APCS ¹ê§@ÃD ¦Û°Ê¤À¸Ë¡]®È¦æ¹Î¹Îû¤À°t¡^ ²Ä 14 ³¹ ¹Ï§Î¡B¦î¦C¡B³Ìªø¶ZÂ÷»P³Ìµu¸ô®| 14-1 ¹Ï§Îµ²ºc 14-2 ²`«×Àu¥ý¡]DFS¡^»P¼s«×Àu¥ý¡]BFS¡^¨«³X 14-3 ¦î¦C¡]queue¡^»P¼s«×Àu¥ý¡]BFS¡^¨«³X 14-4 ¥Î°}¦C¹ê§@¦î¦C 14-5 ¼s«×Àu¥ý¨«³X¡]BFS¡^µ{¦¡¹ê§@ | APCS ¹ê§@ÃD ³Ìªø¸ô®|¡]¦å½tÃö«Y¡^ 14-6 pºâ³Ìµu¸ô®|¡GDijkstra¡]À¹§J´µ¯S©Ô¡^ºtºâªk | APCS ¹ê§@ÃD ¾÷¾¹¤H²¾°Ê¸ô®| ²Ä 15 ³¹ °ÊºA³W¹º 15-1 pºâ¶O¦¡¼Æ¦C 15-2 I¥]°ÝÃD 15-3 §ä¹s©Ò»Ýªº³Ì¤Öµw¹ô¼Æ¶q 15-4 ³Ìªø¦@¦P¤l§Ç¦C | APCS ¹ê§@ÃD ¸mª«Âd¡]ªO¹¹¡^¥X¯² | APCS ¹ê§@ÃD «iªÌ×½m ²Ä 16 ³¹ ¦^·¹ªk»PÂø´êªí 16-1 ¨«¥X°g®c 16-2 N ¬Ó¦Z°ÝÃD | APCS ¹ê§@ÃD ¬üÄR±m±a¡]§¹¬ü§Ç¦C¡^ 16-3 ¥iÀ£ÁYÀx¦sªÅ¶¡ªº¡uÂø´êªí¡]Hash Table¡^¡v 16-4 ¨ã³Æ¸I¼²³B²z¾÷¨îªºÂø´ê¨ç¦¡ | APCS ¹ê§@ÃD §¹¬ü§Ç¦C¡]Âø´êª©¡^ ªþ¿ý A µ{¦¡¶}µo¤u¨ã¡BGCC ¥H¤Î Makefile ½sĶ©R¥OÀÉ A-1 ¦w¸Ë Code::Blocks µ{¦¡¶}µo¤u¨ã A-2 ¤â°Ê½sĶ C µ{¦¡ A-3 ¨ä¥L gcc ©R¥O¿ï¶µ¥H¤Î gdb °£¿ù¤u¨ã A-4 «Ê¸Ë¨ç¦¡®w¥H¤ÎÀRºA³sµ²¨ç¦¡®w A-5 ±Ä¥Î makefile Àɽs͵{¦¡ A-6 ¦b Mac ¹q¸£¤W¦w¸Ë»P³]¸m C µ{¦¡¶}µo¤u¨ã ªþ¿ý B Ū¼gÀÉ®× B-1 ¤å¦rÀÉ©M¤G¶i¦ìÀÉ B-2 ¾Þ§@Àɮתº¨ç¦¡ B-3 Ū¨ú¤å¦rÀÉ B-4 ¼g¤J¤å¦rÀÉ B-5 ±Ä¥Î "w+" Ū¼g»P "r+" ¼gŪ¼Ò¦¡¶}±ÒÀÉ®× B-6 ¦b¤å¦rÀɮפ¤·s¼W¤å¦r B-7 ¥H¤G¶i¦ì§Î¦¡Åª¼gÀÉ®× B-8 ³B²z¦h°ê»y¨t¦r¦ê¡Gwchar_t «¬ºA¥H¤Î»y¨¥Àô¹Ò³]©w ªþ¿ý C C++ C-1 ³B²z¼Ð·Ç¿é¥X¢A¿é¤J¸ê®Æ¬y¥H¤Î©R¦WªÅ¶¡ C-2 ª«¥ó¾É¦Vµ{¦¡³]p¡]OOP¡^»P string ¦r¦êª«¥ó C-3 ¨ç¦¡Ã±¦W¡B¦h¸ü¥H¤Î¹w³]°Ñ¼ÆÈ C-4 ¼Ð·Ç¼ËªOµ{¦¡®w¡]STL¡^ ¯Á¤Þ
Code Revie
³Ì·spºâ¾÷·§½×(²Ä¤Q
NotebookLM
¤£À´µ{¦¡¤]¯à¦Û¬[±MÄÝ
¤@¾Ç´N·|ªº AI ¼v
Python×¥P¤§¸ô
³Ì·sLINE©x¤è±b¸¹
MCP¶}µo¥þ§ð²¤¡G¥´
Canva¹s°ò¦¤Jªù
¥\²v¥b¾ÉÅ餸¥ó
¬°¤F«O»Ù±zªºÅv¯q¡A·sµ·¸ôºô¸ô®Ñ©±©ÒÁʶRªº°Ó«~§¡¨É¦³¨ì³f¤C¤ÑªºÅ²½à´Á¡]§t¨Ò°²¤é¡^¡C°h¦^¤§°Ó«~¥²¶·©óŲ½à´Á¤º±H¦^¡]¥H¶lÂW©Î¦¬°õÁp¬°¾Ì¡^¡A¥B°Ó«~¥²¶·¬O¥þ·sª¬ºA»P§¹¾ã¥]¸Ë(°Ó«~¡Bªþ¥ó¡B¤º¥~¥]¸Ë¡BÀH³f¤å¥ó¡BÃØ«~µ¥)¡A§_«h®¤¤£±µ¨ü°h³f¡C