21天學通C語言

所属分类:編程語言與程序設計  
出版时间:2012-8   出版时间:人民郵電出版社   作者:(美) Bradley L.Jones Peter Aitk   页数:614   译者:信達工作室  

内容概要

  《21天学通C语言(第6版·修订版)》是初学者学习C语言的经典教程。本版按最新的标准(ISO/IEC:9899-1999),以循序渐进的方式介绍了C语言编程方面知识,并提供了丰富的实例和大量的练习。通过学习实例,并将所学的知识用于完成练习,读者将逐步了解、熟悉并精通C语言。  《21天学通C语言(第6版·修订版)》包括四周的课程。第一周的课程介绍了C语言程序的基本元素,包括变量、常量、语句、表达式、函数和循环;第二周的课程介绍了数组、指针、字符和字符串、结构和共用体、变量的作用域、输入/输出等;第三周的课程介绍了有关指针和函数的高级主题、磁盘文件读写、字符串操纵函数、函数库、内存管理以及编译器的高级用法等;第四周是附加课程,简要地介绍了最流行的面向对象语言——C++、Java和C#。  本书针对初中级程序员编写,可作为学习C语言的教程或参考资料。

书籍目录

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

图书封面




    21天學通C語言下載



用户评论 (总计4条)

 
 

  •     21天真能學會
  •     听朋友介紹的很不錯!!!
  •     21天學通C語言,好書!
  •     很簡單通俗!
 

計算機與互聯網 PDF免费下载,編程語言與程序設計PDF免费下载。 计算机教程网 

计算机教程网 @ 2017