商品編號:DJAA2V-A900FRDO7

超圖解 C 語言:用資料結構×演算法突破 APCS

$616
$780
折價券
  • P幣

    全盈+PAY單筆消費滿1200回饋80P幣(限量)

  • 登記送

    【全家】單筆滿$350純取貨/取貨付款訂單登記送日式稻荷壽司兌換券乙張(限量)

付款方式
出貨
  • PChome 倉庫出貨,24小時到貨
配送
宅配滿$490免運,超取滿$350免運
  • 宅配到府(本島/低溫)
    滿$699免運
  • 宅配到府(本島/常溫)
    滿$490免運
  • 超商取貨(常溫)
    滿$350免運
  • 超商取貨(低溫)
    滿$699免運
  • i郵箱(常溫)
    滿$290免運

商品評價

5.0
共 1 則評價
5.0
100%
4.0
0%
3.0
0%
2.0
0%
1.0
0%
最相關
*能*
2024/09/21
商品詳情
作者:
ISBN:
9789863127291
出版社:
出版日期:
2022/11/25
  • 內文簡介

  • <內容簡介>

    //不只考檢測、更鍛鍊未來程式力//

    本書是專為有志往資訊科系發展的讀者所設計,具有以下幾項特色:

    □ 【紮實基礎教學】:全面涵蓋 C 語言各項主題,沒學過程式設計也可從本書開始入門。主題涵蓋基本語法、函式、陣列、遞迴、指標與多維陣列、動態記憶體配置、前置處理器、結構體與自訂資料型態、到檔案輸出入等,不限於 APCS 檢測範圍,更為未來鋪路。

    □ 【超圖解觀念解說】:程式設計抽象概念往往是初學者卡關主因,本書作者親手繪製數百張圖解以及流程圖具像呈現程式設計抽象觀念,易讀又好理解。

    □ 【線上開發環境】:學習程式設計就是要動手練習,本書採用線上開發環境,不需安裝軟體,只要打開瀏覽器,就可以開始動手寫程式,甚至在手機、平板上都沒問題。

    在 APCS 檢定的準備上,則是採取以下策略:

    □ 【從思維邏輯解題】:著重解決問題的思維邏輯,帶你用紙筆解析問題,思考解法。

    □ 【單一程式語言】:APCS 的觀念題以 C 語言出題,學 C 語言無可避免,本書實作題也採用 C 語言,只要專心學習單一語言,不需要同時學習兩種語言,以免耗時又容易混淆觀念。

    □ 【資料結構與演算法】:帶你思考如何善用資料儲存方法或是執行步驟,讓程式更簡潔、更有效率。涵蓋堆疊、佇列、鏈節串列、樹狀結構、圖形等基本資料結構,以及排序、動態規劃、回溯、雜湊等關鍵演算法。

    本書不限定在 APCS 的範疇,也為未來往軟體工程師做準備,包含以下延伸內容:

    □ 【業界軟體工具】:gcc 編譯指令、make 專案建置、gdb 除錯程式等實務軟體工作現場必備的工具,為未來進入職場做好準備。

    □ 【進階程式主題】:檔案輸出入、動態記憶體配置、模組化程式設計、文字編碼等。另外,本書也提供有 C++ 附錄,對於想要進一步瞭解 C++ 的讀者,快速介紹 C++ 與 C 的差異,並且針對最核心的物件導向概念,做了深入淺出的介紹。


    ★本書特色:

    □ 從基本語法、函式、陣列、遞迴、指標與多維陣列、動態記憶體配置、前置處理器、結構體與自訂資料型態、到檔案輸出入,完整打好基礎
    □ 線上編譯環境,開瀏覽器就可立即練習
    □ APCS 觀念題實戰演練,驗證學習成效
    □ APCS 實作模擬題解析,熟練思考邏輯
    □ ○/✗對照示範,建立程式正確觀念
    □ 用流程圖輔助,具像理解程式邏輯
    □ 涵蓋鏈結串列、樹狀結構、圖形、堆疊、佇列等基本資料結構
    □ 涵蓋搜尋、排序、動態規劃、回溯法、雜湊等關鍵演算法
    □ 包含 C++ 簡介附錄,提供進一步探索 C++ 的敲門磚
    □ gcc、make、gdb 等開發工具簡介,跨入軟體開發專業領域


    ★目錄:

    第 1 章 認識 C 語言、資料結構和演算法
    1-1 認識 C 程式語言
    1-2 C 語言的基本結構和執行流程
    1-3 電腦語言翻譯機:編譯器和直譯器
    1-4 資料結構和演算法
    | APCS 觀念題練習

    第 2 章 數學運算子、變數與資料型態
    2-1 運算子、變數和常數
    2-2 運算式
    | APCS 觀念題練習
    2-3 整數和浮點數資料型態
    | APCS 觀念題練習
    2-4 printf():合併字串和資料
    2-5 整理程式演算思緒的好幫手:虛擬碼和流程圖
    | APCS 觀念題練習

    第 3 章 字串、字元編碼與自訂函式
    3-1 確認資料型態大小以及注意事項
    3-2 字元與字串資料型態
    | APCS 觀念題練習
    3-3 建立自訂函式
    3-4 變數的儲存等級、有效範圍和生命週期
    | APCS 觀念題練習

    第 4 章 流程控制:選擇 (selection) 與迴圈 (iteration) 敘述
    4-1 讀取鍵盤輸入資料的 scanf() 函式
    4-2 改變程式流程的 if 條件式
    4-3 條件運算子
    | APCS 觀念題練習
    4-4 switch…case 控制結構
    4-5 努力不懈的迴圈
    4-6 使用輾轉相除法求最大公因數
    4-7 continue 和 break 指令
    | APCS 觀念題練習
    | APCS 實作題 購物車(堆積木)

    第 5 章 排列與隨機
    5-1 內容不可改變的「常數」
    5-2 產生隨機數字
    5-3 排列圖案
    5-4 常用的數學函式
    5-5 判斷某數字是否為「阿姆斯壯數」
    | APCS 觀念題練習
    | APCS 實作題 辨別三角形

    第 6 章 陣列與字串
    6-1 基本資料結構:陣列
    6-2 處理字串資料
    6-3 文字位移加密(shift cipher)
    6-4 刪除字串裡的空白字元
    6-5 運用 string.h 函式庫處理字串
    6-6 使用 strtok() 函式切割、擷取子字串
    6-7 檢測迴文句子以及變數的有效範圍
    6-8 計算大數據
    | APCS 觀念題練習
    | APCS 實作題 修補圍籬 (壽司拼盤)
    | APCS 實作題 猜拳遊戲(甲蟲爭霸戰)
    第 7 章 遞迴和堆疊
    7-1 遞迴:函式呼叫自己
    7-2 認識「堆疊」記憶體區域和資料結構
    7-3 利用 pythontutor.com 觀察程式運作狀況
    7-4 河內塔問題
    | APCS 觀念題練習

    第 8 章 指標與多維陣列
    8-1 取址運算子與指標運算子
    8-2 指標與加減運算
    8-3 二維陣列:表格式資料
    8-4 用二維陣列儲存多筆字串資料
    8-5 帕斯卡三角形和二項式係數
    | APCS 觀念題練習
    | APCS 實作題 矩陣總和

    第 9 章 前置處理器、標頭檔與程式模組
    9-1 外部 C 程式檔
    9-2 前置處理指令與標頭檔
    9-3 再談 extern(外部)與 static(靜態)儲存等級
    9-4 #define:定義巨集
    9-5 條件編譯
    | APCS 觀念題練習
    | APCS 實作題 矩陣轉置
    第 10 章 自訂資料型態
    10-1 列舉型態 enum
    10-2 結構體(struct)
    10-3 結構體陣列
    10-4 在函式中使用結構體
    10-5 讓記憶體空間華麗轉身的 union 自訂型態
    10-6 位元欄位(bit-field)與位元資料操作
    10-7 位元運算子(bitwise operator)與位移運算
    10-8 互斥或(XOR)加密和解密
    | APCS 觀念題練習
    | APCS 實作題 邏輯運算子

    第 11 章 演算法、資料排序和搜尋
    11-1 測量執行程式的花費時間
    11-2 評估演算法效率和大 O 符號
    11-3 資料排序
    11-4 氣泡排序原理與實作
    11-5 快速排序原理與實作
    11-6 求取中位數
    11-7 二分搜尋法
    | APCS 觀念題練習
    | APCS 實作題 購買力計算
    | APCS 實作題 成績指標
    | APCS 實作題 線段覆蓋長度
    | APCS 實作題 基地台覆蓋問題

    第 12 章 動態配置記憶體與鏈接串列資料結構
    12-1 動態配置記憶體
    12-2 函式中的雙重指標參數
    12-3 鏈結串列資料結構
    12-4 使用區域變數指向串列的開頭
    12-5 在串列的結尾新增節點
    12-6 搜尋鏈接串列的內容
    12-7 刪除節點
    | APCS 觀念題練習
    | APCS 實作題 定時 K 彈(約瑟夫問題)

    第 13 章 樹狀結構
    13-1 樹狀結構
    | APCS 實作題 樹狀圖分析
    13-2 二元樹與平衡二元樹
    13-3 使用鏈接串列建立二元樹
    13-4 走訪與搜尋二元樹的節點資料
    13-5 新增二元樹的節點
    13-6 刪除節點
    | APCS 觀念題練習
    | APCS 實作題 自動分裝(旅行團團員分配)

    第 14 章 圖形、佇列、最長距離與最短路徑
    14-1 圖形結構
    14-2 深度優先(DFS)與廣度優先(BFS)走訪
    14-3 佇列(queue)與廣度優先(BFS)走訪
    14-4 用陣列實作佇列
    14-5 廣度優先走訪(BFS)程式實作
    | APCS 實作題 最長路徑(血緣關係)
    14-6 計算最短路徑:Dijkstra(戴克斯特拉)演算法
    | APCS 實作題 機器人移動路徑
    第 15 章 動態規劃
    15-1 計算費式數列
    15-2 背包問題
    15-3 找零所需的最少硬幣數量
    15-4 最長共同子序列
    | APCS 實作題 置物櫃(板凳)出租
    | APCS 實作題 勇者修練

    第 16 章 回溯法與雜湊表
    16-1 走出迷宮
    16-2 N 皇后問題
    | APCS 實作題 美麗彩帶(完美序列)
    16-3 可壓縮儲存空間的「雜湊表(Hash Table)」
    16-4 具備碰撞處理機制的雜湊函式
    | APCS 實作題 完美序列(雜湊版)

    附錄 A 程式開發工具、GCC 以及 Makefile 編譯命令檔
    A-1 安裝 Code::Blocks 程式開發工具
    A-2 手動編譯 C 程式
    A-3 其他 gcc 命令選項以及 gdb 除錯工具
    A-4 封裝函式庫以及靜態連結函式庫
    A-5 採用 makefile 檔編譯程式
    A-6 在 Mac 電腦上安裝與設置 C 程式開發工具

    附錄 B 讀寫檔案
    B-1 文字檔和二進位檔
    B-2 操作檔案的函式
    B-3 讀取文字檔
    B-4 寫入文字檔
    B-5 採用 "w+" 讀寫與 "r+" 寫讀模式開啟檔案
    B-6 在文字檔案中新增文字
    B-7 以二進位形式讀寫檔案
    B-8 處理多國語系字串:wchar_t 型態以及語言環境設定

    附錄 C C++
    C-1 處理標準輸出∕輸入資料流以及命名空間
    C-2 物件導向程式設計(OOP)與 string 字串物件
    C-3 函式簽名、多載以及預設參數值
    C-4 標準樣板程式庫(STL)

    索引
購物須知
寄送時間
全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明
送貨方式
透過宅配送達。除網頁另有特別標示外,均為常溫配送。
消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。
送貨範圍
限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。
註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。
售後服務
缺掉頁更換新品
執照證號&登錄字號
本公司食品業者登錄字號A-116606102-00000-0
關於退貨
  • PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
  • 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
    1. 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
    2. 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
    3. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
    4. 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
  • 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內檢視您的退貨要求,檢視完畢後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5個工作天內透過電話與您連絡前往取回退貨商品。請您保持電話暢通,並備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
  • 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
  • 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
  • 本公司收到您所提出的申請後,若經確認無誤,將依消費者保護法之相關規定,返還您已支付之對價(含信用卡交易),退款日當天會再發送E-mail通知函給您。