《C語言程序設計(第2版)/21世紀普通高校計算機公共課程規劃教材》是編者根據多年教學和輔導程序設計競賽的經驗總結而成的,在第1版的基礎上,在幾個主要篇章增加了相關知識的進階應用,供各層次的閱讀者學習參考。全書以數據類型為主線,以函數為核心,注重培養讀者的編程風格,將具有代表性和實用性的案例不斷擴展和完善,激發編程的興趣。
《C語言程序設計(第2版)/21世紀普通高校計算機公共課程規劃教材》配有輔導教材《C程序設計習題、實驗與課程設計》(清華大學出版社,田麗華主編),提供《C語言程序設計(第2版)/21世紀普通高校計算機公共課程規劃教材》課后習題的詳細解答及多個實驗、課程設計題目。
《C語言程序設計(第2版)/21世紀普通高校計算機公共課程規劃教材》文字流暢、通俗易懂、深入淺出、實用性強,案例具有較強的針對性。《C語言程序設計(第2版)/21世紀普通高校計算機公共課程規劃教材》可作為計算機專業的本科生、研究生、專科生的教材,也可作為學生參加比賽的輔導用書及編程愛好者的參考書。
基礎篇
第1章 C語言概述
1.1 程序設計語言的發展及其特點
1.2 C語言的發展過程及其特點
1.2.1 C語言的發展過程
1.2.2 當代最優秀的程序設計語言
1.2.3 C語言的版本
1.2.4 C語言的特點
1.2.5 C語言的應用
1.3 認識簡單的C語言程序
1.4 VisualC++6.0集成開發環境的使用
1.4.1 VisualC++6.0簡介和啟動
1.4.2 利用VisualC++6.0集成開發環境建立工程
1.5 C程序開發過程
本章小結
習題1
第2章 數據類型、運算符與表達式
2.1 計算機的工作原理
2.2 C語言的數據類型
2.3 常量、變量和標識符
2.3.1 標識符
2.3.2 常量和符號常量
2.3.3 變量
2.4 整型數據
2.4.1 整型常量的表示方法
2.4.2 整型變量
2.4.3 整型常量的分類
2.5 實型數據
2.5.1 實型常量的表示方法
2.5.2 實型變量
2.5.3 實型常數的類型
2.6 字符型數據
2.6.1 字符常量
2.6.2 字符變量
2.6.3 字符數據在內存中的存儲形式及使用方法
2.6.4 字符串常量
2.7 C語言的運算符與表達式
2.7.1 賦值運算符、賦值表達式
2.7.2 不同數據類型間的賦值規則
2.7.3 算術運算符和算術表達式
2.7.4 逗號運算符和逗號表達式
2.7.5 sizeof運算符和復合賦值運算符
本章小結
習題2
第3章 順序程序設計
3.1 程序的控制結構
3.1.1 算法的基本概念
3.1.2 算法的特性
3.1.3 算法的表示
3.1.4 用NS流程圖表示算法
3.1.5 用計算機語言表示算法
3.1.6 結構化程序設計方法
3.2 C語句概述
3.3 數據輸入輸出的概念及在C語言中的實現
3.4 字符數據的輸入與輸出
3.4.1 字符輸出函數putchar
3.4.2 鍵盤輸入函數getchar
3.5 格式化輸出函數printf
3.5.1 printf函數調用的一般形式
3.5.2 使用printf函數的注意事項
3.6 格式化輸入函數scanf
3.6.1 scanf函數調用的一般形式
3.6.2 使用scanf函數的注意事項
3.7 順序結構程序設計舉例
本章小結
習題3
第4章 選擇結構程序設計
4.1 關系運算符和表達式
4.1.1 關系運算符及其優先級
4.1.2 關系表達式
4.2 邏輯運算符和邏輯表達式
4.2.1 邏輯運算符
4.2.2 邏輯表達式
4.3 if語句
4.3.1 if語句的三種形式
4.3.2 if語句的嵌套
4.3.3 條件運算符和條件表達式
4.4 switch語句
4.5 程序舉例
本章小結
習題4
第5章 循環控制
5.1 概述
5.2 goto語句以及用goto語句構成循環
5.3 while語句
5.4 dowhile語句
5.5 for語句
5.6 循環的嵌套
5.7 幾種循環的比較
5.8 break和continue語句
5.8.1 break語句
5.8.2 continue語句
5.9 程序舉例
5.10 *循環控制進階應用
本章小結
習題5
第6章 函數
6.1 函數概述
6.2 函數的定義與調用
6.2.1 無參函數的定義形式
6.2.2 有參函數定義的一般形式
6.3 函數的返回值
6.4 函數參數的傳遞方式
6.5 函數的調用
6.5.1 函數調用的方式
6.5.2 函數的嵌套調用
6.5.3 函數的遞歸調用
6.6 變量的作用域和生命周期
6.6.1 局部變量的作用域和生命周期
6.6.2 全局變量的作用域和生命周期
6.7 變量的存儲類別
6.7.1 動態存儲方式與靜態存儲方式
6.7.2 auto變量
6.7.3 用static聲明局部變量
6.7.4 register變量
6.8 *函數的進階應用
本章小結
習題6
第7章 預處理命令
7.1 概述
7.2 宏定義
7.2.1 無參宏定義
7.2.2 帶參宏定義
7.3 文件包含
7.4 *條件編譯
本章小結
習題7
第8章 數組
8.1 一維數組
8.1.1 一維數組的定義方式
8.1.2 一維數組在內存中的存放形式
8.1.3 一維數組元素的引用
8.1.4 一維數組的初始化
8.1.5 一維數組程序舉例
8.2 二維數組的定義和引用
8.2.1 二維數組的定義
8.2.2 二維數組在內存中的存放形式
8.2.3 二維數組元素的引用
8.2.4 二維數組的初始化
8.2.5 二維數組程序舉例
8.3 字符數組和字符串
8.3.1 字符數組的定義
8.3.2 字符數組在內存中的存放形式
8.3.3 字符數組的初始化
8.3.4 字符數組的應用
8.3.5 字符串和字符串結束標志
8.3.6 字符數組的輸入輸出
8.3.7 字符串處理函數
8.4 數組元素或數組名作為函數的參數
8.4.1 數組元素作為函數的參數
8.4.2 數組名作為函數的參數
8.5 程序舉例
本章小結
習題8
第9章 指針
9.1 地址和指針的基本概念
9.2 變量的指針和指向變量的指針變量
9.2.1 定義一個指針變量
9.2.2 指針變量在內存中的表示
9.2.3 指針變量的引用
9.2.4 指針變量作為函數參數
9.3 數組的指針和指向數組的指針變量
9.3.1 指向數組元素的指針變量
9.3.2 通過指針引用數組元素
9.3.3 數組名作函數參數
9.4 字符串的指針和指向字符串的指針變量
9.4.1 字符串的表示形式
9.4.2 使用字符串指針變量與字符數組的區別
9.5 *函數指針變量
9.6 *指針型函數
9.7 指針數組和指向指針的指針變量
9.7.1 指針數組的概念
9.7.2 指向指針的指針變量
9.7.3 main函數的參數
9.8 指針的數據類型和指針運算
9.8.1 指針的數據類型
9.8.2 指針運算
9.8.3 void指針類型
9.9 *數組與指針進階應用
9.9.1 數組和指針的區別
9.9.2 數組和指針的聯系
9.9.3 數組和指針的聯合應用
本章小結
習題9
第10章 結構體與共用體
10.1 定義一個結構體的一般形式
10.2 結構體變量的說明
10.3 結構體成員變量的表示方法
10.4 結構體變量的賦值
10.5 結構體變量的初始化
10.6 結構體數組
10.6.1 結構體數組的定義
10.6.2 結構體數組的初始化
10.6.3 結構體數組元素的引用
10.6.4 結構體數組的應用
10.7 結構體指針變量的說明和使用
10.7.1 指向結構體變量的指針變量
10.7.2 指向結構體數組的指針
10.7.3 結構體變量和指針變量作函數參數
10.8 動態存儲分配
10.9 鏈表的概念
10.9.1 創建動態鏈表
10.9.2 鏈表結點的查找與輸出
10.9.3 鏈表的插入操作
10.9.4 刪除結點的操作
10.1 0聯合體
10.1 0.1 聯合體類型的定義
10.1 0.2 聯合體變量的定義和引用
10.1 0.3 聯合體變量的賦值
10.1 1枚舉類型
10.1 1.1 枚舉類型的定義和枚舉變量的說明
10.1 1.2 枚舉類型變量的賦值和使用
本章小結
習題10
第11章 位運算
11.1 位運算符
11.1.1 按位與運算
11.1.2 按位或運算
11.1.3 按位異或運算
11.1.4 取反運算
11.1.5 左移運算
11.1.6 右移運算
本章小結
習題11
第12章 文件
12.1 文件概述
12.2 文件指針
12.3 文件的打開與關閉
12.3.1 文件的打開(fopen函數)
12.3.2 文件的關閉(fclose函數)
12.4 文件的讀寫
12.4.1 字符讀寫函數fgetc和fputc
12.4.2 字符串讀寫函數fgets和fputs
12.4.3 數據塊讀寫函數fread和fwtrite
12.4.4 格式化讀寫函數fscanf和fprintf
12.5 文件的隨機讀寫
12.5.1 文件定位
12.5.2 文件的隨機讀寫
12.6 文件檢測函數
12.6.1 文件結束檢測函數feof
12.6.2 讀寫文件出錯檢測函數
本章小結
習題12
應用篇
第13章 應用問題示例
13.1 邏輯推理問題
13.2 高精度計算
13.3 模擬題
附錄A 程序調試篇
附錄B 關鍵字
附錄C ASCII碼表
附錄D 運算符的優先級及結合方式
附錄E 常用函數
參考文獻