本書是引領(lǐng)初學(xué)者由淺入深、循序漸進(jìn)學(xué)習(xí)高級(jí)語言程序設(shè)計(jì)的教材。全書介紹了C語言中的基本數(shù)據(jù)類型、程序的控制結(jié)構(gòu)、模塊化程序設(shè)計(jì)、數(shù)組、指針、自定義數(shù)據(jù)類型、文件等知識(shí),并提供了一個(gè)完整的綜合應(yīng)用實(shí)例。本書緊緊圍繞新工科人才培養(yǎng)的目標(biāo),重點(diǎn)講解了C程序設(shè)計(jì)的思想與方法,并結(jié)合豐富的案例,逐步培養(yǎng)初學(xué)者的算法意識(shí)、模塊化的程序設(shè)計(jì)思想、自主學(xué)習(xí)能力,以及綜合運(yùn)用所學(xué)知識(shí)分析問題、解決問題的能力。本節(jié)配有多媒體課件、例題源代碼、部分習(xí)題源代碼、慕課平臺(tái)等立體化教學(xué)資源。本書既可作為高等院校和計(jì)算機(jī)等級(jí)考試的教學(xué)用書,也可作為對(duì)高級(jí)語言程序設(shè)計(jì)感興趣的讀者的自學(xué)讀物。
趙少卡,副教授,畢業(yè)于武漢大學(xué)軟件工程專業(yè),清華大學(xué)訪問學(xué)者,中國計(jì)算機(jī)學(xué)會(huì)專業(yè)會(huì)員,入選“龍江學(xué)者”青年英才獎(jiǎng)勵(lì)計(jì)劃。曾獲得福建省“五一勞動(dòng)獎(jiǎng)?wù)隆、省首批“金牌工人”稱號(hào),并獲高校青年教師教學(xué)競(jìng)賽國家級(jí)三等獎(jiǎng)1項(xiàng)、省級(jí)特等獎(jiǎng)1項(xiàng)、二等獎(jiǎng)1項(xiàng)等,出版教材多部。
第1章 程序設(shè)計(jì)ABC
1.1 歷史沿革:程序語言的發(fā)展階段
1.2 回望過去:C語言的發(fā)展史
1.3 小試身手:幾個(gè)簡單的C程序
1.4 平臺(tái)出場(chǎng):C語言的編程環(huán)境
1.5 本章小結(jié)
1.6 本章習(xí)題
第2章 基本數(shù)據(jù)類型
2.1 一探究竟:數(shù)據(jù)的機(jī)內(nèi)表示
2.1.1 數(shù)值數(shù)據(jù)的表示
2.1.2 西文字符的編碼
2.2 異彩紛呈:數(shù)據(jù)的表現(xiàn)形式
2.2.1 常量和變量
2.2.2 整型數(shù)據(jù)
2.2.3 浮點(diǎn)型數(shù)據(jù)
2.2.4 字符型數(shù)據(jù)
2.3 運(yùn)算出場(chǎng):最基本的運(yùn)算符和表達(dá)式
2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
2.3.2 賦值運(yùn)算符和賦值表達(dá)式
2.3.3 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式
2.4 有始有終:數(shù)據(jù)的控制臺(tái)輸入與輸出
2.4.1 格式化輸出函數(shù)
2.4.2 格式化輸入函數(shù)
2.4.3 字符輸入與輸出函數(shù)
2.5 本章小結(jié)
2.6 本章常見的編程錯(cuò)誤
2.7 本章習(xí)題
第3章 程序的控制結(jié)構(gòu)
3.1 程序靈魂:算法
3.1.1 算法的特性
3.1.2 算法的表示
3.2 流水作業(yè):順序結(jié)構(gòu)
3.3 擇優(yōu)錄。哼x擇結(jié)構(gòu)
3.3.1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式
3.3.2 邏輯運(yùn)算符和邏輯表達(dá)式
3.3.3 條件語句(if語句)
3.3.4 開關(guān)語句(switch語句)
3.3.5 程序設(shè)計(jì)舉例
3.4 周而復(fù)始:循環(huán)結(jié)構(gòu)
3.4.1 while循環(huán)
3.4.2 do-while循環(huán)
3.4.3 for循環(huán)
3.4.4 循環(huán)的嵌套
3.4.5 循環(huán)的跳轉(zhuǎn)
3.4.6 知識(shí)拓展:窮舉與迭代
3.5 本章小結(jié)
3.6 本章常見的編程錯(cuò)誤
3.7 本章習(xí)題
第4章 模塊化程序設(shè)計(jì)
4.1 功能封裝:函數(shù)
4.1.1 函數(shù)的含義
4.1.2 函數(shù)的定義和調(diào)用
4.1.3 函數(shù)的功能
4.1.4 函數(shù)原型
4.1.5 棧內(nèi)存的分配和使用
4.1.6 函數(shù)的嵌套調(diào)用
4.1.7 函數(shù)的遞歸調(diào)用
4.1.8 程序舉例
4.2 捉摸不定:變量的性質(zhì)
4.2.1 變量的作用域
4.2.2 變量的生命期
4.2.3 外部函數(shù)和內(nèi)部函數(shù)
4.3 磨刀不誤:編譯預(yù)處理
4.3.1 宏定義和宏替換
4.3.2 文件包含
4.3.3 條件編譯
4.4 本章小結(jié)
4.5 本章常見的編程錯(cuò)誤
4.6 本章習(xí)題
第5章 數(shù)組
5.1 批量處理:一維數(shù)組的定義和使用
5.1.1 一維數(shù)組的定義方式
5.1.2 一維數(shù)組的初始化
5.1.3 一維數(shù)組元素的引用
5.1.4 一維數(shù)組程序舉例
5.2 完美矩形:二維數(shù)組的定義和使用
5.2.1 二維數(shù)組的定義
5.2.2 二維數(shù)組的初始化
5.2.3 二維數(shù)組元素的引用
5.2.4 二維數(shù)組程序舉例
5.3 戴帽成串:字符數(shù)組和字符串
5.3.1 字符數(shù)組與字符串的關(guān)系
5.3.2 字符數(shù)組的定義
5.3.3 字符數(shù)組的初始化
5.3.4 字符數(shù)組的引用
5.3.5 字符數(shù)組的輸入/輸出
5.3.6 字符串處理函數(shù)
5.3.7 字符串的輸入/輸出
5.3.8 程序舉例
5.4 思維訓(xùn)練:幾種重要的算法
5.4.1 排序算法
5.4.2 查找算法
5.5 知識(shí)拓展:向函數(shù)傳遞數(shù)組
5.6 本章小結(jié)
5.7 本章常見的編程錯(cuò)誤
5.8 本章習(xí)題
第6章 指針
6.1 尋覓芳蹤:初識(shí)指針
6.1.1 內(nèi)存地址和指針
6.1.2 指針變量的定義、初始化與引用
6.1.3 指針變量的移動(dòng)和比較
6.2 強(qiáng)強(qiáng)聯(lián)合:指針和函數(shù)
6.2.1 指針變量作為函數(shù)參數(shù)
6.2.2 返回指針值的函數(shù)
6.2.3 函數(shù)指針
6.3 靈活高效:指針和數(shù)組
6.3.1 指針和一維數(shù)組
6.3.2 函數(shù)參數(shù)的多樣性
6.3.3 指針和字符串
6.3.4 指針和二維數(shù)組
6.3.5 指針數(shù)組
6.3.6 二級(jí)指針
6.3.7 內(nèi)存的動(dòng)態(tài)分配和動(dòng)態(tài)數(shù)組的建立
6.4 本章小結(jié)
6.5 本章常見的編程錯(cuò)誤
6.6 本章習(xí)題
第7章 自定義數(shù)據(jù)類型
7.1 求同存異:結(jié)構(gòu)體類型
7.1.1 結(jié)構(gòu)體類型的引入
7.1.2 結(jié)構(gòu)體變量的定義、初始化和引用
7.1.3 結(jié)構(gòu)體數(shù)組
7.1.4 結(jié)構(gòu)體與指針
7.1.5 結(jié)構(gòu)體與函數(shù)
7.2 伙伴牽手:鏈表
7.2.1 鏈表的概念
7.2.2 鏈表的基本操作
7.3 你中有我:共用體類型
7.3.1 共用體類型的定義
7.3.2 共用體變量的定義
7.3.3 共用體變量的初始化和引用
7.4 心中有數(shù):枚舉類型
7.5 別名當(dāng)?shù)溃簍ypedef類型
7.6 本章小結(jié)
7.7 本章常見的編程錯(cuò)誤
7.8 本章習(xí)題
第8章 文件
8.1 揭示本質(zhì):文件的概念與分類
8.2 暫時(shí)歇腳:緩沖文件系統(tǒng)
8.3 有開有關(guān):文件的打開與關(guān)閉
8.3.1 文件的打開(fopen()函數(shù))
8.3.2 文件的關(guān)閉(fclose()函數(shù))
8.4 有條不紊:文件的順序讀寫
8.4.1 fgetc()函數(shù)和fputc()函數(shù)
8.4.2 fgets()函數(shù)和fputs()函數(shù)
8.4.3 fread()函數(shù)和fwrite()函數(shù)
8.5 隨時(shí)來訪:文件的隨機(jī)讀寫
8.6 實(shí)時(shí)診斷:文件的狀態(tài)
8.7 本章小結(jié)
8.8 本章常見的編程錯(cuò)誤
8.9 本章習(xí)題
第9章 綜合應(yīng)用實(shí)例——課程表管理系統(tǒng)
9.1 項(xiàng)目背景
9.2 設(shè)計(jì)目的
9.3 系統(tǒng)分析與功能描述
9.4 總體設(shè)計(jì)
9.4.1 功能模塊設(shè)計(jì)
9.4.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
9.4.3 函數(shù)功能描述
9.5 程序?qū)崿F(xiàn)
9.5.1 源碼分析
9.5.2 運(yùn)行結(jié)果
9.6 本章小結(jié)
9.7 本章習(xí)題
附錄A ASCII碼表及其中各控制字符的含義
附錄B C語言關(guān)鍵字
附錄C C語言運(yùn)算符的優(yōu)先級(jí)與結(jié)合性
附錄D 常用的標(biāo)準(zhǔn)庫函數(shù)
附錄E Visual C++ 6.0上機(jī)指南
附錄F Visual C++ 6.0常見編譯錯(cuò)誤
參考文獻(xiàn)