C語言與程序設計

出版時間:2013-1  出版社:電子工業(yè)出版社  作者:曹計昌  頁數:444  字數:806000  

內容概要

本書是華中科技大學“C語言程序設計”精品課的主教材。本書力圖完整、全面、清楚地介紹C語言的基本語法和語義,同時通過對一些精心提煉的算法實例進行分析和編程設計,培養(yǎng)學生算法設計、程序設計、調試程序的能力。全書分為上、下兩篇,共18章,另外提供了3個附錄。
上篇是C語言,包括第1章至第10章,內容主要有概論、基本詞法語法規(guī)則與程序元素、基本的標準輸入與輸出、流程控制、函數與程序結構、編譯預處理、數組、指針、結構與聯(lián)合、文件的輸入與輸出。下篇是程序設計,包括第11章至第18章,深入介紹了復雜類型的指針、遞歸、排序、線性數據結構、非線性數據結構、參數數目可變的函數與庫函數、圖形圖像處理程序設計、程序設計開發(fā)實例。
為方便教學,本書配有電子課件和源程序代碼,任課教師可以登錄華信教育資源網(www.hxedu.com.cn)免費注冊下載。

書籍目錄

目    錄
上篇 C語言
第1章 概論 1
1.1 程序設計語言與程序設計 1
1.2 學習C語言程序設計的第一個例子 1
1.2.1 創(chuàng)建并運行第一個C程序 2
1.2.2 解釋分析第一個C程序 3
1.3 C語言的產生、發(fā)展與語言特征 4
1.3.1 C語言的產生與發(fā)展 4
1.3.2 C語言的標準化 5
1.3.3 C語言的特征 6
1.4 計算機系統(tǒng)及內存編址 7
1.5 數和字符的編碼表示 8
1.5.1 進位計數制 9
1.5.2 進位制數之間的轉換 11
1.5.3 數的機器碼表示 13
1.5.4 字符的編碼表示 14
1.6 算法及其表示 15
1.6.1 算法的定義 15
1.6.2 算法的表示 16
1.6.3 算法的實現 18
1.7 學習C語言與程序設計的方法 18
本章小結 20
習題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 標識符、關鍵字及分隔符 24
2.3.1 標識符 24
2.3.2 關鍵字 24
2.3.3 分隔符 25
2.4 基本數據類型 25
2.4.1 數據類型的分類 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 運算符和表達式 33
2.6.1 C運算符簡介 33
2.6.2 運算符的優(yōu)先級和結合性 34
2.6.3 算術運算 35
2.6.4 關系運算 35
2.6.5 邏輯運算 36
2.6.6 自增和自減運算 37
2.6.7 賦值運算 39
2.6.8 條件運算 40
2.6.9 逗號運算 40
2.6.10 sizeof運算 41
2.7 位運算符和位表達式 42
2.7.1 按位求反(~) 42
2.7.2 按位與、或、加運算
(&, | , ^ ) 42
2.7.3 左移和右移運算(<<,>>) 42
2.7.4 位運算符應用舉例 43
2.7.5 打印整數各位 44
2.8 類型轉換 45
2.8.1 整數提升 45
2.8.2 算術轉換 45
2.8.3 賦值轉換 46
2.8.4 強制類型轉換 46
2.9 枚舉類型 47
2.9.1 枚舉類型的定義 47
2.9.2 用枚舉類型定義符號常量 48
2.9.3. 枚舉變量的聲明 48
2.10 新增數據類型 49
2.10.1 long long類型 49
2.10.2 布爾類型 49
2.10.3 復數類型 50
本章小結 51
習題2 52
第3章 基本的標準輸入與輸出 54
3.1 字符輸入與輸出 54
3.1.1 字符輸出函數putchar 54
3.1.2 字符輸入函數getchar 55
3.2 字符串輸入與輸出 57
3.2.1 字符串輸出函數puts 57
3.2.1 字符串輸入函數gets 57
3.3 格式化輸入與輸出 58
3.3.1 格式化輸出函數printf 58
3.3.2 格式化輸入函數scanf 62
本章小結 70
習題3 70
第4章 流程控制 72
4.1 C語句分類 72
4.2 表達式語句 72
4.3 復合語句 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語句和標號語句 92
4.10 break語句、continue語句和
return語句 94
4.11 嵌套循環(huán)程序設計 97
4.11.1 嵌套循環(huán) 97
4.11.2 枚舉 100
4.11.3 篩法 101
4.11.4 遞推 101
本章小結 102
習題4 102
第5章 函數與程序結構 104
5.1 C程序的一般結構 104
5.1.1 結構化程序設計 104
5.1.2 蒙特卡羅模擬:猜數游戲 104
5.1.3 C程序的結構 108
5.2 函數的定義與函數原型 108
5.2.1 函數的定義 108
5.2.2 函數的返回值 109
5.2.3 函數的聲明 110
5.2.4 新增關鍵字inline和_Noreturn 111
5.3 函數調用與參數傳遞 112
5.3.1 函數調用 112
5.3.2 參數的值傳遞 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
本章小結 124
習題5 124
第6章 編譯預處理 126
6.1 文件包含#include 126
6.2 宏定義#define 126
6.2.1 無參宏定義 127
6.2.2 帶參宏定義 127
6.2.3 空宏參數 128
6.2.4 可變參數宏定義 128
6.2.5 通用類型宏 129
6.3 取消宏定義#undef 130
6.4 條件編譯 130
6.4.1 #if、#ifdef和 #ifndef指令 130
6.4.2 defined運算符 131
6.4.3 條件編譯的應用 132
6.5 assert斷言和靜態(tài)斷言 133
6.5.1 assert斷言 133
6.5.2 靜態(tài)斷言 133
6.6 _func_預定義標識符 134
6.7 _Pragma預處理操作符 134
本章小結 134
習題6 135
第7章 數組 136
7.1 數組概述 136
7.2 一維數組 136
7.2.1 一維數組的聲明 137
7.2.2 一維數組的使用 138
7.2.3 一維數組的初始化 138
7.2.4 一維數組的存儲結構 139
7.2.5 一維數組的運算 139
7.2.6 一維數組作為函數參數 140
7.3 字符數組 141
7.3.1 字符數組的聲明和使用 141
7.3.2 字符數組的初始化 142
7.4 字符串處理函數 142
7.4.1 串操作函數的設計及使用 143
7.4.2 數字串與數值之間轉換
的函數 146
7.4.3 C11標準中新增的Unicode
字符集和Unicode字符串 148
7.5 多維數組 149
7.5.1 多維數組的聲明與使用 150
7.5.2 多維數組的存儲結構 151
7.5.3 多維數組的初始化 152
7.5.4 二維字符數組 153
7.6 數組的應用 154
7.6.1 矩陣乘法運算 154
7.6.2 基于分治策略的二分查找
函數 155
7.6.3 逆波蘭表達式的生成 156
7.6.4 利用值棧對逆波蘭表達式進行
求值 158
本章小結 160
習題7 160
第8章 指針 162
8.1 指針的概念與使用 162
8.1.1 指針的概念 162
8.1.2 指針的聲明 163
8.1.3 指針的使用 164
8.2 指針運算 167
8.2.1 指針的算術運算 167
8.2.2 指針的賦值運算和關系運算 168
8.3 指針作為函數的參數 169
8.3.1 形參指針對實參變量的影響 169
8.3.2 指針作為函數形參的應用 171
8.4 數組的指針表示 171
8.4.1 一維數組的指針表示 172
8.4.2 一維數組參數的指針表示 174
8.4.3 用指向數組基本元素的指針
表示多維數組 175
8.4.4 高精度計算——超長整數
加法運算 176
8.5 指針數組 177
8.5.1 指針數組的聲明及使用 177
8.5.2 多重指針 182
8.6 帶參數的main函數 182
8.6.1 命令行參數 182
8.6.2 帶參main函數的聲明及使用 183
8.7 指針函數 184
8.7.1 指針函數的聲明與定義 184
8.7.2 指針函數的使用 185
8.8 函數的指針 185
8.8.1 函數指針的聲明 185
8.8.2 函數指針的應用 186
8.9 restrict和_Atomic類型修飾符 188
8.9.1 restrict類型修飾符 188
8.9.2 _Atomic類型修飾符 189
本章小結 190
習題8 190
第9章 結構與聯(lián)合 192
9.1 結構概述 192
9.2 結構類型聲明和結構變量的聲明
及初始化 192
9.2.1 結構類型的聲明 192
9.2.2 結構變量的聲明 194
9.2.3 結構變量的初始化 196
9.3 結構類型的引用 196
9.3.1 結構變量的引用 197
9.3.2 通過成員選擇運算符“.”
訪問成員 197
9.3.3 嵌套結構的聲明 198
9.3.4 嵌套結構中結構成員的成

