21天學(xué)通C語言

出版時間:2012-8  出版社:人民郵電出版社  作者:(美) Bradley L.Jones Peter Aitk  頁數(shù):614  譯者:信達工作室  
Tag標簽:無  

內(nèi)容概要

  《21天學(xué)通C語言(第6版·修訂版)》是初學(xué)者學(xué)習(xí)C語言的經(jīng)典教程。本版按最新的標準(ISO/IEC:9899-1999),以循序漸進的方式介紹了C語言編程方面知識,并提供了豐富的實例和大量的練習(xí)。通過學(xué)習(xí)實例,并將所學(xué)的知識用于完成練習(xí),讀者將逐步了解、熟悉并精通C語言?!  ?1天學(xué)通C語言(第6版·修訂版)》包括四周的課程。第一周的課程介紹了C語言程序的基本元素,包括變量、常量、語句、表達式、函數(shù)和循環(huán);第二周的課程介紹了數(shù)組、指針、字符和字符串、結(jié)構(gòu)和共用體、變量的作用域、輸入/輸出等;第三周的課程介紹了有關(guān)指針和函數(shù)的高級主題、磁盤文件讀寫、字符串操縱函數(shù)、函數(shù)庫、內(nèi)存管理以及編譯器的高級用法等;第四周是附加課程,簡要地介紹了最流行的面向?qū)ο笳Z言——C++、Java和C#。  本書針對初中級程序員編寫,可作為學(xué)習(xí)C語言的教程或參考資料。

書籍目錄

