您的位置:首頁 > 業(yè)內(nèi)資訊 > C語言入門經(jīng)典(第5版) PDF掃描

C語言入門經(jīng)典(第5版) PDF掃描

來源:互聯(lián)網(wǎng) | 時間:2017-05-23 15:46:01 | 閱讀:90 |  標簽: C語言   | 分享到:

C語言是每一位程序員都應該掌握的基礎語言。C語言是微軟.NET編程中使用的C#語言的基礎;C語言是iPhone、iPad和其他蘋果設備編程中使用的Objective-C語言的基礎;C語言是在很多環(huán)境中(包括GNU項目)被廣泛使用的C++語言的基礎。C語言也是Linux操作系統(tǒng)及其很多功能的基礎。學習C語言可以給編程職業(yè)生涯提供牢固的基礎,也有助于更好地理解更為現(xiàn)代的語言(如Java)。

《C語言入門經(jīng)典(第5版)》主要介紹最基礎的計算機語言之一——C語言。

《C語言入門經(jīng)典(第5版)》從最基礎的內(nèi)容開始,步步深入講解作為一位稱職的C語言程序員應該具備的知識和技能。

主要內(nèi)容
◆ 闡述C語言的核心特征,例如循環(huán)和分支
◆ 如何使用指針和指令動態(tài)管理內(nèi)存
◆ 如何使用頭文件和函數(shù)模塊化代碼
◆ 程序如何通過鍵盤、顯示器和數(shù)據(jù)文件讀寫數(shù)據(jù)
◆ 如何通過預處理命令在編譯時優(yōu)化代碼
◆ 如何使用結構有效地管理輸入數(shù)據(jù)
《C語言入門經(jīng)典(第5版)》完整地介紹了一個C應用程序的開發(fā)過程,這樣你在閱讀過程中可以結合實際的應用場景提高編程技能。書中的樣例提供了實驗的基礎,可以通過修改其中的部分代碼來對比前后程序運行的結果。后面的練習題用來測試對新知識、新技能的掌握情況,如果需要練習題答案,可以網(wǎng)上下載。
閱讀完本書,你應該有能力和信心開發(fā)自己的C應用程序,并且具備在大型項目中應用C語言思想的技能。第5版詳細介紹了C語言的最新國際標準,并且修訂涵蓋了語言編譯器新支持的C11功能。

C語言入門經(jīng)典(第5版) 目錄:

第1章 C語言編程        1 
1.1 C語言        1 
1.2 標準庫        2 
1.3 學習C        2 
1.4 創(chuàng)建C程序        2 
1.4.1 編輯        2 
1.4.2 編譯        3 
1.4.3 鏈接        4 
1.4.4 執(zhí)行        4 
1.5 創(chuàng)建第一個程序        5 
1.6 編輯第一個程序        5 
1.7 處理錯誤        6 
1.8 剖析一個簡單的程序        7 
1.8.1 注釋        7 
1.8.2 預處理指令        8 
1.8.3 定義main()函數(shù)        9 
1.8.4 關鍵字        10 
1.8.5 函數(shù)體        10 
1.8.6 輸出信息        11 
1.8.7 參數(shù)        11 
1.8.8 控制符        11 
1.8.9 三字母序列        13 
1.9 預處理器        14 
1.10 用C語言開發(fā)程序        14 
1.10.1 了解問題        14 
1.10.2 詳細設計        15 
1.10.3 實施        15 
1.10.4 測試        15 
1.11 函數(shù)及模塊化編程        16 
1.12 常見錯誤        19 
1.13 要點        19 
1.14 小結        20 
1.15 習題        20 
第2章 編程初步        21 
2.1 計算機的內(nèi)存        21 
2.2 什么是變量        23 
2.3 存儲整數(shù)的變量        24 
2.3.1 變量的使用        28 
2.3.2 變量的初始化        29 
2.4 變量與內(nèi)存        36 
2.4.1 帶符號的整數(shù)類型        36 
2.4.2 無符號的整數(shù)類型        37 
2.4.3 指定整數(shù)常量        37 
2.5 使用浮點數(shù)        39 
2.6 浮點數(shù)變量        41 
2.6.1 使用浮點數(shù)完成除法運算        42 
2.6.2 控制輸出中的小數(shù)位數(shù)        43 
2.6.3 控制輸出的字段寬度        43 
2.7 較復雜的表達式        44 
2.8 定義命名常量        46 
2.8.1 極限值        49 
2.8.2 sizeof運算符        51 
2.9 選擇正確的類型        52 
2.10 強制類型轉換        55 
2.10.1 自動轉換類型        56 
2.10.2 隱式類型轉換的規(guī)則        56 
2.10.3 賦值語句中的隱式類型轉換        57 
2.11 再談數(shù)值數(shù)據(jù)類型        58 
2.11.1 字符類型        58 
2.11.2 字符的輸入輸出        59 
2.11.3 枚舉        62 
2.11.4 存儲布爾值的變量        64 
2.12 賦值操作的op=形式        65 
2.13 數(shù)學函數(shù)        66 
2.14 設計一個程序        67 
2.14.1 問題        68 
2.14.2 分析        68 
2.14.3 解決方案        70 
2.15 小結        73 
2.16 練習        74 
第3章 條件判斷        75 
3.1 判斷過程        75 
3.1.1 算術比較        75 
3.1.2 基本的if語句        76 
3.1.3 擴展if語句:if-else        79 
3.1.4 在if語句中使用代碼塊        82 
3.1.5 嵌套的if語句        83 
3.1.6 測試字符        85 
3.1.7 邏輯運算符        88 
3.1.8 條件運算符        91 
3.1.9 運算符的優(yōu)先級        94 
3.2 多項選擇問題        98 
3.2.1 給多項選擇使用else-if語句        98 
3.2.2 switch語句        99 
3.2.3 goto語句        107 
3.3 按位運算符        108 
3.3.1 按位運算符的op=用法        110 
3.3.2 使用按位運算符        111 
3.4 設計程序        114 
3.4.1 問題        114 
3.4.2 分析        114 
3.4.3 解決方案        114 
3.5 小結        118 
3.6 練習        118 
第4章 循環(huán)        119 
4.1 循環(huán)        119 
4.2 遞增和遞減運算符        120 
4.3 for循環(huán)        120 
4.4 for循環(huán)的一般語法        124 
4.5 再談遞增和遞減運算符        125 
4.5.1 遞增運算符        125 
4.5.2 遞增運算符的前置和后置形式        125 
4.5.3 遞減運算符        126 
4.6 再論for循環(huán)        127 
4.6.1 修改for循環(huán)變量        129 
4.6.2 沒有參數(shù)的for循環(huán)        129 
4.6.3 循環(huán)內(nèi)的break語句        130 
4.6.4 使用for循環(huán)限制輸入        132 
4.6.5 生成偽隨機整數(shù)        135 
4.6.6 再談循環(huán)控制選項        137 
4.6.7 浮點類型的循環(huán)控制變量        137 
4.7 while循環(huán)        138 
4.8 嵌套循環(huán)        140 
4.9 嵌套循環(huán)和goto語句        146 
4.10 do-while循環(huán)        147 
4.11 continue語句        149 
4.12 設計程序        150 
4.12.1 問題        150 
4.12.2 分析        150 
4.12.3 解決方案        151 
4.13 小結        162 
4.14 習題        163 
第5章 數(shù)組        165 
5.1 數(shù)組簡介        165 
5.1.1 不用數(shù)組的程序        165 
5.1.2 什么是數(shù)組        167 
5.1.3 使用數(shù)組        168 
5.2 尋址運算符        171 
5.3 數(shù)組和地址        173 
5.4 數(shù)組的初始化        174 
5.5 確定數(shù)組的大小        175 
5.6 多維數(shù)組        176 
5.7 多維數(shù)組的初始化        178 
5.8 變長數(shù)組        184 
5.9 設計一個程序        186 
5.9.1 問題        186 
5.9.2 分析        186 
5.9.3 解決方案        187 
5.10 小結        193 
5.11 習題        193 
第6章 字符串和文本的應用        195 
6.1 什么是字符串        195 
6.2 存儲字符串的變量        197 
6.3 字符串操作        202 
6.3.1 檢查對C11的支持        202 
6.3.2 確定字符串的長度        203 
6.3.3 復制字符串        204 
6.3.4 連接字符串        204 
6.3.5 比較字符串        208 
6.3.6 搜索字符串        211 
6.3.7 單元化字符串        215 
6.3.8 將換行符讀入字符串        219 
6.4 分析和轉換字符串        221 
6.4.1 轉換字符的大小寫形式        223 
6.4.2 將字符串轉換成數(shù)值        225 
6.5 設計一個程序        227 
6.5.1 問題        227 
6.5.2 分析        227 
6.5.3 解決方案        228 
6.6 小結        233 
6.7 習題        233 
第7章 指針        235 
7.1 指針初探        235 
7.1.1 聲明指針        236 
7.1.2 通過指針訪問值        237 
7.1.3 使用指針        240 
7.1.4 指向常量的指針        244 
7.1.5 常量指針        244 
7.1.6 指針的命名        245 
7.2 數(shù)組和指針        245 
7.3 多維數(shù)組        248 
7.3.1 多維數(shù)組和指針        252 
7.3.2 訪問數(shù)組元素        253 
7.4 內(nèi)存的使用        256 
7.4.1 動態(tài)內(nèi)存分配:malloc()函數(shù)        256 
7.4.2 釋放動態(tài)分配的內(nèi)存        257 
7.4.3 用calloc()函數(shù)分配內(nèi)存        261 
7.4.4 擴展動態(tài)分配的內(nèi)存        262 
7.5 使用指針處理字符串        265 
7.5.1 使用指針數(shù)組        266 
7.5.2 指針和數(shù)組記號        272 
7.6 設計程序        276 
7.6.1 問題        276 
7.6.2 分析        277 
7.6.3 解決方案        277 
7.7 小結        284 
7.8 習題        285 
第8章 編程的結構        287 
8.1 程序的結構        287 
8.1.1 變量的作用域和生存期        288 
8.1.2 變量的作用域和函數(shù)        291 
8.2 函數(shù)        291 
8.2.1 定義函數(shù)        291 
8.2.2 return語句        294 
8.3 按值傳遞機制        299 
8.4 函數(shù)原型        300 
8.5 指針用作參數(shù)和返回值        301 
8.5.1 常量參數(shù)        302 
8.5.2 返回指針的風險        307 
8.6 小結        310 
8.7 習題        310 
第9章 函數(shù)再探        313 
9.1 函數(shù)指針        313 
9.1.1 聲明函數(shù)指針        313 
9.1.2 通過函數(shù)指針調(diào)用函數(shù)        314 
9.1.3 函數(shù)指針的數(shù)組        316 
9.1.4 作為變元的函數(shù)指針        319 
9.2 函數(shù)中的變量        321 
9.2.1 靜態(tài)變量:函數(shù)內(nèi)部的追蹤        321 
9.2.2 在函數(shù)之間共享變量        323 
9.3 調(diào)用自己的函數(shù):遞歸        325 
9.4 變元個數(shù)可變的函數(shù)        328 
9.4.1 復制va_list        331 
9.4.2 長度可變的變元列表的基本規(guī)則        331 
9.5 main()函數(shù)        332 
9.6 結束程序        333 
9.6.1 abort()函數(shù)        333 
9.6.2 exit()和atexit()函數(shù)        333 
9.6.3 _Exit()函數(shù)        334 
9.6.4 quick_exit()和at_quick_exit()函數(shù)        334 
9.7 提高性能        335 
9.7.1 內(nèi)聯(lián)聲明函數(shù)        335 
9.7.2 使用restrict關鍵字        335 
9.7.3 _Noreturn函數(shù)限定符        336 
9.8 設計程序        336 
9.8.1 問題        336 
9.8.2 分析        337 
9.8.3 解決方案        338 
9.9 小結        351 
9.10 習題        352 
第10章 基本輸入和輸出操作        353 
10.1 輸入和輸出流        353 
10.2 標準流        354 
10.3 鍵盤輸入        354 
10.3.1 格式化鍵盤輸入        355 
10.3.2 輸入格式控制字符串        355 
10.3.3 輸入格式字符串中的字符        360 
10.3.4 輸入浮點數(shù)的各種變化        362 
10.3.5 讀取十六進制和八進制值        363 
10.3.6 用scanf_s()讀取字符        364 
10.3.7 從鍵盤上輸入字符串        366 
10.3.8 單個字符的鍵盤輸入        367 
10.4 屏幕輸出        372 
10.4.1 使用printf_s()的格式化輸出        372 
10.4.2 轉義序列        375 
10.4.3 整數(shù)輸出        375 
10.4.4 輸出浮點數(shù)        378 
10.4.5 字符輸出        379 
10.5 其他輸出函數(shù)        380 
10.5.1 屏幕的非格式化輸出        381 
10.5.2 數(shù)組的格式化輸出        381 
10.5.3 數(shù)組的格式化輸入        382 
10.6 小結        382 
10.7 習題        383 
第11章 結構化數(shù)據(jù)        385 
11.1 數(shù)據(jù)結構:使用struct        385 
11.1.1 定義結構類型和結構變量        387 
11.1.2 訪問結構成員        388 
11.1.3 未命名的結構        390 
11.1.4 結構數(shù)組        391 
11.1.5 表達式中的結構成員        393 
11.1.6 結構指針        393 
11.1.7 為結構動態(tài)分配內(nèi)存        394 
11.2 再探結構成員        397 
11.2.1 將一個結構作為另一個結構的成員        397 
11.2.2 聲明結構中的結構        398 
11.2.3 將結構指針用作結構成員        399 
11.2.4 雙向鏈表        403 
11.2.5 結構中的位字段        406 
11.3 結構與函數(shù)        407 
11.3.1 結構作為函數(shù)的變元        407 
11.3.2 結構指針作為函數(shù)變元        408 
11.3.3 作為函數(shù)返回值的結構        409 
11.3.4 二叉樹        414 
11.4 共享內(nèi)存        421 
11.5 設計程序        425 
11.5.1 問題        425 
11.5.2 分析        426 
11.5.3 解決方案        426 
11.6 小結        438 
11.7 習題        438 
第12章 處理文件        441 
12.1 文件的概念        441 
12.1.1 文件中的位置        442 
12.1.2 文件流        442 
12.2 文件訪問        442 
12.2.1 打開文件        443 
12.2.2 緩存文件操作        445 
12.2.3 文件重命名        446 
12.2.4 關閉文件        447 
12.2.5 刪除文件        447 
12.3 寫入文本文件        448 
12.4 讀取文本文件        449 
12.5 在文本文件中讀寫字符串        452 
12.6 格式化文件的輸入輸出        456 
12.6.1 格式化文件輸出        456 
12.6.2 格式化文件輸入        457 
12.7 錯誤處理        459 
12.8 再探文本文件操作模式        460 
12.9 freopen_s()函數(shù)        461 
12.10 二進制文件的輸入輸出        462 
12.10.1 以二進制模式打開文件        462 
12.10.2 寫入二進制文件        463 
12.10.3 讀取二進制文件        464 
12.11 在文件中移動        469 
12.11.1 文件定位操作        469 
12.11.2 找出我們在文件中的位置        470 
12.11.3 在文件中設定位置        471 
12.12 使用臨時文件        477 
12.12.1 創(chuàng)建臨時文件        477 
12.12.2 創(chuàng)建唯一的文件名        478 
12.13 更新二進制文件        479 
12.13.1 修改文件的內(nèi)容        484 
12.13.2 從鍵盤輸入創(chuàng)建記錄        485 
12.13.3 將記錄寫入文件        486 
12.13.4 從文件中讀取記錄        486 
12.13.5 寫入文件        487 
12.13.6 列出文件內(nèi)容        488 
12.13.7 更新已有的文件內(nèi)容        489 
12.14 文件打開模式小結        495 
12.15 設計程序        496 
12.15.1 問題        496 
12.15.2 分析        496 
12.15.3 解決方案        496 
12.16 小結        501 
12.17 習題        501 
第13章 支持功能        503 
13.1 預處理        503 
13.1.1 在程序中包含頭文件        503 
13.1.2 定義自己的頭文件        504 
13.1.3 管理多個源文件        504 
13.1.4 外部變量        505 
13.1.5 靜態(tài)函數(shù)        505 
13.1.6 替換程序源代碼        506 
13.2 宏        507 
13.2.1 看起來像函數(shù)的宏        507 
13.2.2 字符串作為宏參數(shù)        509 
13.2.3 在宏展開式中結合兩個變元        510 
13.3 多行上的預處理器指令        510 
13.3.1 預處理器邏輯指令        511 
13.3.2 條件編譯        511 
13.3.3 測試多個條件        512 
13.3.4 取消定義的標識符        512 
13.3.5 測試標識符的指定值的指令        512 
13.3.6 多項選擇        513 
13.3.7 標準預處理宏        514 
13.4 調(diào)試方法        515 
13.4.1 集成的調(diào)試器        515 
13.4.2 調(diào)試階段的預處理器        515 
13.4.3 斷言        519 
13.5 日期和時間函數(shù)        521 
13.5.1 獲取時間值        522 
13.5.2 獲取日期        525 
13.5.3 確定某一天是星期幾        529 
13.6 小結        531 
13.7 習題        531 
第14章 高級專用主題        533 
14.1 使用國際字符集        533 
14.1.1 理解Unicode        533 
14.1.2 設置區(qū)域        534 
14.1.3 寬字符類型wchar_t        535 
14.1.4 寬字符串的操作        537 
14.1.5 寬字符的文件流操作        540 
14.1.6 存儲Unicode字符的固定大小類型        541 
14.2 用于可移植性的專用整數(shù)類型        545 
14.2.1 固定寬度的整型        545 
14.2.2 最小寬度的整型        545 
14.2.3 最大寬度的整型        546 
14.3 復數(shù)類型        546 
14.3.1 復數(shù)基礎        546 
14.3.2 復數(shù)類型和操作        547 
14.4 用線程編程        550 
14.4.1 創(chuàng)建線程        550 
14.4.2 退出線程        551 
14.4.3 把一個線程連接到另一個線程上        552 
14.4.4 掛起線程        555 
14.4.5 管理線程對數(shù)據(jù)的訪問        555 
14.5 小結        561 
附錄A 計算機中的數(shù)學知識        563 
附錄B ASCII字符代碼定義        571 
附錄C C語言中的保留字        575 
附錄D 輸入輸出格式說明符        577 
附錄E 標準庫頭文件        583

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認同期限觀點或證實其描述。

相關視頻攻略

更多

更多

掃二維碼進入好特網(wǎng)手機版本!

掃二維碼進入好特網(wǎng)微信公眾號!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權,請發(fā)郵件[email protected]

湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)