編輯推薦

《C語言與程序設計(高等學校規(guī)劃教材)》與作者曹計昌、盧萍、李開2008年出版的《C語言程序設計》教材相比多了一個“與”字,但教材內容的含義和重點都有很大變化。語言是程序設計的工具,而學習語言的根本目的就是要能夠進行程序設計。因此,要使學生既具廣度,更具深度地扎扎實實打好C語言基礎,能夠熟練掌握編程工具;同時要更加突出程序設計,培養(yǎng)學生用C語言編程解決本專業(yè)基礎性、底層性、系統(tǒng)性問題的能力。

圖書封面

評論、評分、閱讀與下載


    C語言與程序設計 PDF格式下載


用戶評論 (總計4條)

 
 

  •   好哈好哈好哈好哈
  •   是教材,還不知道好不好
  •   每個知識點都涉及了,有詳有略,還有習題都很好
  •   1、這本書是華中科技大學計算機學院c語言用的教材,書也是華科老師自己編的,編書的老師一直在帶啟明學院的ACM班,所以書中競賽的思路比較突出,不回避難點,對于許多關鍵性概念都講得很透徹(比如說main函數的C89標準與C99標準的區(qū)別及原因等等) 2、另外,本書涉及到了很多c語言2011年的最新標準(C11標準)的新特性,非常有利于思路與眼界的開闊 3、 書中還有很多經典的算法問題總之,非常不錯的一本C語言教材(當然,思路與國外教材還是很有區(qū)別的),不回避難點問題,強烈推薦喜歡競賽、喜歡挑戰(zhàn)難題的c語言學習者們!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7