出版時間:2013-1 出版社:電子工業(yè)出版社 作者:曹計昌 頁數(shù):444 字?jǐn)?shù):806000
內(nèi)容概要
本書是華中科技大學(xué)“C語言程序設(shè)計”精品課的主教材。本書力圖完整、全面、清楚地介紹C語言的基本語法和語義,同時通過對一些精心提煉的算法實例進(jìn)行分析和編程設(shè)計,培養(yǎng)學(xué)生算法設(shè)計、程序設(shè)計、調(diào)試程序的能力。全書分為上、下兩篇,共18章,另外提供了3個附錄。
上篇是C語言,包括第1章至第10章,內(nèi)容主要有概論、基本詞法語法規(guī)則與程序元素、基本的標(biāo)準(zhǔn)輸入與輸出、流程控制、函數(shù)與程序結(jié)構(gòu)、編譯預(yù)處理、數(shù)組、指針、結(jié)構(gòu)與聯(lián)合、文件的輸入與輸出。下篇是程序設(shè)計,包括第11章至第18章,深入介紹了復(fù)雜類型的指針、遞歸、排序、線性數(shù)據(jù)結(jié)構(gòu)、非線性數(shù)據(jù)結(jié)構(gòu)、參數(shù)數(shù)目可變的函數(shù)與庫函數(shù)、圖形圖像處理程序設(shè)計、程序設(shè)計開發(fā)實例。
為方便教學(xué),本書配有電子課件和源程序代碼,任課教師可以登錄華信教育資源網(wǎng)(www.hxedu.com.cn)免費注冊下載。
書籍目錄
目 錄
上篇 C語言
第1章 概論 1
1.1 程序設(shè)計語言與程序設(shè)計 1
1.2 學(xué)習(xí)C語言程序設(shè)計的第一個例子 1
1.2.1 創(chuàng)建并運(yùn)行第一個C程序 2
1.2.2 解釋分析第一個C程序 3
1.3 C語言的產(chǎn)生、發(fā)展與語言特征 4
1.3.1 C語言的產(chǎn)生與發(fā)展 4
1.3.2 C語言的標(biāo)準(zhǔn)化 5
1.3.3 C語言的特征 6
1.4 計算機(jī)系統(tǒng)及內(nèi)存編址 7
1.5 數(shù)和字符的編碼表示 8
1.5.1 進(jìn)位計數(shù)制 9
1.5.2 進(jìn)位制數(shù)之間的轉(zhuǎn)換 11
1.5.3 數(shù)的機(jī)器碼表示 13
1.5.4 字符的編碼表示 14
1.6 算法及其表示 15
1.6.1 算法的定義 15
1.6.2 算法的表示 16
1.6.3 算法的實現(xiàn) 18
1.7 學(xué)習(xí)C語言與程序設(shè)計的方法 18
本章小結(jié) 20
習(xí)題1 20
第2章 基本詞法語法規(guī)則與程序元素 21
2.1 字符及詞法元素 21
2.1.1 字符集 21
2.1.2 詞法元素 21
2.2 語法規(guī)則 22
2.2.1 BNF范式 22
2.2.2 EBNF 23
2.2.3 語法圖 23
2.3 標(biāo)識符、關(guān)鍵字及分隔符 24
2.3.1 標(biāo)識符 24
2.3.2 關(guān)鍵字 24
2.3.3 分隔符 25
2.4 基本數(shù)據(jù)類型 25
2.4.1 數(shù)據(jù)類型的分類 25
2.4.2 基本類型的名字 25
2.4.3 字符類型 26
2.4.4 整型類型 26
2.4.5 浮點類型 27
2.5 常量與變量 28
2.5.1 文字常量 28
2.5.2 符號常量 31
2.5.3 變量定義 33
2.6 運(yùn)算符和表達(dá)式 33
2.6.1 C運(yùn)算符簡介 33
2.6.2 運(yùn)算符的優(yōu)先級和結(jié)合性 34
2.6.3 算術(shù)運(yùn)算 35
2.6.4 關(guān)系運(yùn)算 35
2.6.5 邏輯運(yùn)算 36
2.6.6 自增和自減運(yùn)算 37
2.6.7 賦值運(yùn)算 39
2.6.8 條件運(yùn)算 40
2.6.9 逗號運(yùn)算 40
2.6.10 sizeof運(yùn)算 41
2.7 位運(yùn)算符和位表達(dá)式 42
2.7.1 按位求反(~) 42
2.7.2 按位與、或、加運(yùn)算
(&, | , ^ ) 42
2.7.3 左移和右移運(yùn)算(<<,>>) 42
2.7.4 位運(yùn)算符應(yīng)用舉例 43
2.7.5 打印整數(shù)各位 44
2.8 類型轉(zhuǎn)換 45
2.8.1 整數(shù)提升 45
2.8.2 算術(shù)轉(zhuǎn)換 45
2.8.3 賦值轉(zhuǎn)換 46
2.8.4 強(qiáng)制類型轉(zhuǎn)換 46
2.9 枚舉類型 47
2.9.1 枚舉類型的定義 47
2.9.2 用枚舉類型定義符號常量 48
2.9.3. 枚舉變量的聲明 48
2.10 新增數(shù)據(jù)類型 49
2.10.1 long long類型 49
2.10.2 布爾類型 49
2.10.3 復(fù)數(shù)類型 50
本章小結(jié) 51
習(xí)題2 52
第3章 基本的標(biāo)準(zhǔn)輸入與輸出 54
3.1 字符輸入與輸出 54
3.1.1 字符輸出函數(shù)putchar 54
3.1.2 字符輸入函數(shù)getchar 55
3.2 字符串輸入與輸出 57
3.2.1 字符串輸出函數(shù)puts 57
3.2.1 字符串輸入函數(shù)gets 57
3.3 格式化輸入與輸出 58
3.3.1 格式化輸出函數(shù)printf 58
3.3.2 格式化輸入函數(shù)scanf 62
本章小結(jié) 70
習(xí)題3 70
第4章 流程控制 72
4.1 C語句分類 72
4.2 表達(dá)式語句 72
4.3 復(fù)合語句 73
4.4 if語句 74
4.5 switch語句 77
4.6 while語句 80
4.7 for語句 84
4.8 do-while語句 87
4.9 goto語句和標(biāo)號語句 92
4.10 break語句、continue語句和
return語句 94
4.11 嵌套循環(huán)程序設(shè)計 97
4.11.1 嵌套循環(huán) 97
4.11.2 枚舉 100
4.11.3 篩法 101
4.11.4 遞推 101
本章小結(jié) 102
習(xí)題4 102
第5章 函數(shù)與程序結(jié)構(gòu) 104
5.1 C程序的一般結(jié)構(gòu) 104
5.1.1 結(jié)構(gòu)化程序設(shè)計 104
5.1.2 蒙特卡羅模擬:猜數(shù)游戲 104
5.1.3 C程序的結(jié)構(gòu) 108
5.2 函數(shù)的定義與函數(shù)原型 108
5.2.1 函數(shù)的定義 108
5.2.2 函數(shù)的返回值 109
5.2.3 函數(shù)的聲明 110
5.2.4 新增關(guān)鍵字inline和_Noreturn 111
5.3 函數(shù)調(diào)用與參數(shù)傳遞 112
5.3.1 函數(shù)調(diào)用 112
5.3.2 參數(shù)的值傳遞 114
5.4 作用域與可見性 115
5.4.1 局部變量和全局變量 115
5.4.2 作用域規(guī)則 117
5.4.3 可見性 118
5.5 存儲類型 118
5.5.1 存儲類型auto 118
5.5.2 存儲類型extern 119
5.5.3 存儲類型static 120
5.5.4 存儲類型register 123
5.5.5 新增存儲類型_Thread_local 123
本章小結(jié) 124
習(xí)題5 124
第6章 編譯預(yù)處理 126
6.1 文件包含#include 126
6.2 宏定義#define 126
6.2.1 無參宏定義 127
6.2.2 帶參宏定義 127
6.2.3 空宏參數(shù) 128
6.2.4 可變參數(shù)宏定義 128
6.2.5 通用類型宏 129
6.3 取消宏定義#undef 130
6.4 條件編譯 130
6.4.1 #if、#ifdef和 #ifndef指令 130
6.4.2 defined運(yùn)算符 131
6.4.3 條件編譯的應(yīng)用 132
6.5 assert斷言和靜態(tài)斷言 133
6.5.1 assert斷言 133
6.5.2 靜態(tài)斷言 133
6.6 _func_預(yù)定義標(biāo)識符 134
6.7 _Pragma預(yù)處理操作符 134
本章小結(jié) 134
習(xí)題6 135
第7章 數(shù)組 136
7.1 數(shù)組概述 136
7.2 一維數(shù)組 136
7.2.1 一維數(shù)組的聲明 137
7.2.2 一維數(shù)組的使用 138
7.2.3 一維數(shù)組的初始化 138
7.2.4 一維數(shù)組的存儲結(jié)構(gòu) 139
7.2.5 一維數(shù)組的運(yùn)算 139
7.2.6 一維數(shù)組作為函數(shù)參數(shù) 140
7.3 字符數(shù)組 141
7.3.1 字符數(shù)組的聲明和使用 141
7.3.2 字符數(shù)組的初始化 142
7.4 字符串處理函數(shù) 142
7.4.1 串操作函數(shù)的設(shè)計及使用 143
7.4.2 數(shù)字串與數(shù)值之間轉(zhuǎn)換
的函數(shù) 146
7.4.3 C11標(biāo)準(zhǔn)中新增的Unicode
字符集和Unicode字符串 148
7.5 多維數(shù)組 149
7.5.1 多維數(shù)組的聲明與使用 150
7.5.2 多維數(shù)組的存儲結(jié)構(gòu) 151
7.5.3 多維數(shù)組的初始化 152
7.5.4 二維字符數(shù)組 153
7.6 數(shù)組的應(yīng)用 154
7.6.1 矩陣乘法運(yùn)算 154
7.6.2 基于分治策略的二分查找
函數(shù) 155
7.6.3 逆波蘭表達(dá)式的生成 156
7.6.4 利用值棧對逆波蘭表達(dá)式進(jìn)行
求值 158
本章小結(jié) 160
習(xí)題7 160
第8章 指針 162
8.1 指針的概念與使用 162
8.1.1 指針的概念 162
8.1.2 指針的聲明 163
8.1.3 指針的使用 164
8.2 指針運(yùn)算 167
8.2.1 指針的算術(shù)運(yùn)算 167
8.2.2 指針的賦值運(yùn)算和關(guān)系運(yùn)算 168
8.3 指針作為函數(shù)的參數(shù) 169
8.3.1 形參指針對實參變量的影響 169
8.3.2 指針作為函數(shù)形參的應(yīng)用 171
8.4 數(shù)組的指針表示 171
8.4.1 一維數(shù)組的指針表示 172
8.4.2 一維數(shù)組參數(shù)的指針表示 174
8.4.3 用指向數(shù)組基本元素的指針
表示多維數(shù)組 175
8.4.4 高精度計算——超長整數(shù)
加法運(yùn)算 176
8.5 指針數(shù)組 177
8.5.1 指針數(shù)組的聲明及使用 177
8.5.2 多重指針 182
8.6 帶參數(shù)的main函數(shù) 182
8.6.1 命令行參數(shù) 182
8.6.2 帶參main函數(shù)的聲明及使用 183
8.7 指針函數(shù) 184
8.7.1 指針函數(shù)的聲明與定義 184
8.7.2 指針函數(shù)的使用 185
8.8 函數(shù)的指針 185
8.8.1 函數(shù)指針的聲明 185
8.8.2 函數(shù)指針的應(yīng)用 186
8.9 restrict和_Atomic類型修飾符 188
8.9.1 restrict類型修飾符 188
8.9.2 _Atomic類型修飾符 189
本章小結(jié) 190
習(xí)題8 190
第9章 結(jié)構(gòu)與聯(lián)合 192
9.1 結(jié)構(gòu)概述 192
9.2 結(jié)構(gòu)類型聲明和結(jié)構(gòu)變量的聲明
及初始化 192
9.2.1 結(jié)構(gòu)類型的聲明 192
9.2.2 結(jié)構(gòu)變量的聲明 194
9.2.3 結(jié)構(gòu)變量的初始化 196
9.3 結(jié)構(gòu)類型的引用 196
9.3.1 結(jié)構(gòu)變量的引用 197
9.3.2 通過成員選擇運(yùn)算符“.”
訪問成員 197
9.3.3 嵌套結(jié)構(gòu)的聲明 198
9.3.4 嵌套結(jié)構(gòu)中結(jié)構(gòu)成員的成
編輯推薦
《C語言與程序設(shè)計(高等學(xué)校規(guī)劃教材)》與作者曹計昌、盧萍、李開2008年出版的《C語言程序設(shè)計》教材相比多了一個“與”字,但教材內(nèi)容的含義和重點都有很大變化。語言是程序設(shè)計的工具,而學(xué)習(xí)語言的根本目的就是要能夠進(jìn)行程序設(shè)計。因此,要使學(xué)生既具廣度,更具深度地扎扎實實打好C語言基礎(chǔ),能夠熟練掌握編程工具;同時要更加突出程序設(shè)計,培養(yǎng)學(xué)生用C語言編程解決本專業(yè)基礎(chǔ)性、底層性、系統(tǒng)性問題的能力。
圖書封面
評論、評分、閱讀與下載