《普通高等教育“十二五”規(guī)劃教材:C語言程序設(shè)計(jì)》根據(jù)教育部計(jì)算機(jī)基礎(chǔ)課程教學(xué)指導(dǎo)分委員會制定的“高級語言程序設(shè)計(jì)”課程的教學(xué)基本要求和全國高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生計(jì)算機(jī)等級考試教學(xué)大綱要求,以C語言為主要內(nèi)容,介紹了結(jié)構(gòu)化程序設(shè)計(jì)的方法。《普通高等教育“十二五”規(guī)劃教材:C語言程序設(shè)計(jì)》主要內(nèi)容有C語言概述、C語言程序基礎(chǔ)、結(jié)構(gòu)化程序設(shè)計(jì)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體和共用體、文件。各章均包含了具體的知識內(nèi)容與操作實(shí)例。另外,附錄中有C語言要使用的ASCII碼表、運(yùn)算符表和常用函數(shù)介紹。《普通高等教育“十二五”規(guī)劃教材:C語言程序設(shè)計(jì)》內(nèi)容豐富、由淺入深,語言通俗易懂,適合于高等學(xué)校作為教材使用,也可供從事計(jì)算機(jī)應(yīng)用和開發(fā)的各類人員使用。《普通高等教育“十二五”規(guī)劃教材:C語言程序設(shè)計(jì)》每章后面有豐富的習(xí)題,供讀者練習(xí)使用。
前言
第1章 C語言概述
1.1 C語言出現(xiàn)的歷史背景
1.2 C語言的基本特點(diǎn)
1.3 C語言的發(fā)展
1.3.1 K&RC
1.3.2 ANSIC和ISOC
1.3.3 C99
1.3.4 C1X
1.4 C語言的程序結(jié)構(gòu)
1.5 C語言程序上機(jī)環(huán)境
第2章 C語言程序基礎(chǔ)
2.1 變量和常量
2.1.1 變量名
2.1.2 基本數(shù)據(jù)類型
2.1.3 常量
2.1.4 變量的說明
2.2 運(yùn)算符和表達(dá)式
2.2.1 算術(shù)運(yùn)算符
2.2.2 關(guān)系運(yùn)算符與邏輯運(yùn)算符
2.2.3 自增運(yùn)算符與自減運(yùn)算符
2.2.4 按位運(yùn)算符
2.2.5 賦值運(yùn)算符
2.2.6 逗號運(yùn)算符
2.2.7 條件運(yùn)算符
2.2.8 運(yùn)算符優(yōu)先級與求值順序
2.3 類型轉(zhuǎn)換
2.4 預(yù)處理
2.4.1 宏定義和宏展開
2.4.2 文件包含
習(xí)題
第3章 結(jié)構(gòu)化程序設(shè)計(jì)
3.1 順序結(jié)構(gòu)程序設(shè)計(jì)
3.1.1 賦值語句
3.1.2 輸入腧出函數(shù)
3.2 選擇結(jié)構(gòu)程序設(shè)計(jì)
3.2.1 if語句
3.2.2 條件運(yùn)算符
3.2.3 switch語句
3.2.4 選擇結(jié)構(gòu)程序設(shè)計(jì)舉例
3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
3.3.1 四種循環(huán)結(jié)構(gòu)
3.3.2 循環(huán)的嵌套
3.3.3 break與continue語句
3.3.4 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)舉例
習(xí)題
第4章 數(shù)組
4.1 一維數(shù)組
4.1.1 -維數(shù)組的定義
4.1.2 數(shù)組中元素的引用
4.1.3 -維數(shù)組的初始化
4.1.4 -維數(shù)組應(yīng)用舉例
4.2 二維數(shù)組
4.2.1 二維數(shù)組的定義
4.2.2 二維數(shù)組的引用
4.2.3 二維數(shù)組的初始化
4.2.4 二維數(shù)組應(yīng)用舉例
4.3 字符數(shù)組
4.3.1 字符數(shù)組的定義和賦值
4.3.2 字符串的輸入和輸出
4.3.3 字符串常用處理函數(shù)
4.3.4 字符串應(yīng)用舉例
習(xí)題
第5章 函數(shù)
5.1 函數(shù)簡述
5.2 函數(shù)定義和調(diào)用
5.2.1 函數(shù)的定義和聲明
5.2.2 函數(shù)的調(diào)用和參數(shù)傳遞
5.2.3 數(shù)組作為函數(shù)參數(shù)
5.3 函數(shù)的嵌套讕用和遞歸調(diào)用
5.3.1 函數(shù)的嵌套調(diào)用
5.3.2 函數(shù)的遞歸調(diào)用
5.4 變量的作用域和生存期
5.4.1 變量的作用域
5.4.2 變量的生存期
5.5 內(nèi)部函數(shù)和外部函數(shù)
5.5.1 內(nèi)部函數(shù)
5.5.2 外部函數(shù)
習(xí)題
第6章 指針
6.1 地址與指針
6.2 指針變量
6.2.1 指針變量的定義
6.2.2 指針變量的引用
6.3 指針變量作為函數(shù)參數(shù)
6.4 指針與數(shù)組
6.4.1 數(shù)組名是一個常量指針
6.4.2 數(shù)組元素的指針表示
6.4.3 指向數(shù)組元素的指針變量
6.5 數(shù)組名作函數(shù)參數(shù)
6.6 字符串與針指變量
6.6.1 字符串的表示
6.6.2 字符串指針作函數(shù)的參數(shù)
6.6.3 字符串指針變量與字符數(shù)組的區(qū)別
6.7 函數(shù)指針變量
6.8 指針型函數(shù)
6.9 指針數(shù)組和指向指針的指針
6.9.1 指針數(shù)組
6.9.2 指向指針的指針
6.9.3 main函數(shù)的參數(shù)
6.10有關(guān)指針的數(shù)據(jù)類型和指針運(yùn)算的小結(jié)
6.10.1 常見指針類型
6.10.2 指針的運(yùn)算
6.10.3 void指針類型
習(xí)題
第7章 結(jié)構(gòu)體和共用體
7.1 結(jié)構(gòu)體的概念與定義
7.1.1 結(jié)構(gòu)體簡況
7.1.2 定義結(jié)構(gòu)體類型變量的方法
7.1.3 結(jié)構(gòu)體變量的初始化與引用
7.1.4 結(jié)構(gòu)體變量的輸入和輸出
7.2 結(jié)構(gòu)體數(shù)組
7.2.1 結(jié)構(gòu)體數(shù)組的定義
7.2.2 結(jié)構(gòu)體數(shù)組的初始化
7.2.3 結(jié)構(gòu)體數(shù)組的引用
7.3 指針與結(jié)構(gòu)體
7.3.1 指向結(jié)構(gòu)體變量的指針
7.3.2 指向結(jié)構(gòu)體數(shù)組的指針
7.3.3 用結(jié)構(gòu)體變量和指向結(jié)構(gòu)體的指針作函數(shù)參數(shù)
7.4 動態(tài)存儲分配一鏈表
7.4.1 鏈表的建立
7.4.2 鏈表的遍歷
7.4.3 鏈表的插入與刪除
7.5 共用體
7.5.1 共用體的概念
7.5.2 共用體變量的引用
7.5.3 共用體變量的應(yīng)用
7.6 枚舉類型
7.7 用typedef定義類型
習(xí)題
第8章 文件
8.1 文件概述及文件類型指針
8.1.1 文件概述
8.1.2 文件(FILE)類型指針
8.2 文件的打開與關(guān)閉
8.2.1 文件的打開(fopen函數(shù))
8.2.2 文件的關(guān)閉(fclose函數(shù))
8.3 文件的讀寫
8.3.1 輸入和輸出一個字符
8.3.2 輸入和輸出一個字符串
8.3.3 格式化的輸入和輸出
8.3.4 按“記錄”的方式輸入和輸出
8.4 文件的定位及出錯檢測
8.4.1 文件的定位
8.4.2 文件操作的也錯檢測
習(xí)題
附錄AASCII碼表
附錄B運(yùn)算符表
附錄C常用函數(shù)表
主要參考文獻(xiàn)
通過前面章節(jié)的學(xué)習(xí),我們知道變量能夠存儲指定數(shù)據(jù)類型的數(shù)值。其實(shí),變量可以視為某個內(nèi)存區(qū)域的名稱,而在使用變量時(shí),程序是通過該變量蘊(yùn)含的內(nèi)存地址和類型引用特定內(nèi)存區(qū)域的內(nèi)容。為了方便程序訪問內(nèi)存地址,C語言支持一種特殊的類型:指針。指針里面存儲的數(shù)值被解釋成為內(nèi)存里的一個地址。使用一個指針時(shí),常將指針指向一個變量或一個函數(shù),程序既可以直接使用這個指針?biāo)鶅Υ娴膬?nèi)存地址,也可以訪問這個地址所指向的變量或函數(shù)。C語言之所以強(qiáng)大,很大部分體現(xiàn)在其靈活的指針運(yùn)用上。通過指針,我們能很好地利用內(nèi)存資源,同時(shí)讓程序編寫更簡潔,執(zhí)行效率更高。
本章將在介紹指針的定義和運(yùn)算的基礎(chǔ)上,進(jìn)一步詳細(xì)說明指針在數(shù)組、字符串和函數(shù)中的廣泛應(yīng)用。指針是C語言學(xué)習(xí)中較為困難的一部分,在學(xué)習(xí)中必須要做大量的程序設(shè)計(jì)和上機(jī)調(diào)試練習(xí)。
6.1 地址與指針
計(jì)算機(jī)處理的數(shù)據(jù)都是存放在存儲器中的。通常將存儲器中一個字節(jié)(8bit)稱為一個內(nèi)存單元,機(jī)器為每一個內(nèi)存單元分配一個唯一的內(nèi)存地址。存儲單元從0開始順序編號,這些編號就構(gòu)成了每個存儲單元的地址。程序在內(nèi)存中存放數(shù)據(jù)