主題活動
5/24前 全站滿$5,000享88折前往選購
主題活動
5/24前 全站滿$1,500享9折前往選購

實用C語言程式設計入門

期:
2018/06/14
9
490441

內容簡介

C 語言擁有正規完善的程式結構,是幾乎所有程式設計師一開始就要學的語言,只要能把 C 語言的基礎打好,建立程式運作的邏輯觀念,對於以後學習資料結構或演算法都相當有幫助,若是之後需要學習其它程式語言,也相當容易上手。



學習程式語言的重點不是學會而已,還必須了解可以運用在哪裏。本書讓程式與生活產生連結,比如說購買手搖飲多少杯自動給折扣的條件判斷;ATM 提款機的無限迴圈觀念;登入網頁輸入密碼的長度與字元檢驗功能;控制紅綠燈交通號誌變化的有限狀態機……。當您在生活中遇到各種應用時,就會自然聯想到這些是用什麼程式功能做出來的。內容還包括一般入門書沒講的未指明資料型別的通用型自訂函式 void 指標;利用正規表示式快速讀取逗號相隔的文字檔案......等等。



本書的程式範例提供網路下載,請依照書上的說明安裝 Dev-C++ 搭配範例做練習。每章最後也附實力評量的習題,讀完之後做為自我練習之用。


1. 內容淺顯易懂,範例生活化,原來這些功能是這樣做到的
2. 在 Dev-C++ 開發環境的除錯功能介紹,幫助挑出程式中的臭蟲

產品目錄

第 1 章 認識 C 語言
1-1 本章簡介
1-2 上機實作:與 C 語言的第一次接觸
1-2-1 接觸 C 語言:從零開始
1-2-2 輸出第一行字
1-3 C 語言的基本輸出入和程式架構
1-3-1 main(void) 是什麼意思
1-3-2 標頭檔 #include <...> 淺說
1-3-3 程式的分段:使用大括號 {} 與分號

1-4 程式的註解與編排
1-4-1 適時的分行:便於整篇程式的閱讀
1-4-2 程式碼內縮:表現出程式的層次感
1-4-3 善用註解:幫助了解程式
1-4-4 使用區塊註解
1-5 如何讓 C 語言程式變成可以執行

第 2 章 常數與變數

2-1 本章簡介
2-2 定義常數
2-2-1 用 #define 定義常數
2-2-2 定義常數不可更改其值
2-3 變數的資料型別
2-3-1 資料型別的類型與長度
2-3-2 資料型別的修飾字
2-3-3 數值發生溢位的情況
2-4 變數命名的原則與習慣
2-4-1 變數命名的合法性
2-4-2 變數命名的習慣
2-5 宣告變數
2-5-1 宣告變數的語法
2-5-2 宣告變數的位置
2-5-3 指定變數的值
2-5-4 兩個變數的值互相交換
2-5-5 宣告變數的修飾詞 - const
2-6 變數的資料型別轉換
2-6-1 整數轉成浮點數
2-6-2 浮點數轉成整數
2-6-3 字元和數字間的轉換
2-6-4 大寫字母轉成小寫字母

第 3 章 基本輸出與輸入函式
3-1 本章簡介
3-2 做格式化輸出
3-2-1 以不同進位制控制符號顯示
3-2-2 以科學符號表示法顯示
3-3 輸出格式可用的參數
3-3-1 指定輸出的固定寬度
3-3-2 指定輸出寬度時加上正負符號
3-3-3 讓輸出的數值向左靠齊
3-3-4 組合多個參數輸出
3-4 使用跳脫序列控制輸出
3-4-1 刪除、歸位、跳格跳脫序列
3-4-2 輸出單、雙引號與反斜線的跳脫序列
3-4-3 輸出到此為止的結束跳脫序列
3-5 輸入與輸出單一字元的函式
3-5-1 輸入、輸出字元:getchar()、putchar() 函式
3-5-2 不用按Enter 鍵輸入字元:getche()、getch() 函式
3-6 使用輸入數值函式scanf()
3-6-1 scanf() 函式的用法
3-6-2 輸入的數值與指定的格式要相符
3-6-3 避免讀入Tab、Space、Enter 鍵

第 4 章 運算子、運算元與算式
4-1 本章簡介
4-2 算式的結構
4-3 運算子的優先權
4-3-1 運算子與運算元結合的優先權
4-3-2 運算子優先權相同時的結合性順序
4-4 算術運算子
4-5 括號運算子
4-6 關係運算子
4-7 邏輯運算子
4-8 指定運算子與複合指定運算子
4-9 遞增與遞減運算子
4-10 綜合練習
4-10-1 溫度轉換:攝氏轉華氏
4-10-2 遊樂場換幣機程式
4-10-3 判斷輸入的是否為英文字母
4-10-4 計算整數的階乘

