《21世紀普通高校計算機公共課程規(guī)劃教材:C語言程序設(shè)計》是將c語言作為入門語言的程序設(shè)計類課程編寫的教材,以培養(yǎng)學生程序設(shè)計的基本能力為目標。全書共分為10章:c語言概述,c語言基本數(shù)據(jù)類型、運算符及表達式,簡單程序設(shè)計,選擇結(jié)構(gòu)程序設(shè)計,循環(huán)結(jié)構(gòu)程序設(shè)計,數(shù)組,函數(shù)與預處理,指針,結(jié)構(gòu)體、共用體和枚舉,文件。
《21世紀普通高校計算機公共課程規(guī)劃教材:C語言程序設(shè)計》集作者多年的“c程序設(shè)計”課程的教學經(jīng)驗,全書組織精練、內(nèi)容全面、條理清晰;每章附有較多的圖表和程序流程圖,講述力求理論聯(lián)系實際、循序漸進、深入淺出、通俗易懂,注重培養(yǎng)讀者分析問題和程序設(shè)計的能力,以及良好的程序設(shè)計風格和習慣,具有較強的實用性。
《21世紀普通高校計算機公共課程規(guī)劃教材:C語言程序設(shè)計》可作為高等學校程序設(shè)計語言課程的教學用書,也可作為計算機等級考試的參考書,還可作為對c語言程序設(shè)計感興趣的讀者的自學用書。
C語言是一種結(jié)構(gòu)化程序設(shè)計語言,它功能豐富、表達能力強、使用靈活、應用面廣、可移植性好,既具有高級語言的特點,又具有低級語言的許多功能,既可以用來編寫系統(tǒng)軟件,也可以用來編寫應用軟件。C語言作為一門較為通用的編程語言,得到越來越廣泛的應用。目前,C語言程序設(shè)計被許多高校列為程序設(shè)計課程的首選,全國及各省市的計算機等級考試等都將C語言列入了考試范圍。
本書是針對非計算機專業(yè)初學者的特點編寫的,把提高編程能力、閱讀程序的能力放在重要地位,避免在程序設(shè)計教學過程中陷入學習程序設(shè)計語言繁雜的語法和格式,而是將主要精力集中在所要解決的實際問題上,從知識點以及具體問題出發(fā),重點講述如何通過程序設(shè)計來解決問題。
本書是根據(jù)作者多年的教學經(jīng)驗和教學改革成果編寫而成。全書以程序設(shè)計為主線,以編程應用為出發(fā)點,通過案例和問題引入內(nèi)容,重點講解程序設(shè)計的思想和方法,并介紹相關(guān)的語言知識,注重培養(yǎng)讀者分析問題和程序設(shè)計的能力,注重培養(yǎng)良好的程序設(shè)計風格和習慣。本書講述力求理論聯(lián)系實際、循序漸進,全書通過大量例題驗證語法和說明程序設(shè)計方法,并且為了使讀者更好地掌握各章節(jié)內(nèi)容,章末配有大量精選的習題。通過本書的學習和解題練習,讀者既能迅速掌握C語言的基礎(chǔ)知識,又能很快地學會C語言的編程技術(shù),提高解決實際問題的能力。
為了更好地理解C語言編程的思想,將所學知識整體連貫,提高學生綜合分析問題和解決問題的能力,為以后各種編程語言的學習打下堅實的基礎(chǔ),本教材安排了一個綜合案例——學生成績管理系統(tǒng)。綜合案例的設(shè)計幾乎涵蓋了C語言的所有知識點,是對C語言的綜合應用,是對所學知識的總結(jié),旨在幫助讀者掌握完整的課程脈絡(luò)。
全書共分為10章,第1章為C語言概述,主要內(nèi)容包括程序設(shè)計的概念、C語言的發(fā)展、特點和C程序的組成和運行步驟; 第2章為C語言基本數(shù)據(jù)類型、運算符及表達式,主要內(nèi)容包括數(shù)據(jù)類型、數(shù)據(jù)類型轉(zhuǎn)換、運算符與表達式; 第3章為簡單程序設(shè)計,主要內(nèi)容包括算法的概述、數(shù)據(jù)的輸入與輸出、順序程序設(shè)計; 第4章為選擇結(jié)構(gòu)程序設(shè)計,主要內(nèi)容包括關(guān)系運算符和關(guān)系表達式、邏輯運算符與邏輯表達式、if語句和switch語句的使用; 第5章為循環(huán)結(jié)構(gòu)程序設(shè)計,主要內(nèi)容包括復合賦值運算、自增自減運算、while型循環(huán)、dowhile型循環(huán)、for型循環(huán)、循環(huán)的嵌套、continue和break語句及三種控制結(jié)構(gòu)的綜合應用; 第6章為數(shù)組,主要內(nèi)容包括一維數(shù)組、二維數(shù)組、多維數(shù)組、字符數(shù)組; 第7章為函數(shù)與預處理,主要內(nèi)容包括函數(shù)概念、函數(shù)定義、函數(shù)間的參數(shù)傳遞、函數(shù)調(diào)用、函數(shù)變量的作用域、變量的存儲類型、編譯預處理(文件包含、宏定義); 第8章為指針,主要內(nèi)容包括指針的含義、指針變量、指針與數(shù)組、指針與函數(shù)、指針與字符串、指向指針的指針; 第9章為結(jié)構(gòu)體、共用體和枚舉,主要內(nèi)容包括結(jié)構(gòu)體的定義和使用、共用體、枚舉類型和使用typedef語句自定義數(shù)據(jù)類型; 第10章為文件,主要內(nèi)容包括C文件的概述、文件的打開與關(guān)閉、文件的讀寫、文件的定位。
本書中的程序都是在Visual C++6.0編譯環(huán)境下進行調(diào)試的,在其他C語言環(huán)境下基本上都可以運行通過。
作者還編寫了配套的《C語言程序設(shè)計學習指導》一書,內(nèi)容包括習題解答和實驗指導。習題解答包括與教材配套的習題解答和解析、大量的練習與答案,以幫助讀者鞏固各章節(jié)知識點; 實驗指導共有9個實驗,每個實驗內(nèi)容又分為基礎(chǔ)型實驗、設(shè)計型實驗和提高型實驗,供不同程度的讀者選作,在每個實驗中還包括實驗指導、設(shè)計分析、操作指導和常見問題分析,以幫助讀者更好地理解實驗內(nèi)容,高質(zhì)量地完成實驗; 最后給出了實驗思考題。
本書由天津城市建設(shè)學院彭慧卿副教授、邢振祥教授擔任主編,天津城市建設(shè)學院彭慧卿編寫第7、9章,劉琦編寫第1、5章,李耀芳編寫第2、3章,高晗編寫第4、10章,戴華林編寫第6章,戴春霞編寫第8章。最后由彭慧卿統(tǒng)稿,邢振祥教授、孫瑩光副教授審閱了全書并提出了寶貴意見。
在本書編寫過程中,編者參考了大量有關(guān)C語言程序設(shè)計的書籍和資料,在此對這些參考文獻的作者表示感謝。
由于編者水平有限,不足之處在所難免,懇請廣大讀者批評指正。
編者2012年11月
第1章 c語言概述
1.1 程序與程序設(shè)計語言
1.1.1 程序的基本概念
1.1.2 程序設(shè)計語言
1.2 c語言的歷史背景
1.3 c語言的特性
1.4 c語言程序的基本結(jié)構(gòu)
1.4.1 c語言程序的結(jié)構(gòu)特點
1.4.2 程序設(shè)計風格
1.5 c語言編譯環(huán)境介紹
1.5.1 visual c++6.0的啟動
1.5.2 編輯源程序
1.5.3 編譯、連接和執(zhí)行
1.5.4 關(guān)閉工作區(qū)
習題
第2章 c語言基本數(shù)據(jù)類型、運算符及表達式
2.1 標識符
2.1.1 字符集
2.1.2 c語言詞匯
.2.2 c語言的數(shù)據(jù)類型
2.3 常量和變量
2.4 整型數(shù)據(jù)
2.4.1 整型常量
2.4.2 整型變量
2.5 實型數(shù)據(jù)
2.5.1 實型常量
2.5.2 實型變量
2.6 字符型數(shù)據(jù)
2.6.1 字符常量
2.6.2 字符變量
2.7 運算符和表達式
2.7.1 簡單賦值運算符及其表達式
2.7.2 算術(shù)運算符及其表達式
2.7.3 數(shù)據(jù)類型轉(zhuǎn)換
2.7.4 位運算符及其表達式
習題
第3章 簡單程序設(shè)計
3.1 算法
3.1.1 算法的概念
3.1.2 算法的描述
3.2 結(jié)構(gòu)化程序設(shè)計
3.2.1 c語言程序結(jié)構(gòu)分類
3.2.2 c語言語句分類
3.3 數(shù)據(jù)輸入輸出
3.3.1 格式輸出函數(shù)printf
3.3.2 格式輸入函數(shù)scanf
3.4 字符數(shù)據(jù)的輸入輸出
3.5 順序結(jié)構(gòu)程序設(shè)計
習題
第4章 選擇結(jié)構(gòu)程序設(shè)計
4.1 關(guān)系運算符與關(guān)系表達式
4.1.1 關(guān)系運算符
4.1.2 關(guān)系表達式
4.2 邏輯運算符與邏輯表達式
4.2.1 邏輯運算符
4.2.2 邏輯表達式
4.3 if語句
4.3.1 單分支選擇結(jié)構(gòu)if語句
4.3.2 雙分支選擇結(jié)構(gòu)if-else語句
4.4 if語句的嵌套
4.5 switch語句
4.6 選擇結(jié)構(gòu)應用舉例
習題
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計
5.1 循環(huán)的概念
5.2 for語句
5.2.1 for語句的結(jié)構(gòu)
5.2.2 復合賦值運算
5.2.3 自增和自減運算
5.2.4 逗號運算
5.3 while語句
5.4 do-while語句
5.5 如何跳出循環(huán)結(jié)構(gòu)
5.6 循環(huán)的嵌套
5.7 三種循環(huán)的比較
5.7.1 循環(huán)語句的選擇
5.7.2 無限循環(huán)
5.8 循環(huán)結(jié)構(gòu)應用實例
習題
第6章 數(shù)組
6.1 一維數(shù)組
6.1.1 一維數(shù)組的定義
6.1.2 一維數(shù)組的初始化
6.1.3 一維數(shù)組元素的引用
6.1.4 一維數(shù)組程序舉例
6.2 二維數(shù)組
6.2.1 二維數(shù)組的定義
6.2.2 二維數(shù)組元素的引用
6.2.3 二維數(shù)組的初始化
6.2.4 二維數(shù)組程序舉例
6.3 字符數(shù)組
6.3.1 字符數(shù)組的定義與初始化
6.3.2 字符串
6.3.3 字符串的操作
6.3.4 字符串處理函數(shù)
6.3.5 字符數(shù)組程序舉例
習題
第7章 函數(shù)與預處理
7.1 模塊化程序設(shè)計方法
7.2 庫函數(shù)介紹
7.3 用戶自定義函數(shù)的基本概念
7.3.1 函數(shù)的定義
7.3.2 形參和實參
7.3.3 函數(shù)的返回值
7.4 函數(shù)的調(diào)用
7.4.1 函數(shù)的調(diào)用形式
7.4.2 函數(shù)的調(diào)用過程
7.4.3 函數(shù)的聲明
7.5 函數(shù)的參數(shù)傳遞
7.5.1 值傳遞
7.5.2 地址傳遞
7.6 函數(shù)的嵌套調(diào)用和遞歸調(diào)用
7.6.1 函數(shù)的嵌套調(diào)用
7.6.2 函數(shù)的遞歸調(diào)用
7.7 變量的作用域和存儲類別
7.7.1 變量的作用域
7.7.2 變量的存儲類別
7.8 預處理命令
7.8.1 宏定義
7.8.2 文件包含
7.9 大程序的組成
7.9.1 c程序的組成
7.9.2 源文件間的通信
7.1 0應用舉例
習題
第8章 指針
8.1 變量的地址和指針
8.2 指針變量
8.2.1 指針變量的定義和初始化
8.2.2 指針的運算
8.3 指針和數(shù)組
8.3.1 指針和一維數(shù)組
8.3.2 指針和二維數(shù)組
8.4 指針與字符串
8.4.1 字符指針
8.4.2 字符指針與字符數(shù)組
8.5 指針與函數(shù)
8.5.1 指針作為函數(shù)的參數(shù)
8.5.2 數(shù)組名與指針作為函數(shù)參數(shù)的比較
8.5.3 指針型函數(shù)
8.5.4 指向函數(shù)的指針
8.6 指向指針的指針和指針數(shù)組
8.6.1 指向指針的指針
8.6.2 指針數(shù)組
8.6.3 行指針
8.7 main函數(shù)的形參
習題
第9章 結(jié)構(gòu)體、共用體和枚舉
9.1 結(jié)構(gòu)體類型的定義
9.2 結(jié)構(gòu)體變量的定義和使用
9.2.1 結(jié)構(gòu)體變量的定義
9.2.2 結(jié)構(gòu)體變量的引用
9.2.3 結(jié)構(gòu)體變量的初始化
9.2.4 結(jié)構(gòu)體變量作為函數(shù)參數(shù)
9.3 結(jié)構(gòu)體數(shù)組
9.3.1 結(jié)構(gòu)體數(shù)組的定義及初始化
9.3.2 結(jié)構(gòu)體數(shù)組應用舉例
9.4 結(jié)構(gòu)體指針
9.4.1 指向結(jié)構(gòu)體變量的指針
9.4.2 指向結(jié)構(gòu)體數(shù)組的指針
9.4.3 結(jié)構(gòu)體指針作為函數(shù)參數(shù)
9.5 共用體類型
9.5.1 共用體的概念
9.5.2 共用體類型定義和變量定義
9.6 枚舉類型
9.6.1 枚舉類型變量的定義
9.6.2 枚舉類型的應用
9.7 用typedef自定義數(shù)據(jù)類型
習題
第10章 文件
10.1 文件概述
10.1.1 文件的概念
10.1.2 文件的分類
10.1.3 緩沖文件系統(tǒng)
10.1.4 文件指針
10.1.5 文件的操作順序
10.2 文件操作
10.2.1 文件的打開和關(guān)閉
10.2.2 文件的順序讀/寫
10.2.3 文件的定位與隨機讀寫
10.3 文件應用綜合實例
習題
附錄a 標準字符與ascii代碼對照表
附錄b 運算符的優(yōu)先級和結(jié)合性
附錄c 常用庫函數(shù)
參考文獻