第一周課程第1天課程 C語言概覽1.1 C語言簡史1.2 為何要使用C語言1.3 編程前的準備工作1.4 程序開發(fā)周期1.4.1 創(chuàng)建源代碼1.4.2 編譯源代碼1.4.3 鏈接以創(chuàng)建可執(zhí)行文件1.4.4 結(jié)束開發(fā)周期1.5 第一個C語言程序1.6 總結(jié)1.7 問與答1.8 作業(yè)1.8.1 小測驗1.8.2 練習(xí)TYPE & RUN 1 打印程序清單第一個TYPE & RUN第2天課程 C語言程序的組成部分2.1 一個簡短的C語言程序2.2 程序的組成部分2.2.1 main函數(shù)(第8~23行)2.2.2 #include編譯指令(第2行)2.2.3 變量定義(第4行)2.2.4 函數(shù)原型(第6行)2.2.5 程序語句(第11、12、15、16、19、20、22和28行)2.2.6 函數(shù)定義(第26~29行)2.2.7 程序注釋(第1、10、14、18和25行)2.2.8 使用花括號(第9、23、27和29行)2.2.9 運行程序2.2.10 有關(guān)精度的說明2.3 重溫程序的組成部分2.4 總結(jié)2.5 問與答2.6 作業(yè)2.6.1 小測驗2.6.2 練習(xí)第3天課程 存儲信息:變量和常量3.1 計算機內(nèi)存3.2 使用變量存儲信息3.3 數(shù)值變量的類型3.3.1 變量聲明3.3.2 typedef關(guān)鍵字3.3.3 初始化變量3.4 常量3.4.1 字面常量3.4.2 符號常量3.5 總結(jié)3.6 問與答3.7 作業(yè)3.7.1 小測驗3.7.2 練習(xí)第4天課程 語句、表達式和運算符4.1 語句4.1.1 空白對語句的影響4.1.2 創(chuàng)建空語句4.1.3 使用復(fù)合語句4.2 表達式4.2.1 簡單表達式4.2.2 復(fù)雜表達式4.3 運算符4.3.1 賦值運算符4.3.2 數(shù)學(xué)運算符4.3.3 運算符優(yōu)先級和圓括號4.3.4 子表達式的計算順序4.3.5 關(guān)系運算符4.4 if語句4.4.1 else子句4.5 判斷關(guān)系表達式4.5.1 關(guān)系運算符的優(yōu)先級4.6 邏輯運算符4.7 再談true/false值4.7.1 運算符的優(yōu)先級4.7.2 復(fù)合賦值運算符4.7.3 條件運算符4.7.4 逗號運算符4.8 再談運算符優(yōu)先級4.9 總結(jié)4.10 問與答4.11 作業(yè)4.11.1 小測驗4.11.2 練習(xí)TYPE & RUN 2 猜數(shù)游戲第5天課程 使用函數(shù)封裝代碼5.1 函數(shù)是什么5.1.1 函數(shù)的定義5.1.2 函數(shù)的用法5.2 函數(shù)的工作原理5.3 函數(shù)和結(jié)構(gòu)化編程5.3.1 結(jié)構(gòu)化編程的優(yōu)點5.3.2 規(guī)劃結(jié)構(gòu)化程序5.3.3 從頂向下的方法5.4 編寫函數(shù)5.4.1 函數(shù)頭5.4.2 函數(shù)的返回類型5.4.3 函數(shù)名5.4.4 參數(shù)列表5.4.5 函數(shù)體5.4.6 函數(shù)原型5.5 將參數(shù)傳遞給函數(shù)5.6 調(diào)用函數(shù)5.7 函數(shù)的位置5.8 內(nèi)聯(lián)函數(shù)5.9 總結(jié)5.10 問與答5.11 作業(yè)5.11.1 小測驗5.11.2 練習(xí)第6天課程 基本的程序流程控制6.1 數(shù)組的基本知識6.2 控制程序的執(zhí)行6.2.1 for語句6.2.2 嵌套for語句6.2.3 while語句6.2.4 嵌套while語句6.2.5 do…while循環(huán)6.3 嵌套循環(huán)6.4 總結(jié)6.5 問與答6.6 作業(yè)6.6.1 小測驗6.6.2 練習(xí)第7天課程 信息讀寫基礎(chǔ)7.1 在屏幕上顯示信息7.1.1 printf函數(shù)7.1.2 格式化字符串7.1.3 轉(zhuǎn)義序列7.1.4 使用puts顯示消息7.2 使用scanf函數(shù)輸入數(shù)值數(shù)據(jù)7.3 三字符序列7.4 總結(jié)7.5 問與答7.6 作業(yè)7.6.1 小測驗7.6.2 練習(xí)第一周復(fù)習(xí)第二周課程第8天課程 使用數(shù)值數(shù)組8.1 數(shù)組是什么8.1.1 一維數(shù)組8.1.2 多維數(shù)組8.2 命名和聲明數(shù)組8.2.1 初始化數(shù)組8.2.2 初始化多維數(shù)組8.2.3 數(shù)組的最大長度8.3 總結(jié)8.4 問與答8.5 作業(yè)8.5.1 小測驗8.5.2 練習(xí)第9天課程 指針9.1 指針是什么9.1.1 計算機內(nèi)存9.1.2 創(chuàng)建指針9.2 指針和簡單變量9.2.1 聲明指針9.2.2 初始化指針9.2.3 使用指針9.3 指針和變量類型9.4 指針和數(shù)組9.4.1 作為指針的數(shù)組名9.4.2 數(shù)組元素的存儲9.4.3 指針算術(shù)9.5 有關(guān)指針的注意事項9.6 數(shù)組下標表示法和指針9.7 將數(shù)組傳遞給函數(shù)9.8 總結(jié)9.9 問與答9.10 作業(yè)9.10.1 小測驗9.10.2 練習(xí)TYPE & RUN 3 讓程序暫停第10天課程 字符和字符串10.1 char數(shù)據(jù)類型10.2 使用字符變量10.3 使用字符串10.3.1 字符數(shù)組10.3.2 初始化字符數(shù)組10.4 字符串和指針10.5 不存儲在數(shù)組中的字符串10.5.1 編譯時分配字符空間10.5.2 malloc函數(shù)10.5.3 使用malloc函數(shù)10.6 顯示字符串和字符10.6.1 puts函數(shù)10.6.2 printf函數(shù)10.7 從鍵盤讀取字符串10.7.1 使用gets函數(shù)輸入字符串10.7.2 使用scanf函數(shù)輸入字符串10.8 總結(jié)10.9 問與答10.10 作業(yè)10.10.1 小測驗10.10.2 練習(xí)第11天課程 結(jié)構(gòu)、共用體和TypeDef11.1 簡單結(jié)構(gòu)11.1.1 定義和聲明結(jié)構(gòu)11.1.2 存取結(jié)構(gòu)的成員11.2 復(fù)雜結(jié)構(gòu)11.2.1 包含其他結(jié)構(gòu)的結(jié)構(gòu)11.2.2 包含數(shù)組的結(jié)構(gòu)11.3 結(jié)構(gòu)數(shù)組11.4 初始化結(jié)構(gòu)11.5 結(jié)構(gòu)和指針11.5.1 將指針作為結(jié)構(gòu)的成員11.5.2 創(chuàng)建指向結(jié)構(gòu)的指針11.5.3 使用指針和結(jié)構(gòu)數(shù)組11.5.4 將結(jié)構(gòu)作為參數(shù)傳遞給函數(shù)11.6 共用體11.6.1 定義、聲明和初始化共用體11.6.2 存取共用體的成員11.7 使用typedef給結(jié)構(gòu)創(chuàng)建別名11.8 總結(jié)11.9 問與答11.10 作業(yè)11.10.1 小測驗11.10.2 練習(xí)第12天課程 變量作用域12.1 作用域是什么12.1.1 演示作用域12.1.2 作用域為何重要12.2 外部變量12.2.1 外部變量的作用域12.2.2 何時使用外部變量12.2.3 extern關(guān)鍵字12.3 局部變量12.3.1 靜態(tài)變量和動態(tài)變量12.3.2 函數(shù)參數(shù)的作用域12.3.3 外部靜態(tài)變量12.3.4 寄存器變量12.4 局部變量和main函數(shù)12.5 應(yīng)使用哪種存儲類型12.6 局部變量和代碼塊12.7 總結(jié)12.8 問與答12.9 作業(yè)12.9.1 小測驗12.9.2 練習(xí)TYPE & RUN 4 機密消息第13天課程 高級程序流程控制13.1 提早結(jié)束循環(huán)13.1.1 break語句13.1.2 continue語句13.2 goto語句13.3 死循環(huán)13.4 switch語句13.5 退出程序13.6 在程序中執(zhí)行操作系統(tǒng)命令13.7 總結(jié)13.8 問與答13.9 作業(yè)13.9.1 小測驗13.9.2 練習(xí)第14天課程 操縱屏幕、打印機和鍵盤14.1 流和C語言14.1.1 何為程序的輸入/輸出14.1.2 什么是流14.1.3 文本流和二進制流14.1.4 預(yù)定義的流14.2 使用C語言的流函數(shù)14.3 讀取鍵盤輸入14.3.1 字符輸入14.3.2 格式化輸入14.4 控制屏幕輸出14.4.1 使用putchar、putc和fputc輸出字符14.4.2 使用puts和fputs輸出字符串14.4.3 使用printf和fprintf格式化輸出14.5 重定向輸入/輸出14.6 何時使用fprintf14.7 總結(jié)14.8 問與答14.9 作業(yè)14.9.1 小測驗14.9.2 練習(xí)第二周復(fù)習(xí)第三周課程第15天課程 有關(guān)指針的高級主題15.1 聲明指向指針的指針15.2 指針和多維數(shù)組15.3 指針數(shù)組15.3.1 復(fù)習(xí)字符串和指針15.3.2 聲明char類型指針數(shù)組15.3.3 范例15.4 函數(shù)指針15.4.1 聲明函數(shù)指針15.4.2 初始化并使用函數(shù)指針15.5 鏈表15.5.1 有關(guān)鏈表的基本知識15.5.2 使用鏈表15.5.3 演示簡單鏈表15.5.4 實現(xiàn)鏈表15.6 總結(jié)15.7 問與答15.8 作業(yè)15.8.1 小測驗15.8.2 練習(xí)第16天課程 使用磁盤文件16.1 將流與磁盤文件關(guān)聯(lián)起來16.2 磁盤文件的類型16.3 文件名16.4 打開文件16.5 讀寫文件數(shù)據(jù)16.5.1 格式化文件輸入/輸出16.5.2 字符輸入/輸出16.5.3 直接文件輸入/輸出16.6 文件緩沖技術(shù):關(guān)閉和刷新文件16.7 順序文件存取和隨機文件存取16.7.1 ftell和rewind函數(shù)16.7.2 fseek函數(shù)16.8 檢測文件尾16.9 文件管理函數(shù)16.9.1 刪除文件16.9.2 給文件重命名16.9.3 復(fù)制文件16.10 使用臨時文件16.11 總結(jié)16.12 問與答16.13 作業(yè)16.13.1 小測驗16.13.2 練習(xí)TYPE & RUN 5 計算字符數(shù)第17天課程 操縱字符串17.1 確定字符串的長度17.2 復(fù)制字符串17.2.1 strcpy函數(shù)17.2.2 strncpy函數(shù)17.2.3 strdup函數(shù)17.3 拼接字符串17.3.1 strcat函數(shù)17.3.2 strncat函數(shù)17.4 比較字符串17.4.1 比較兩個完整字符串17.4.2 比較字符串的一部分17.4.3 比較字符串時忽略大小寫17.5 查找字符串17.5.1 strchr函數(shù)17.5.2 strrchr函數(shù)17.5.3 strcspn函數(shù)17.5.4 strspn函數(shù)17.5.5 strpbrk函數(shù)17.5.6 strstr函數(shù)17.6 字符串轉(zhuǎn)換17.7 其他字符串函數(shù)17.7.1 strrev函數(shù)17.7.2 strset和strnset函數(shù)17.8 將字符串轉(zhuǎn)換為數(shù)字17.8.1 將字符串轉(zhuǎn)換為int17.8.2 將字符串轉(zhuǎn)換為long值17.8.3 將字符串轉(zhuǎn)換為long long值17.8.4 將字符串轉(zhuǎn)換為浮點數(shù)17.9 字符檢測函數(shù)17.10 總結(jié)17.11 問與答17.12 作業(yè)17.12.1 小測驗17.12.2 練習(xí)第18天課程 有關(guān)函數(shù)的高級主題18.1 將指針傳遞給函數(shù)18.2 void類型的指針18.3 接受可變數(shù)目參數(shù)的函數(shù)18.4 返回指針的函數(shù)18.5 總結(jié)18.6 問與答18.7 作業(yè)18.7.1 小測驗18.7.2 練習(xí)第19天課程 函數(shù)庫19.1 數(shù)學(xué)函數(shù)19.1.1 三角函數(shù)19.1.2 指數(shù)函數(shù)和對數(shù)函數(shù)19.1.3 雙曲線函數(shù)19.1.4 其他數(shù)學(xué)函數(shù)19.1.5 演示數(shù)學(xué)函數(shù)19.2 處理時間19.2.1 時間的表示19.2.2 時間函數(shù)19.2.3 使用時間函數(shù)19.3 處理錯誤19.3.1 assert宏19.3.2 頭文件errno.h19.3.3 perror函數(shù)19.4 查找和排序19.4.1 使用bsearch進行查找19.4.2 使用qsort進行排序19.4.3 演示查找和排序19.5 總結(jié)19.6 問與答19.7 作業(yè)19.7.1 小測驗19.7.2 練習(xí)TYPE & RUN 6 計算抵押貸款的償還金額第20天課程 管理內(nèi)存20.1 類型轉(zhuǎn)換20.1.1 自動類型轉(zhuǎn)換20.1.2 顯式轉(zhuǎn)換20.2 分配內(nèi)存的存儲空間20.2.1 使用malloc函數(shù)分配內(nèi)存20.2.2 使用calloc函數(shù)分配內(nèi)存20.2.3 使用realloc函數(shù)分配更多的內(nèi)存20.2.4 使用free函數(shù)釋放內(nèi)存20.3 操縱內(nèi)存塊20.3.1 使用memset函數(shù)初始化內(nèi)存20.3.2 使用memcpy復(fù)制內(nèi)存中的數(shù)據(jù)20.3.3 使用memmove函數(shù)移動內(nèi)存中的數(shù)據(jù)20.4 位的用法20.4.1 移位運算符20.4.2 按位邏輯運算符20.4.3 求補運算符20.4.4 結(jié)構(gòu)中的位字段20.5 總結(jié)20.6 問與答20.7 作業(yè)20.7.1 小測驗20.7.2 練習(xí)第21天課程 編譯器的高級用法21.1 使用多個源代碼文件的編程21.1.1 模塊化編程的優(yōu)點21.1.2 模塊化編程技術(shù)21.1.3 模塊的組成部分21.1.4 外部變量和模塊化編程21.1.5 使用.obj文件21.1.6 使用生成工具21.2 C語言的預(yù)處理器21.2.1 #define預(yù)處理器編譯指令21.2.2 使用編譯指令#include21.2.3 使用#if、#elif、#else和#endif21.2.4 使用#if…#endif來幫助調(diào)試21.2.5 避免將頭文件包含多次21.2.6 #undef編譯指令21.3 預(yù)定義的宏21.4 使用命令行參數(shù)21.5 總結(jié)21.6 問與答21.7 作業(yè)21.7.1 小測驗21.7.2 練習(xí)第三周復(fù)習(xí)附加課程第22天課程 附加課程1 面向?qū)ο缶幊陶Z言22.1 過程性語言和面向?qū)ο笳Z言22.2 面向?qū)ο蟮奶卣?2.2.1 多態(tài)22.2.2 封裝22.2.3 繼承22.2.4 使用OOP22.2.5 C++與C語言的關(guān)系22.2.6 C++程序22.3 Java編程語言22.3.1 Java與C和C++的關(guān)系22.3.2 Java的平臺獨立性22.3.3 包22.3.4 Java小程序(applet)和應(yīng)用程序22.3.5 Java的類庫22.3.6 使用Java編寫一個顯示Hello, World的程序22.4 C#編程語言22.5 總結(jié)22.6 問與答22.7 作業(yè)22.7.1 小測驗22.7.2 練習(xí)第23天課程 附加課程2 C++編程語言23.1 第一個C++程序23.2 C++的關(guān)鍵字23.3 C++的數(shù)據(jù)類型23.4 聲明變量23.5 運算23.6 函數(shù)23.6.1 重載函數(shù)23.6.2 為參數(shù)設(shè)置默認值23.6.3 內(nèi)聯(lián)函數(shù)23.7 總結(jié)23.8 問與答23.9 作業(yè)23.9.1 小測驗23.9.2 練習(xí)第24天課程 附加課程3 C++類和對象24.1 C++中的復(fù)雜數(shù)據(jù)類型24.2 類的用法24.2.1 控制對類中數(shù)據(jù)的訪問24.2.2 設(shè)置類數(shù)據(jù)的訪問類型24.3 創(chuàng)建存取成員函數(shù)24.4 結(jié)構(gòu)與類24.5 類的內(nèi)務(wù)管理24.5.1 構(gòu)造函數(shù)24.5.2 析構(gòu)函數(shù)24.5.3 使用構(gòu)造函數(shù)和析構(gòu)函數(shù)24.6 再談函數(shù)重載24.7 再談C++的OOP特征24.8 將類用作數(shù)據(jù)成員24.9 繼承24.9.1 創(chuàng)建用于繼承的基類24.9.2 數(shù)據(jù)存取限定符protected24.9.3 繼承基類24.9.4 再談構(gòu)造函數(shù)和析構(gòu)函數(shù)24.10 本書介紹的C++知識小結(jié)24.11 詳細介紹C++的圖書24.12 總結(jié)24.13 問與答24.14 作業(yè)24.14.1 小測驗24.14.2 練習(xí)第25天課程 附加課程4 Java語言基礎(chǔ)25.1 Java程序的結(jié)構(gòu)25.2 Java程序的基本組成部分25.2.1 導(dǎo)入語句25.2.2 方法25.2.3 注釋25.3 Java中的關(guān)鍵字25.4 Java標識符25.5 數(shù)據(jù)類型25.5.1 基本數(shù)據(jù)類型25.5.2 常量25.5.3 聲明和初始化變量25.5.4 變量的作用域25.5.5 存儲字符串?dāng)?shù)據(jù)25.6 輸入和輸出25.7 數(shù)組25.8 運算符25.9 流程控制25.9.1 if…else25.9.2 while和do…while25.9.3 switch25.9.4 for25.10 總結(jié)25.11 問與答25.12 作業(yè)25.12.1 小測驗25.12.2 練習(xí)第26天課程 附加課程5 Java類和方法26.1 定義類26.1.1 指定類所屬的包26.1.2 創(chuàng)建類的屬性26.1.3 創(chuàng)建并使用一個簡單的類26.2 類的方法26.2.1 方法演示26.2.2 重載方法26.2.3 類的構(gòu)造函數(shù)26.3 使用繼承26.4 總結(jié)26.5 問與答26.6 作業(yè)第27天課程 附加課程6 其他Java技術(shù)27.1 異常27.2 讀寫文件27.2.1 讀文本文件27.2.2 寫文本文件27.3 圖形和Windows編程27.3.1 創(chuàng)建Windows應(yīng)用程序27.3.2 繪制幾何形狀和直線27.3.3 使用按鈕和彈出式窗口27.4 編寫Java小程序27.4.1 小程序和應(yīng)用程序之間的區(qū)別27.4.2 小程序的結(jié)構(gòu)27.4.3 將小程序加入到Web頁中27.4.4 使用小程序27.5 總結(jié)27.6 問與答27.7 作業(yè)第28天課程 附加課程7 C#編程語言28.1 C#是什么28.2 為何使用C#28.2.1 C#是簡單的28.2.2 C#是現(xiàn)代的28.2.3 C#是面向?qū)ο蟮?8.2.4 C#強大、靈活28.2.5 C#包含的單詞為數(shù)不多28.2.6 C#是模塊化的28.2.7 C#是流行的28.3 C#和其他編程語言的比較28.4 C#程序的類型28.5 創(chuàng)建C#程序28.5.1 給源代碼文件命名28.5.2 執(zhí)行C#程序28.5.3 編譯C#源代碼28.5.4 C#編譯器和.NET運行環(huán)境28.6 第一個C#程序28.7 顯示基本信息28.8 C#和Web28.9 總結(jié)28.10 問與答28.11 作業(yè)28.11.1 小測驗28.11.2 練習(xí)附加課程復(fù)習(xí)附錄A ASCII字符集附錄B C/C++中的保留字附錄C 使用二進制和十六進制數(shù)C.1 十進制C.2 二進制C.3 十六進制附錄D 移植性問題D.1 ANSI標準D.2 ANSI關(guān)鍵字D.3 區(qū)分大小寫D.4 可移植的字符D.5 確保ANSI兼容性D.6 繞開ANSI標準D.7 使用可移植的數(shù)值變量D.7.1 最大值和最小值D.7.2 確定數(shù)字的類型D.7.3 轉(zhuǎn)換字符的大小寫:一個可移植性范例D.8 可移植的結(jié)構(gòu)和共用體D.8.1 字對齊D.8.2 讀寫結(jié)構(gòu)D.8.3 在可移植的程序中使用非-ANSI特性D.8.4 ANSI標準頭文件D.9 總結(jié)D.10 問與答D.11 作業(yè)D.11.1 小測驗D.11.2 練習(xí)附錄E 常用的C語言函數(shù)附錄F 作業(yè)答案第1天課程的答案第2天課程的答案第3天課程的答案第4天課程的答案第5天課程的答案第6天課程的答案第7天課程的答案第8天課程的答案第9天課程的答案第10天課程的答案第11天課程的答案第12天課程的答案第13天課程的答案第14天課程的答案第15天課程的答案第16天課程的答案第17天課程的答案第18天課程的答案第19天課程的答案第20天課程的答案第21天課程的答案附加課程1的答案附加課程2的答案附加課程3的答案附加課程4的答案附加課程5的答案附加課程6的答案附加課程7的答案附錄G Dev-C++編譯器G.1 Dev-C++簡介G.2 在Microsoft Windows上安裝Dev-C++G.3 Dev-C++中的程序G.4 使用Dev-C++G.4.1 針對C語言編程定制Dev-C++G.4.2 在Dev-C++中輸入并編譯程序G.4.3 編譯Dev-C++程序G.4.4 運行Dev-C++程序G.5 總結(jié)

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    21天學(xué)通C語言 PDF格式下載


用戶評論 (總計4條)

 
 

  •   21天真能學(xué)會
  •   聽朋友介紹的很不錯!?。?/li>
  •   21天學(xué)通C語言,好書!
  •   很簡單通俗!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7