第 5 章 條件判斷式
5-1 本章簡介
5-2 if 條件判斷
5-3 if-else 條件判斷
5-4 if-else if 條件判斷
5-5 if 巢狀條件判斷
5-6 switch-case 條件判斷
5-7 三運算元條件判斷式 ?:
5-8 綜合練習
5-8-1 將Ch05_07.c 改用「switch-case」與「? :」取代
5-8-2 輸入月份與日期,用if-else 與switch-case 查星座
5-8-3 用if-else 與 ? : 將輸入的3 個數字做大小排序

第 6 章 迴圈控制
6-1 本章簡介
6-2 執行指定次數的for 迴圈
6-2-1 改變控制算式的遞增量或遞減量
6-2-2 for 迴圈允許超過一組算式
6-2-3 巢狀for 迴圈
6-3 預先判斷是否執行的while 迴圈
6-3-1 利用while 迴圈猜數字
6-3-2 利用while 迴圈算最大公因數
6-4 後設條件判斷的do-while 迴圈
6-5 無限迴圈
6-5-1 for 無限迴圈的用法
6-5-2 while 無限迴圈的用法
6-6 直接跳出迴圈的break、continue 與goto
6-6-1 跳出一層迴圈可使用break
6-6-2 立刻跳到迴圈開頭的continue
6-6-3 強迫跳到指定標籤名的goto
6-7 綜合練習
6-7-1 輸出英文字母金字塔
6-7-2 找出2~200 之間的所有質數
6-7-3 計算指定正整數的階乘

第 7 章 自訂函式
7-1 本章簡介
7-2 宣告函式的寫法與位置
7-3 定義自訂函式
7-3-1 計算絕對值的自訂函式
7-3-2 計算BMI 的自訂函式
7-3-3 找出質數的自訂函式
7-3-4 計算幾次方的自訂函式
7-3-5 計算度量衡轉換的自訂函式
7-3-6 從自訂函式呼叫另一個自訂函式
7-4 遞迴函式
7-4-1 跌入萬丈深淵的無窮遞迴
7-4-2 利用遞迴算最大公因數
7-4-3 利用遞迴算因數分解
7-4-4 利用遞迴算費氏數列
7-4-5 利用遞迴算正整數的階乘
7-4-6 利用遞迴搬河內塔圓盤

第 8 章 巨集
8-1 本章簡介
8-2 定義巨集與放的位置
8-3 無引數的巨集取代算式
8-4 有引數的巨集取代算式
8-5 多個引數的巨集與條件判斷的巨集
8-6 將算式做為巨集的引數

第 9 章 前置處理
9-1 本章簡介
9-2 將標頭檔含括進程式
9-2-1 內建的標頭檔
9-2-2 自己寫的標頭檔
9-3 條件編譯
9-3-1 條件編譯指令 #ifndef、#endif 的用法
9-3-2 條件編譯指令 #ifdef、#else、#endif 的用法
9-3-3 條件編譯指令 #if、#elif、#endif 的用法

第 10 章 陣列
10-1 本章簡介
10-2 一維陣列
10-2-1 宣告一維陣列
10-2-2 宣告陣列時設定初值與改變初值
10-2-3 執行過程指定陣列的數值
10-3 二維陣列
10-3-1 指定二維陣列的初值
10-3-2 執行過程指定二維陣列的數值
10-4 多維陣列
10-5 陣列在函式間的傳遞
10-5-1 傳遞一維陣列
10-5-2 傳遞二維陣列
10-5-3 傳遞陣列是傳遞記憶體位址

第 11 章 字串
11-1 本章簡介
11-2 字元陣列與字串的差異
11-3 宣告字串與設定初值
11-3-1 輸出字串要用%s 控制符號
11-3-2 用字元陣列的方式設定初值
11-4 由鍵盤讀取字串與從螢幕輸出字串
11-4-1 使用scanf() 讀取字串的方法
11-4-2 使用gets() 讀取字串,puts() 輸出字串
11-5 處理字串的函式
11-5-1 複製字串:strcpy() 函式
11-5-2 複製局部字串:strncpy() 函式
11-5-3 算出字串真正的長度:strlen() 函式
11-5-4 比對兩個字串是否完全相符:strcmp() 函式
11-5-5 比對兩字串前面部份是否相符:strncmp() 函式
11-5-6 完整串接兩個字串:strcat() 函式
11-5-7 串接指定字元的字串:strncat() 函式
11-6 字串陣列
11-6-1 輸出字串陣列的初值
11-6-2 讀取、比對字串陣列中的字串

