定 價:49.8 元
叢書名:科學出版社“十三五”普通高等教育本科規(guī)劃教材
- 作者:張菁,王世元
- 出版時間:2021/8/1
- ISBN:9787030695666
- 出 版 社:科學出版社
- 中圖法分類:TP312.8C
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
《C語言程序設計》從實例出發(fā)講解C語言語法、算法設計和結(jié)構(gòu)化程序設計。以ANSI C標準為主線,不僅涵蓋了C語言基本知識,還介紹了軟件開發(fā)的良好程序設計風格。內(nèi)容包括算法設計及其表示、結(jié)構(gòu)化程序設計的思想和方法、數(shù)據(jù)類型、運算符和表達式、數(shù)據(jù)的輸入輸出,以及程序的順序、選擇和循環(huán)3種基本控制結(jié)構(gòu),函數(shù)、數(shù)組、指針、結(jié)構(gòu)體等數(shù)據(jù)組織形式及其應用,并對程序代碼給出詳細的注釋講解,以大量實例講述解決問題的思路和過程。《C語言程序設計》講解深入淺出,循序漸進,利于讀者從入門到精通掌握C語言。
更多科學出版社服務,請掃碼獲取。
目錄
第1章 緒論 1
1.1 計算機程序設計語言發(fā)展過程 1
1.2 C語言的發(fā)展及應用領域 3
1.3 剖析一個簡單的C程序 4
1.3.1 程序注釋 4
1.3.2 預處理指令 4
1.3.3 定義主函數(shù) 5
1.4 C語言函數(shù)的定義及其組成部分 5
1.5 由多個函數(shù)構(gòu)成的C程序 6
1.6 C程序的開發(fā)運行步驟和環(huán)境 9
習題 11
第2章 算法 12
2.1 算法及其分類 12
2.2 程序的形成 13
2.3 算法設計舉例及算法表示 14
2.3.1 自然語言表示算法 14
2.3.2 用流程圖表示算法 15
2.3.3 3 種基本結(jié)構(gòu) 16
2.3.4 用N-S結(jié)構(gòu)化流程圖表示算法 18
2.3.5 用偽代碼表示算法 19
2.3.6 用計算機語言表示和實現(xiàn)算法 20
2.4 結(jié)構(gòu)化程序設計思想 20
2.4.1 結(jié)構(gòu)化程序設計思想的產(chǎn)生 20
2.4.2 結(jié)構(gòu)化程序設計過程 21
習題 23
第3章 順序程序設計及編程初步 24
3.1 標識符和關鍵字 24
3.2 順序結(jié)構(gòu)程序設計 25
3.3 常量和變量、內(nèi)存及其地址 26
3.3.1 數(shù)據(jù)在計算機內(nèi)的存儲及表示形式 26
3.3.2 常量和變量 26
3.3.3 內(nèi)存及其地址 26
3.4 數(shù)據(jù)類型 28
3.4.1 整型數(shù)據(jù) 28
3.4.2 浮點型數(shù)據(jù) 29
3.4.3 字符型數(shù)據(jù) 30
3.5 運算符和表達式 31
3.5.1 算術運算符 31
3.5.2 賦值運算符 32
3.5.3 表達式 32
3.5.4 關系運算符和關系表達式 32
3.5.5 邏輯運算符和邏輯表達式 33
3.5.6 自增、自減運算符 33
3.5.7 強制類型轉(zhuǎn)換運算符 34
3.5.8 類型轉(zhuǎn)換 34
習題 35
第4章 C語言的標準函數(shù)庫和數(shù)據(jù)的輸入輸出 37
4.1 C語言的標準函數(shù)庫及軟接口 37
4.2 字符數(shù)據(jù)的輸入輸出 38
4.2.1 putchar函數(shù) 38
4.2.2 getchar函數(shù) 39
4.3 C語言的格式輸入輸出函數(shù) 40
4.3.1 printf函數(shù) 40
4.3.2 scanf函數(shù) 43
習題 45
第5章 選擇結(jié)構(gòu)程序設計 47
5.1 if語句的形式 47
5.1.1 只含有if語句的形式 47
5.1.2 完整的if else語句形式 48
5.2 if語句的嵌套 50
5.3 條件運算符?: 53
5.4 switch語句 54
5.5 選擇結(jié)構(gòu)程序設計綜合舉例 57
習題 60
第6章 循環(huán)結(jié)構(gòu)程序設計 62
6.1 用while語句實現(xiàn)入口條件循環(huán) 62
6.2 用for語句實現(xiàn)入口條件循環(huán) 63
6.3 用do while語句實現(xiàn)出口條件循環(huán) 65
6.4 循環(huán)的嵌套 65
6.5 用break語句和continue語句終止循環(huán) 68
6.5.1 break語句 68
6.5.2 continue語句 69
6.6 循環(huán)結(jié)構(gòu)的應用舉例 70
習題 73
第7章 數(shù)組 75
7.1 一維數(shù)組 75
7.1.1 一維數(shù)組的定義和引用 75
7.1.2 一維數(shù)組的初始化 76
7.1.3 一維數(shù)組的應用舉例 77
7.2 二維數(shù)組 80
7.2.1 二維數(shù)組的定義和引用 80
7.2.2 二維數(shù)組的初始化 82
7.2.3 二維數(shù)組的應用舉例 82
7.3 字符串和字符數(shù)組 85
7.3.1 字符數(shù)組的定義和初始化 86
7.3.2 字符數(shù)組的引用 86
7.3.3 字符數(shù)組的輸入輸出 87
7.4 字符串處理函數(shù) 88
7.4.1 puts函數(shù) 88
7.4.2 gets函數(shù) 88
7.4.3 strlen函數(shù) 89
7.4.4 strcat函數(shù) 89
7.4.5 strcpy和strncpy函數(shù) 89
7.4.6 strcmp函數(shù) 90
7.4.7 strlwr和strupr函數(shù) 91
7.5 字符數(shù)組及字符串處理函數(shù)應用舉例 91
習題 95
第8章 再論函數(shù) 97
8.1函數(shù)參數(shù)的值傳遞方式 97
8.2函數(shù)參數(shù)的地址傳遞方式及參數(shù)的作用 100
8.2.1 一維數(shù)組名做函數(shù)參數(shù) 100
8.2.2 多維數(shù)組名做函數(shù)參數(shù) 106
8.3函數(shù)的嵌套調(diào)用 107
8.4函數(shù)的遞歸調(diào)用 108
8.5 局部變量和全局變量 115
8.5.1 局部變量 115
8.5.2 全局變量 116
*8.6 變量的存儲類別和生存期 118
8.6.1 動態(tài)存儲方式和靜態(tài)存儲方式 118
8.6.2 局部變量的存儲類別 119
8.6.3 全局變量的存儲類別及其作用域的擴展 121
8.6.4 變量的作用域和生存期 122
*8.7 內(nèi)部函數(shù)和外部函數(shù) 123
8.7.1 內(nèi)部函數(shù) 123
8.7.2 外部函數(shù) 124
習題 128
第9章 指針 130
9.1 指針和指針變量 130
9.1.1 指針變量的定義 131
9.1.2 指針變量的引用 131
9.1.3 指針變量做函數(shù)參數(shù) 132
9.2 指針和數(shù)組 137
9.2.1 一維數(shù)組元素的指針 137
9.2.2 數(shù)組名和指針做函數(shù)參數(shù) 138
9.2.3 多維數(shù)組的指針 140
9.2.4 二維數(shù)組名和指針做函數(shù)參數(shù) 145
9.3 指針與字符串 147
9.3.1 用字符指針變量引用字符串 147
9.3.2 字符指針做函數(shù)參數(shù) 150
*9.4 指向函數(shù)的指針 152
9.4.1函數(shù)指針及其定義 152
9.4.2 用函數(shù)指針變量調(diào)用函數(shù) 153
9.4.3 用指向函數(shù)的指針作函數(shù)參數(shù) 154
9.5 返回指針值的函數(shù) 156
*9.6 指針數(shù)組 157
*9.7 多重指針 160
習題 161
第10章 結(jié)構(gòu)體數(shù)據(jù)類型 163
10.1 結(jié)構(gòu)體變量的定義和使用 163
10.1.1 聲明結(jié)構(gòu)體數(shù)據(jù)類型 163
10.1.2 結(jié)構(gòu)體類型變量的定義和使用 165
10.2 結(jié)構(gòu)體變量的初始化和引用 167
10.2.1 結(jié)構(gòu)體變量的初始化 167
10.2.2 結(jié)構(gòu)體變量成員的引用 168
10.3 結(jié)構(gòu)體數(shù)組 169
10.4 指向結(jié)構(gòu)體的指針 172
10.4.1 指向結(jié)構(gòu)體變量的指針 172
10.4.2 指向結(jié)構(gòu)體數(shù)組的指針 173
10.5 向函數(shù)傳遞結(jié)構(gòu)的信息 174
10.5.1 傳遞結(jié)構(gòu)成員 174
10.5.2 傳遞結(jié)構(gòu)體變量的地址和傳遞整個結(jié)構(gòu)體變量 175
*10.6 用指針處理鏈表 177
10.6.1 鏈表概述 177
10.6.2 建立靜態(tài)鏈表 178
10.6.3 建立動態(tài)鏈表 180
10.7 枚舉類型 184
*10.8 typedef 簡介 187
習題 189
第11章 文件操作 190
11.1 文件及其存儲形式 190
11.2 文件的操作及其輸入輸出 191
11.3 打開和關閉文件 193
11.3.1 用fopen函數(shù)打開數(shù)據(jù)文件 193
11.3.2 用fclose函數(shù)關閉數(shù)據(jù)文件 194
11.4 用fgetc和fputc函數(shù)順序讀寫字符 195
11.5 用fgets和fputs函數(shù)順序讀寫字符串 198
*11.6 用fscanf 和fprintf函數(shù)向文件格式化輸入輸出數(shù)據(jù) 200
11.7 用fread 和fwrite函數(shù)進行二進制方式讀寫數(shù)據(jù) 200
11.8 隨機讀寫數(shù)據(jù)文件的rewind和fseek、ftell函數(shù) 202
11.9 文件讀寫出錯檢測函數(shù) 205
習題 206
附錄 207
附錄1 ASCII碼表 207
附錄2 C語言的運算符優(yōu)先級和結(jié)合性 211
附錄3 C的標準庫函數(shù) 212
參考文獻 216