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