第 12 章 指標
12-1 本章簡介
12-2 記憶體位址
12-3 指標的基本用法
12-3-1 指標佔的記憶體大小與位址
12-3-2 改變指標指向的數值
12-3-3 改變指標指向的變數
12-4 指標與陣列
12-4-1 用指標讀取字串
12-4-2 用指標讀取二維陣列
12-4-3 指標陣列:每個陣列元素都是指標
12-5 指標與函式
12-5-1 傳址呼叫
12-5-2 函式可以傳回指標位址
12-6 雙重指標(指向指標的指標)
12-7 指標與動態記憶體配置
12-8 未指定資料型別的void 指標
12-9 使用指標的好處

第 13 章 變數等級
13-1 本章簡介
13-2 變數的視野與生命期
13-3 內部變數
13-3-1 宣告內部變數,有無auto 都可以
13-3-2 內部變數生命期結束,就被釋放
13-4 外部變數
13-4-1 到處都可用到的外部變數
13-4-2 內部、外部變數名稱相同的優先順序
13-4-3 擴展外部變數視野的extern 用法
13-4-4 跨檔案取用外部變數的extern 用法
13-5 內部靜態變數與外部靜態變數
13-6 暫存器變數

第 14 章 檢驗輸入的資料
14-1 本章簡介
14-2 檢驗英文字母與數字
14-2-1 檢驗字元為英文字母與數字:isalnum() 函式
14-2-2 檢驗字元或數字:isalpha()、isdigit() 函式
14-3 檢驗 ASCII 字元
14-3-1 檢驗 ASCII 字元:isascii()、iscntrl()、isspace() 函式
14-3-2 檢驗大小寫英文字母:isupper()、islower() 函式
14-3-3 檢驗非英數字空格的可列印字元:ispunct() 函式

第 15 章 結構體、共用體、別名、列舉
15-1 本章簡介
15-2 結構體
15-2-1 宣告結構體變數與設定初值
15-2-2 宣告結構體同時宣告結構體變數
15-2-3 結構體中還可以有結構體成員
15-3 結構體變數陣列
15-4 將結構體宣告為指標變數
15-5 將結構體變數傳給函式
15-5-1 傳遞結構體引數的函式原型宣告
15-5-2 結構體變數的傳值呼叫
15-5-3 結構體變數的傳址呼叫
15-6 共用體
15-7 共用體與結構體組合使用
15-8 別名
15-9 列舉

第 16 章 檔案處理
16-1 本章簡介
16-2 檔案讀寫的觀念
16-3 開啟與關閉檔案
16-3-1 開啟檔案:fopen() 函式
16-3-2 關閉檔案:fclose() 函式
16-4 讀取檔案資料
16-4-1 讀取檔案的字元與字串:fgetc()、fgets() 函式
16-4-2 讀取格式化資料:fscanf() 函式
16-4-3 利用正規表示式處理逗點分隔的字串
16-5 寫入檔案資料
16-5-1 將字元與字串寫入檔案:fputc()、fputs() 函式
16-5-2 依格式寫入檔案:fprintf() 函式
16-6 隨機式檔案讀寫
16-6-1 找出指標位置與讓指標回到檔頭:ftell()、rewind() 函式
16-6-2 移動指標並讀取資料:fseek()、fread() 函式
16-6-3 將指定大小的資料寫入檔案:fwrite() 函式

附錄 A ASCII 碼表
附錄 B 使用 Dev-C++
B-1 下載與安裝 Dev-C++
B-2 執行範例程式
B-2-1 開啟 C 程式檔
B-2-2 編譯、連結、執行程式
B-2-3 單獨執行程式
B-3 在 Dev-C++ 中建立新程式檔
B-4 在 Dev-C++ 中建立新專案

附錄 C Dev-C++ 除錯功能
C-1 以逐步執行的方式觀察程式
C-1-1 建立中斷點
C-1-2 逐步執行程式
C-2 使用監看功能
C-2-1 新增監看式
C-2-2 檢視變數值

作者介紹

■作者簡介

施威銘研究室
成立二十多年,專門從事電腦領域書籍撰寫,著作包括電腦程式語言 C, C++, Java, Windows Server, SQL Server, Micorosft Office 等等

規格

誠品貨碼 / 2681590016008
ISBN13 / 9789863125365
ISBN10 / 9863125369
EAN貨碼 / 9789863125365
頁數 / 512
開數 / 18K
注音版 / 否
裝訂 / P:平裝
語言 / 1:中文/繁體
級別 / N:無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送

作者相關書籍