0人評分過此書

由片語學習C程式設計(第二版)

出版日期
2019
閱讀格式
PDF
書籍分類
學科分類
ISBN
9789863503576

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
本書主要針對高中與大學開始接觸程式設計的初學者,及想學好程式設計的讀者所設計。書中文字敘述力求淺顯簡潔,並以大量範例、片語、學習要點、風格要點等方式,逐步引導初學者進入程式設計的領域。

二版新增C99語法,如bool類別、顯示位元數整數類別、放寬變數宣告位置、stddef的offsetof及stdlib的二分搜尋bsearch等重點介紹。以更多完整範例、相關圖示說明複雜的觀念與方法,同時強化各範例間的關聯性,讓讀者能從中反覆練習、更瞭解所學之實際應用。

本書特色
1.以片語為主,依據慣用寫法來引導初學者進入C語言程式設計。
2.透過「學習要點」、「風格要點」、「特殊字元」等設計,隨時提醒讀者各項學習重點,以提升學習效率。
3.本書搭配專屬網站(https://sites.google.com/view/c-programming-with-idioms-2ed/home),提供各章練習題、作業、教學投影片,並隨時更新相關補充資料、程式碼等資訊。
  • 前言
  • 二版前言
  • 關於「批改娘」
  • 1 程式設計
    • 1.1 程式
      • 1.1.1 高階語言
      • 1.1.2 編譯器
    • 1.2 設計
      • 1.2.1 流程圖
      • 1.2.2 編輯
      • 1.2.3 編譯
      • 1.2.4 執行
    • 1.3 程式批改系統
      • 1.3.1 台大資訊系批改娘系統
      • 1.3.2 批改娘的誕生
  • 2 基本程式架構
    • 2.1 程式骨架
    • 2.2 變數
      • 2.2.1 變數宣告(variable declaration)
      • 2.2.2 變數設初始值
      • 2.2.3 多變數宣告
    • 2.3 輸出
      • 2.3.1 輸出一整數
      • 2.3.2 輸出換行
    • 2.4 輸入
  • 3 運算
    • 3.1 指定
      • 3.1.1 交換變數值
      • 3.1.2 指定敘述算式
    • 3.2 算術運算
      • 3.2.1 加減運算
      • 3.2.2 乘除運算
      • 3.2.3 負數運算
      • 3.2.4 調整變數值
      • 3.2.5 算數運算順序
    • 3.3 整數的範圍
    • 3.4 比較運算
      • 3.4.1 bool類別
      • 3.4.2 重根
    • 3.5 邏輯運算
      • 3.5.1 運算順序及結果
      • 3.5.2 整數當邏輯運算結果
      • 3.5.3 閏年判斷
      • 3.5.4 三角形邊長判斷
      • 3.5.5 快捷運算
  • 4 判斷
    • 4.1 if 判斷
      • 4.1.1 if then
      • 4.1.2 if then else
      • 4.1.3 if then else if
    • 4.2 判斷式值
      • 4.2.1 絕對值
      • 4.2.2 三者最大值
      • 4.2.3 面積周長
    • 4.3 switch判斷
      • 4.3.1 計算次方
      • 4.3.2 計算天數
      • 4.3.3 算數運算
      • 4.3.4 比較運算
  • 5 迴圈
    • 5.1 while迴圈
      • 5.1.1 複合敘述的while迴圈
    • 5.2 for迴圈
      • 5.2.1 固定次數的for迴圈
      • 5.2.2 質數判斷
      • 5.2.3 複合敘述的for迴圈
    • 5.3 do while迴圈
      • 5.3.1 使用複合敘述的do while迴圈
    • 5.4 使用break結束迴圈
    • 5.5 使用continue繼續迴圈
    • 5.6 多重迴圈
    • 5.7 迴圈範例
      • 5.7.1 長除法模擬
      • 5.7.2 檢查11的倍數
  • 6 陣列
    • 6.1 屬性
    • 6.2 一維陣列
      • 6.2.1 用法
      • 6.2.2 記憶體配置
      • 6.2.3 初始化
    • 6.3 多維陣列
      • 6.3.1 用法
      • 6.3.2 記憶體配置
      • 6.3.3 初始化
      • 6.3.4 初始化範例
  • 7 浮點數
    • 7.1 宣告
    • 7.2 輸出與輸入
    • 7.3 類別轉換
      • 7.3.1 轉型
    • 7.4 計算
      • 7.4.1 float計算級數
      • 7.4.2 double計算級數
      • 7.4.3 不直接算階乘
  • 8 函式
    • 8.1 呼叫函式
      • 8.1.1 標頭檔
      • 8.1.2 函式原型
      • 8.1.3 檢查函式回傳值
      • 8.1.4 程式庫
    • 8.2 定義有回傳值的函式
      • 8.2.1 return
      • 8.2.2 main
      • 8.2.3 決定閏年函式
    • 8.3 定義無回傳值的函式
      • 8.3.1 將各位數印在不同行
    • 8.4 多個參數的函式
      • 8.4.1 計算天數
      • 8.4.2 印出連續整數
      • 8.4.3 算式判斷
      • 8.4.4 比較判斷
    • 8.5 不定個數參數
      • 8.5.1 多變數輸出入
      • 8.5.2 printf
      • 8.5.3 scanf
    • 8.6 參數傳遞
      • 8.6.1 變數參數傳遞
      • 8.6.2 陣列參數傳遞
      • 8.6.3 多維陣列參數
    • 8.7 函式的優點
  • 9 指標
    • 9.1 用法
      • 9.1.1 宣告
      • 9.1.2 指定
      • 9.1.3 取值
      • 9.1.4 NULL
      • 9.1.5 綜合說明
      • 9.1.6 取位址
    • 9.2 指標參數傳遞
      • 9.2.1 藉由指標交換變數值
      • 9.2.2 藉由指標改變變數值
    • 9.3 指標與陣列
      • 9.3.1 陣列語法
      • 9.3.2 指標算術
      • 9.3.3 多維陣列指標
    • 9.4 回傳值
    • 9.5 用途與限制
      • 9.5.1 用途
      • 9.5.2 限制
  • 10 字元
    • 10.1 宣告
    • 10.2 輸出
      • 10.2.1 印出ASCII碼
    • 10.3 字元常數
      • 10.3.1 字元常數操作
      • 10.3.2 ASCII值操作
      • 10.3.3 整數值操作
    • 10.4 輸入
    • 10.5 常用函式
      • 10.5.1 字元分類函式
      • 10.5.2 字元轉換函式
  • 11 字串
    • 11.1 宣告
    • 11.2 輸出
    • 11.3 字串常數
      • 11.3.1 用字串常數初始化
      • 11.3.2 空字串
    • 11.4 輸入
    • 11.5 字元指標
      • 11.5.1 記憶體大小
    • 11.6 字串函式
      • 11.6.1 strlen
      • 11.6.2 strcpy、strcat
      • 11.6.3 strncpy、strncat
      • 11.6.4 strcmp、strncmp
      • 11.6.5 strchr、strrchr、strstr
      • 11.6.6 strspn、strcspn
      • 11.6.7 strtok
    • 11.7 簡易BASIC直譯器
      • 11.7.1 BASIC
      • 11.7.2 函式說明
      • 11.7.3 readVariable
      • 11.7.4 processCode
      • 11.7.5 runCode
      • 11.7.6 用BASIC求質數的程式
  • 12 宣告修飾
    • 12.1 short、long及longlong
      • 12.1.1 位元組數
      • 12.1.2 輸出格式
      • 12.1.3 溢位
    • 12.2 signed及unsigned
    • 12.3 C99
      • 12.3.1 C99有號整數
      • 12.3.2 C99無號整數
      • 12.3.3 溢位
    • 12.4 const
      • 12.4.1 const參數
      • 12.4.2 const陣列
      • 12.4.3 const指標
    • 12.5 static
  • 13 位元運算
    • 13.1 位元且
      • 13.1.1 用位元且檢查位元
    • 13.2 位元或
      • 13.2.1 用位元或設定位元
    • 13.3 位元互補
      • 13.3.1 用位元互補取消位元
    • 13.4 位元互斥或
      • 13.4.1 用位元互斥或交換值
    • 13.5 移位
      • 13.5.1 數字移位
      • 13.5.2 測試位元
      • 13.5.3 1位元數目排序
  • 14 結構
    • 14.1 定義
      • 14.1.1 宣告類別
      • 14.1.2 結構大小
    • 14.2 初始化
    • 14.3 欄位
      • 14.3.1 存取
      • 14.3.2 記憶體位址
      • 14.3.3 指定
    • 14.4 結構指標
      • 14.4.1 ->取欄位
    • 14.5 參數傳遞
      • 14.5.1 複數範例
      • 14.5.2 指標傳遞
    • 14.6 typedef
    • 14.7 結構標頭檔
      • 14.7.1 複數
      • 14.7.2 日期
      • 14.7.3 學生
      • 14.7.4 1的個數
    • 14.8 簡易BASIC直譯器
      • 14.8.1 使用struct整合資料
      • 14.8.2 readVariable
      • 14.8.3 processCode
      • 14.8.4 runCode
      • 14.8.5 BASIC直譯器
  • 15 遞迴
    • 15.1 定義
      • 15.1.1 自然數判定
    • 15.2 應用
      • 15.2.1 費伯納西數
      • 15.2.2 最大公因數
      • 15.2.3 字串長度
      • 15.2.4 河內塔
      • 15.2.5 八后問題
      • 15.2.6 placeQueen流程
      • 15.2.7 老鼠走迷宮
      • 15.2.8 數獨
      • 15.2.9 疊紙片
    • 15.3 效能考量
  • 16 檔案處理
    • 16.1 開啟與關閉檔案
      • 16.1.1 fopen
      • 16.1.2 fclose
      • 16.1.3 標準檔案指標
    • 16.2 文字檔案處理
      • 16.2.1 以字元為單位
      • 16.2.2 以行為單位
      • 16.2.3 以格式處理
    • 16.3 二進制檔案處理
      • 16.3.1 緩衝區為主的輸出入
      • 16.3.2 結構陣列
      • 16.3.3 移動讀寫位置
    • 16.4 EOF測試
      • 16.4.1 feof
  • 17 資料結構
    • 17.1 動態記憶體配置
      • 17.1.1 malloc
      • 17.1.2 free
    • 17.2 assert
    • 17.3 鏈結序列
      • 17.3.1 鏈結序列節點
      • 17.3.2 迴圈處理
      • 17.3.3 遞迴處理
      • 17.3.4 記憶體管理
      • 17.3.5 合併鏈結序列
    • 17.4 二元樹
      • 17.4.1 節點
      • 17.4.2 二元搜尋樹定義
      • 17.4.3 建立二元搜尋樹
      • 17.4.4 二元樹遍歷
      • 17.4.5 二元樹重建
      • 17.4.6 二元樹交集及聯集
  • 18 物件
    • 18.1 堆疊
    • 18.2 堆疊的陣列實作
      • 18.2.1 堆疊結構
      • 18.2.2 堆疊函式宣告
      • 18.2.3 堆疊標頭檔
      • 18.2.4 堆疊函式實作
      • 18.2.5 分別編譯
    • 18.3 括號平衡
      • 18.3.1 括號平衡字串判別
      • 18.3.2 判別程式
      • 18.3.3 編譯方法
    • 18.4 對稱字串
      • 18.4.1 編譯方法
    • 18.5 堆疊的鏈結序列實作
      • 18.5.1 鏈結序列標頭檔
      • 18.5.2 鏈結序列實作
      • 18.5.3 編譯方法
    • 18.6 物件的優點
  • 19 前置處理
    • 19.1 #include
    • 19.2 #define
      • 19.2.1 #define常數
      • 19.2.2 #define類別
      • 19.2.3 #define函式
    • 19.3 #if,#ifdef,#ifndef
      • 19.3.1 程式碼條件編譯
      • 19.3.2 命令列條件編譯
      • 19.3.3 開關式條件編譯
    • 19.4 #
      • 19.4.1 # 模擬assert
    • 19.5 _LINE_ _FILE_
    • 19.6 ##
      • 19.6.1 stat
      • 19.6.2 權限常數
      • 19.6.3 系統生成權限常數
  • 20 C標準程式庫
    • 20.1 qsort
      • 20.1.1 比較整數
      • 20.1.2 比較日期
      • 20.1.3 比較字串
      • 20.1.4 比較1位元
    • 20.2 二分搜尋
      • 20.2.1 stdlib bsearch
      • 20.2.2 日期二分搜尋
      • 20.2.3 字串二分搜尋
    • 20.3 轉換函式
    • 20.4 隨機數
      • 20.4.1 算π
      • 20.4.2 模擬骰子
    • 20.5 exit
  • 21 高等技術
    • 21.1 命令列參數
      • 21.1.1 印出檔案
      • 21.1.2 將命令列參數加總
    • 21.2 導向
    • 21.3 全域變數
      • 21.3.1 跨檔案全域變數
      • 21.3.2 static全域變數
      • 21.3.3 名稱衝突
  • 22 不想教的東西
    • 22.1 goto
      • 22.1.1 問題
    • 22.2 全域變數
      • 22.2.1 問題
    • 22.3 格式字串
    • 22.4 指標技巧
    • 22.5 修改記憶體
    • 22.6 征服銀河系
  • 徵引書目

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading