注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)明解C語言從入門到實(shí)踐(共3冊)

明解C語言從入門到實(shí)踐(共3冊)

明解C語言從入門到實(shí)踐(共3冊)

定 價(jià):¥267.80

作 者: [日]柴田望洋
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115009593 出版時(shí)間: 2024-03-01 包裝: 平裝-膠訂
開本: 128開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《明解C語言 第3版 入門篇》是日本的C語言經(jīng)典教材,自出版以來不斷重印、修訂,被譽(yù)為“C語言圣經(jīng)”。《明解C語言 第3版 入門篇》圖文并茂,示例豐富,第3版從190段代碼和164幅圖表增加到205段代碼和220幅圖表,對C語言的基礎(chǔ)知識進(jìn)行了深度剖析,內(nèi)容涉及數(shù)組、函數(shù)、指針、文件操作等。對于C語言語法以及一些難以理解的概念,均以精心繪制的示意圖,清晰、通俗地進(jìn)行講解。原著在日本廣受歡迎,始終位于網(wǎng)上書店C語言名作排行榜前列?!睹鹘釩語言:中級篇》延續(xù)了《明解C語言:入門篇》圖文并茂、示例豐富、講解細(xì)致的風(fēng)格,在結(jié)構(gòu)上又獨(dú)樹一幟,通過每章帶領(lǐng)讀者編寫一個(gè)游戲程序并逐步完善或加以變更,來講解相關(guān)的C語言進(jìn)階知識。每章的程序都很簡單有趣,而且包含著很多實(shí)用性的技巧,例如隨機(jī)數(shù)的生成、數(shù)組的應(yīng)用方法、字符串和指針、命令行參數(shù)、文件處理、接收可變參數(shù)的函數(shù)的生成方法、存儲空間的動態(tài)分配與釋放,等等。此外,還會講解詳細(xì)的語法規(guī)則、眾多庫函數(shù)的使用方法、算法等知識。本書非常適合有一定C語言基礎(chǔ)的讀者閱讀?!睹鹘釩語言:實(shí)踐篇》本書圍繞C語言編程學(xué)習(xí)和開發(fā)實(shí)踐中經(jīng)常遇到的問題和重點(diǎn),結(jié)合大量代碼和圖表,從容易出現(xiàn)的錯(cuò)誤(ERROR)開始講起,到類型轉(zhuǎn)換、字符串和指針、結(jié)構(gòu)體和共用體、文件處理、在程序運(yùn)行時(shí)動態(tài)生成必要大小的對象(變量)的方法,再到線性表的應(yīng)用、二叉查找樹的應(yīng)用、控制臺畫面的控制等,詳細(xì)介紹了C語言中的眾多技巧,目標(biāo)在于提高讀者解決實(shí)際問題的能力。本書適合有一定C語言基礎(chǔ)的讀者閱讀。

作者簡介

  柴田望洋(作者)日本福岡工業(yè)大學(xué)信息工程學(xué)院副教授。編寫了一系列極富影響力的計(jì)算機(jī)教材和參考書,如《明解C》《明解Java》等。本書于2000年榮獲日本工學(xué)教育協(xié)會名作獎(jiǎng)。管杰(譯者)畢業(yè)于復(fù)旦大學(xué),現(xiàn)為對日軟件工程師,具有多年日語技術(shù)文檔編寫經(jīng)驗(yàn)。愛好日漢翻譯和日本文化史,譯有《程序員的數(shù)學(xué)》等。羅勇(譯者)專業(yè)從事對日軟件設(shè)計(jì)研發(fā)工作,曾于2007年到2009年赴日學(xué)習(xí)工作。精通J2EE及數(shù)據(jù)庫開發(fā)。譯有《NoSQL數(shù)據(jù)庫入門》等。杜曉靜(譯者)北京第 二外國語學(xué)院碩士畢業(yè),IT圖書編輯,筆譯愛好者,譯有《安心孕產(chǎn)大百科》《長壽的秘訣》等。

圖書目錄

《明解C語言 第3版 入門篇》
第 1章  初識C語言
1-1  顯示計(jì)算結(jié)果  2
計(jì)算整數(shù)的和并顯示結(jié)果  2
程序和編譯  2
注釋  3
固定代碼  4
printf函數(shù):格式化輸出函數(shù)  4
語句  5
計(jì)算并顯示整數(shù)的差  5
格式化字符串和轉(zhuǎn)換說明  6
符號的稱呼  8
無格式化輸出  8
字符串常量  10
轉(zhuǎn)義字符  10
1-2  變量  11
變量和聲明  11
賦值  12
初始化  13
聲明時(shí)初始化  14
初始化和賦值  14
1-3  輸入和顯示  16
通過鍵盤進(jìn)行輸入  16
格式化輸入函數(shù)scanf  16
乘法運(yùn)算  17
輸出函數(shù)puts  18
總結(jié)  21
第 2章  運(yùn)算和數(shù)據(jù)類型
2-1  運(yùn)算  24
運(yùn)算符和操作數(shù)  24
乘除運(yùn)算符和加減運(yùn)算符  25
除法運(yùn)算的商和余數(shù)  25
使用printf函數(shù)打印%  26
獲取整數(shù)的**后一位數(shù)字  26
多個(gè)轉(zhuǎn)換說明  27
單目運(yùn)算符  28
賦值運(yùn)算符  29
表達(dá)式和賦值表達(dá)式  30
表達(dá)式語句  30
2-2  數(shù)據(jù)類型  31
求平均值  31
數(shù)據(jù)類型  32
數(shù)據(jù)類型和對象  33
整型常量和浮點(diǎn)型常量  34
double類型的運(yùn)算  34
數(shù)據(jù)類型和運(yùn)算  35
類型轉(zhuǎn)換  37
轉(zhuǎn)換說明  39
總結(jié)  42
第3章  分支結(jié)構(gòu)程序
3-1  if語句  46
if語句·其1  46
奇數(shù)的判定  47
if語句·其2  48
奇數(shù)·偶數(shù)的判斷  49
非0的判斷  49
if語句的結(jié)構(gòu)圖  50
相等運(yùn)算符  52
余數(shù)的判斷  53
關(guān)系運(yùn)算符  54
嵌套的if語句  55
判斷  57
計(jì)算較大值  58
計(jì)算三個(gè)數(shù)的**大值  59
條件運(yùn)算符  60
差值計(jì)算  61
復(fù)合語句(程序塊)  62
邏輯運(yùn)算符  65
短路求值  67
3-2  switch語句  70
switch語句和break語句  70
復(fù)雜的switch語句  72
switch語句和if語句  73
選擇語句  74
總結(jié)  75
第4章  程序的循環(huán)控制
4-1  do語句  78
do語句  78
復(fù)合語句(程序塊)中的聲明  79
讀取一定范圍內(nèi)的值  80
邏輯非運(yùn)算符·德摩根定律  81
德摩根定律  81
求多個(gè)整數(shù)的和及平均值  82
復(fù)合賦值運(yùn)算符  84
后置遞增運(yùn)算符和
后置遞減運(yùn)算符  85
4-2  while語句  87 
while語句  87
用遞減運(yùn)算符簡化程序代碼  88
數(shù)據(jù)遞增  90
限定次數(shù)的循環(huán)操作  91
字符常量和putchar函數(shù)   92
do語句和while語句  93
前置遞增運(yùn)算符和前置遞減運(yùn)算符  93
do語句的顯示  95
逆向顯示整數(shù)值  96
4-3  for語句  99   
for語句  99
使用for語句實(shí)現(xiàn)固定次數(shù)的循環(huán)  101
偶數(shù)的枚舉  103
約數(shù)的枚舉  104
表達(dá)式語句和空語句  104
循環(huán)語句  105
4-4  多重循環(huán)  107  
二重循環(huán)  107
用break語句強(qiáng)制結(jié)束循環(huán)  108
顯示圖形  109
多重循環(huán)  111
4-5  程序的組成元素和格式  114  
關(guān)鍵字  114
運(yùn)算符  114
標(biāo)識符  114
分隔符  115
常量和字符串常量  115
自由的書寫格式  116
連接相鄰的字符串常量  117
縮進(jìn)  117
總結(jié)  118
第5章  數(shù)組
5-1  數(shù)組  122
數(shù)組  122
數(shù)組的聲明(使用數(shù)組前的準(zhǔn)備)  123
訪問數(shù)組(數(shù)組的使用方法)  123
數(shù)組的遍歷  124
數(shù)組初始化  126
數(shù)組的復(fù)制  127
輸入數(shù)組元素的值  129
對數(shù)組的元素進(jìn)行倒序排列  129
使用數(shù)組進(jìn)行成績處理  131
對象式宏  131
數(shù)組元素的**大值和**小值  133
賦值表達(dá)式的判斷  134
數(shù)組的元素個(gè)數(shù)  135
5-2  多維數(shù)組  138  
多維數(shù)組  138
總結(jié)  142
第6章  函數(shù)
6-1  什么是函數(shù)  146
main函數(shù)和庫函數(shù)  146
什么是函數(shù)  146
函數(shù)定義  147
函數(shù)調(diào)用  148
三個(gè)數(shù)中的**大值  151
將函數(shù)的返回值作為參數(shù)傳遞給函數(shù)  152
調(diào)用其他函數(shù)  154
值傳遞  155
6-2  函數(shù)設(shè)計(jì)  158  
沒有返回值的函數(shù)  158
通用性  159
不含形參的函數(shù)  160
函數(shù)返回值的初始化  161
作用域  161
文件作用域  162
聲明和定義  163
函數(shù)原型聲明  163
頭文件和文件包含指令  164
函數(shù)的通用性  165
數(shù)組的傳遞  166
函數(shù)的傳遞和const類型的修飾符  168
線性查找(順序查找)  170
哨兵查找法  172
多維數(shù)組的傳遞  175
6-3  作用域和存儲期  178   
作用域和標(biāo)識符的可見性  178
存儲期  180
總結(jié)  185
第7章  基本數(shù)據(jù)類型
7-1 基本數(shù)據(jù)類型和數(shù)  190
算數(shù)類型和基本數(shù)據(jù)類型  190
基數(shù)  191
基數(shù)轉(zhuǎn)換  192
7-2 整型和字符型  195   
整型和字符型  195
頭文件  196
字符型  199
位和CHAR_BIT  200
sizeof運(yùn)算符  200
size_t型和typedef聲明  202
整型的靈活運(yùn)用  202
整型的內(nèi)部表示  204
無符號整數(shù)的內(nèi)部表示  205
有符號整數(shù)的內(nèi)部表示  207
按位操作的邏輯運(yùn)算  209
位移運(yùn)算符  212
整型常量  216
整型常量的數(shù)據(jù)類型  218
整數(shù)的顯示  218
數(shù)據(jù)溢出和異?! ?20
7-3 浮點(diǎn)型  221
浮點(diǎn)型  221
浮點(diǎn)型常量  223
頭文件  224
循環(huán)的控制  225
7-4 運(yùn)算和運(yùn)算符  228
運(yùn)算符的優(yōu)先級和結(jié)合性  228
優(yōu)先級  228
結(jié)合性  228
數(shù)據(jù)類型轉(zhuǎn)換  230
總結(jié)  232
第8章  動手編寫各種程序吧
8-1 函數(shù)式宏  236
函數(shù)和數(shù)據(jù)類型  236
函數(shù)式宏  237
函數(shù)和函數(shù)式宏  238
不帶參數(shù)的函數(shù)式宏  239
函數(shù)式宏和逗號運(yùn)算符  240
8-2 排序  243   
冒泡排序法  243
8-3 枚舉類型  246   
枚舉類型  246
枚舉常量  248
命名空間  250
8-4 遞歸函數(shù)  251  
函數(shù)和類型  251
階乘  252
8-5  輸入輸出和字符  255
getchar函數(shù)和EOF  255
從輸入復(fù)制到輸出  256
數(shù)字字符計(jì)數(shù)  256
字符  258
轉(zhuǎn)義字符  261
總結(jié)  263
第9章  字符串的基本知識
9-1 什么是字符串  266
字符串字面量  266
字符串字面量的長度  266
字符串  268
字符數(shù)組的初始化賦值  269
空字符串  270
字符串的讀取  270
格式化顯示字符串  271
9-2 字符串?dāng)?shù)組  273
字符串?dāng)?shù)組  273
讀取字符串?dāng)?shù)組中的字符串  274
9-3 字符串處理  275
字符串長度  275
顯示字符串  277
數(shù)字字符的出現(xiàn)次數(shù)  278
大小寫字符轉(zhuǎn)換  279
字符串?dāng)?shù)組的參數(shù)傳遞  280
總結(jié)  283
第 10章  指針
10-1 指針  286
函數(shù)的參數(shù)  286
對象和地址  287
取址運(yùn)算符  288
指針  289
指針運(yùn)算符  291
10-2 指針和函數(shù)  293   
作為函數(shù)參數(shù)的指針  293
計(jì)算和與差  294
二值互換  296
將兩個(gè)值排序  297
scanf函數(shù)和指針  298
指針的類型  299
空指針  300
標(biāo)量型  301
10-3 指針和數(shù)組  302    
指針和數(shù)組  302
指針運(yùn)算符和下標(biāo)運(yùn)算符  304
數(shù)組和指針的不同點(diǎn)  306
數(shù)組的傳遞  308
總結(jié)  311
第 11章  字符串和指針
11-1  字符串和指針  316
用數(shù)組實(shí)現(xiàn)的字符串和用指針實(shí)現(xiàn)的字符串  316
用數(shù)組實(shí)現(xiàn)的字符串和用指針實(shí)現(xiàn)的字符串的不同點(diǎn)  318
字符串?dāng)?shù)組  320
11-2 通過指針操作字符串  323  
判斷字符串長度  323
字符串的復(fù)制  325
不正確的字符串復(fù)制  328
返回指針的函數(shù)  329
11-3 字符串處理庫函數(shù)  330   
strlen函數(shù):求字符串的長度  330
strcpy函數(shù)、strncpy函數(shù):復(fù)制字符串  331
strcat函數(shù)、strncat函數(shù):連接字符串  332
strcmp函數(shù)、strncmp函數(shù):比較字符串的大小關(guān)系  332
atoi函數(shù)、atol函數(shù)、atof函數(shù):轉(zhuǎn)換字符串  333
總結(jié)  336
第 12章  結(jié)構(gòu)體
12-1  結(jié)構(gòu)體  340
數(shù)據(jù)關(guān)聯(lián)性  340
結(jié)構(gòu)體  342
結(jié)構(gòu)體成員和. 運(yùn)算符  344
成員的初始化  345
結(jié)構(gòu)體成員和->運(yùn)算符  346
結(jié)構(gòu)體和typedef  348
結(jié)構(gòu)體和程序  350
聚合類型  351
返回結(jié)構(gòu)體的函數(shù)  351
命名空間  353
結(jié)構(gòu)體數(shù)組  353
派生類型  355
12-2  作為成員的結(jié)構(gòu)體  356   
表示坐標(biāo)的結(jié)構(gòu)體  356
具有結(jié)構(gòu)體成員的結(jié)構(gòu)體  357
總結(jié)  361
第 13章  文件處理
13-1  文件與流  364
文件與流  364
標(biāo)準(zhǔn)流  365
FILE型  365
打開文件  365
關(guān)閉文件  368
打開與關(guān)閉文件示例  369
文件數(shù)據(jù)匯總  370
寫入日期和時(shí)間  372
獲取上一次運(yùn)行時(shí)的信息  376
顯示文件內(nèi)容  378
文件的復(fù)制  380
13-2  文本和二進(jìn)制  382   
在文本文件中保存實(shí)數(shù)  382
文本文件和二進(jìn)制文件  383
在二進(jìn)制文件中保存實(shí)數(shù)  384
顯示文件自身  386
13-3  printf函數(shù)與scanf函數(shù)  389
printf函數(shù):帶格式輸出  389
scanf函數(shù):帶格式的輸入  393
總結(jié)  397
附錄  C語言簡介
C語言的歷史  400
K&R——C語言的圣經(jīng)  400
C語言標(biāo)準(zhǔn)規(guī)范  400
結(jié)語  402
參考文獻(xiàn)  405 《明解C語言 中級篇》
第 1章 猜數(shù)游戲 1
1-1 猜數(shù)判定 2
通過if語句實(shí)現(xiàn)條件分支  2
if語句的嵌套  3
實(shí)現(xiàn)多分支的方法  4
1-2 重復(fù)到猜對為止 8
通過do語句循環(huán) 8
相等運(yùn)算符和關(guān)系運(yùn)算符 9
通過while語句循環(huán) 10
break語句 10
while語句和do語句 11
先判斷后循環(huán)和先循環(huán)后判斷 11
1-3 隨機(jī)設(shè)定目標(biāo)數(shù)字 12
rand函數(shù):生成隨機(jī)數(shù) 12
srand函數(shù):設(shè)置用于生成隨機(jī)數(shù)的種子 13
隨機(jī)設(shè)定目標(biāo)數(shù)字 15
限制輸入次數(shù) 17
1-4 保存輸入記錄 22
數(shù)組 22
把輸入的值存入數(shù)組 24
通過for語句來顯示輸入記錄 26
數(shù)組元素的初始化 28
獲取數(shù)組的元素個(gè)數(shù) 29
第 2章 專注于顯示 33
2-1 熟練運(yùn)用轉(zhuǎn)義字符 34
轉(zhuǎn)義字符 34
a:警報(bào)符 35
n:換行符 35
f:換頁符 35
b:退格符 36
r:回車符 38
t:水平制表符 39
v:垂直制表符 39
'和":單引號和雙引號 40
putchar函數(shù):輸出字符 40
:問號符 40
:反斜杠字符 41
八進(jìn)制轉(zhuǎn)義字符和十六進(jìn)制轉(zhuǎn)義字符 41
2-2 操縱時(shí)間 42
clock函數(shù):獲取程序啟動后經(jīng)過的時(shí)間 42
計(jì)算處理所需的時(shí)間 46
暫停處理一段時(shí)間 47
2-3 字幕顯示 50
逐個(gè)顯示并消除字符 50
strlen函數(shù):查詢字符串的長度 50
字幕顯示(從右往左) 52
字幕顯示(從左往右) 53
2-4 格式輸入輸出 56
把要顯示的位數(shù)指定為變量 56
顯示任意數(shù)量的空白字符 57
printf函數(shù):格式輸出 60
scanf函數(shù):格式輸入 63
第3章 猜拳游戲 69
3-1 猜拳游戲 70
基本設(shè)計(jì) 70
switch語句 72
表示“手勢”的字符串 74
包含漢字的字符串 75
char型 76
顯示所有的字符 77
isprint函數(shù):判斷顯示字符 78
條件運(yùn)算符和條件表達(dá)式 78
字符串的內(nèi)部 79
通過指針來遍歷字符串 80
CHAR_BIT 81
指向字符串的指針數(shù)組 81
程序的改良 84
手勢的值和手勢的判斷 86
讓計(jì)算機(jī)“后出” 87
3-2 函數(shù)的分割 88
勝負(fù)次數(shù) 88
函數(shù)和標(biāo)識符的作用域 90
猜贏3次結(jié)束 91
第4章 珠璣妙算 97
4-1 珠璣妙算 98
珠璣妙算 98
出題 99
讀取數(shù)字串 101
atoi函數(shù)/atol函數(shù)/atof函數(shù):把字符串轉(zhuǎn)換為數(shù)值 102
檢查已讀取的字符串的有效性 103
字符類別的判斷 105
hit和blow的判斷 107
第5章 記憶力訓(xùn)練 117
5-1 單純記憶訓(xùn)練 118
訓(xùn)練記憶4位數(shù) 118
整數(shù)型的表示范圍 119
訓(xùn)練記憶任意位數(shù)的數(shù)值 120
輸入訓(xùn)練等級 121
用字符串表示數(shù)值 122
生成作為題目的字符串 122
顯示作為題目的字符串 123
strcmp函數(shù):字符串的比較 124
英文字母記憶訓(xùn)練(其一) 125
生成作為題目的字符串 127
英文字母記憶訓(xùn)練(其二) 127
5-2 加一訓(xùn)練 130
加一訓(xùn)練 130
輸入等級 132
生成并顯示題目 132
消除題目 132
輸入答案 133
判斷對錯(cuò) 133
保存答對數(shù)量 133
顯示訓(xùn)練結(jié)果 133
用橫向圖形顯示 134
用縱向圖形顯示 135
把數(shù)值存入數(shù)組 136
如何存儲超過數(shù)組元素個(gè)數(shù)的值(其一) 138
如何存儲超過數(shù)組元素個(gè)數(shù)的值(其二) 140
加一訓(xùn)練的改良 142
5-3 存儲空間的動態(tài)分配與釋放 144
聲明數(shù)組 144
動態(tài)存儲期 145
存儲空間的動態(tài)分配與釋放 146
指向void型的指針 146
為單個(gè)對象分配存儲空間 148
為數(shù)組對象分配存儲空間 151
第6章 日歷 161
6-1 今 天是幾號 162
今 天的日期 162
time_t型:日歷時(shí)間 162
time函數(shù):以日歷時(shí)間的形式來獲取當(dāng)前時(shí)間 163
tm結(jié)構(gòu)體:分解時(shí)間 164
localtime函數(shù):把日歷時(shí)間轉(zhuǎn)換成表示本地時(shí)間的分解時(shí)間 164
gmtime函數(shù):把日歷時(shí)間轉(zhuǎn)換成UTC分解時(shí)間 166
通過當(dāng)前時(shí)間設(shè)定隨機(jī)數(shù)種子 167
asctime函數(shù):把分解時(shí)間轉(zhuǎn)換成字符串 167
ctime函數(shù):把日歷時(shí)間轉(zhuǎn)換成字符串 170
difftime函數(shù):求時(shí)間差 171
暫停處理一段時(shí)間 173
6-2 求星期 174
mktime函數(shù):把表示本地時(shí)間的分解時(shí)間轉(zhuǎn)換成日歷時(shí)間 174
蔡勒公式 175
6-3 日歷 178
顯示日歷 178
求星期 179
閏年的判斷 179
月份的天數(shù) 179
顯示日歷的過程 180
橫向顯示 182
把1個(gè)月的日歷存入字符串 186
sprintf函數(shù):對字符串進(jìn)行格式化輸出 186
生成空字符串 187
strcpy函數(shù):字符串的復(fù)制 188
在第 1日左側(cè)設(shè)置空白 189
strcat函數(shù):字符串的連接 190
顯示字符串 192
年月的計(jì)算 193
6-4 命令行參數(shù) 194
命令行參數(shù) 194
argv指向的實(shí)體 196
通過指針以字符串為單位遍歷argv 197
通過指針以字符為單位遍歷argv 199
不使用argc來遍歷 204
啟動程序時(shí)指定年月的日歷 205
第7章 右腦訓(xùn)練 211
7-1 尋找幸運(yùn)數(shù)字 212
復(fù)制數(shù)組 212
復(fù)制數(shù)組時(shí)跳過一個(gè)數(shù)組元素 214
尋找幸運(yùn)數(shù)字 216
重新排列數(shù)組元素 217
交換兩個(gè)值 219
7-2 尋找重復(fù)數(shù)字 222
尋找重復(fù)數(shù)字 222
鍵盤輸入和操作性能的提升(MS-Windows/MS-DOS) 224
getch函數(shù):獲取按下的鍵 225
putch函數(shù):輸出到控制臺 225
鍵盤輸入和操作性能的提升(UNIX / Linux / OS X) 226
通用頭文件 227
包含頭文件保護(hù)的頭文件的設(shè)計(jì) 229
替換調(diào)用的函數(shù) 231
可變參數(shù)的聲明 232
va_start宏:訪問可變參數(shù)前的準(zhǔn)備 233
va_arg宏:取出可變參數(shù) 234
va_end宏:結(jié)束對可變參數(shù)的訪問 235
vprintf函數(shù)/ vfprintf函數(shù):輸出到流 235
vsprintf函數(shù):輸出到字符串 237
改良后的程序 238
7-3 三字母詞聯(lián)想訓(xùn)練 241
瞬間判斷力的養(yǎng)成 241
生成題目 242
第8章 打字練習(xí) 247
8-1 基本打字練習(xí) 248
輸入一個(gè)字符串 248
消除已輸入的字符 249
輸入多個(gè)字符串 252
打亂出題順序(方法一) 254
打亂出題順序(方法二) 256
8-2 鍵盤布局聯(lián)想打字 258
鍵盤布局聯(lián)想打字 258
8-3 綜合打字練習(xí) 261
練習(xí)菜單 261
單一位置訓(xùn)練 267
混合位置訓(xùn)練 269
C語言的單詞訓(xùn)練 271
英語會話訓(xùn)練 273
第9章 文件處理 277
9-1 標(biāo)準(zhǔn)流 278
復(fù)制程序 278
getchar函數(shù)和EOF 278
賦值和比較 279
流和緩沖區(qū) 280
緩沖的種類 280
setvbuf函數(shù)/setbuf函數(shù):更改緩沖方法 281
fflush函數(shù):刷新緩沖區(qū) 282
標(biāo)準(zhǔn)流 283
重定向 284
9-2 文本文件 285
文件的打開和關(guān)閉 285
fopen函數(shù):打開文件 285
FILE型 287
fclose函數(shù):關(guān)閉文件 288
保存和獲取訓(xùn)練信息 288
更新**高得分 292
讀取訓(xùn)練信息 292
fscanf函數(shù):輸入格式 293
寫入訓(xùn)練信息 293
fprintf函數(shù):輸出格式 293
9-3 實(shí)用程序的編寫 294
concat:文件的連接輸出 294
fgetc函數(shù):從流中讀取一個(gè)字符 297
fputc函數(shù):向流輸出一個(gè)字符 297
detab:把水平制表符轉(zhuǎn)換成空白字符 298
fputs函數(shù):輸出字符串 301
entab:把空白字符轉(zhuǎn)換成水平制表符 302
9-4 二進(jìn)制文件 304
文本文件和二進(jìn)制文件 304
fread函數(shù):從文件中讀取數(shù)據(jù) 305
fwrite函數(shù):向文件中寫入數(shù)據(jù) 305
hdump:通過字符和十六進(jìn)制編碼實(shí)現(xiàn)文件轉(zhuǎn)儲 305
bcopy:復(fù)制文件 307
第 10章 英語單詞學(xué)習(xí)軟件 311
10-1 英語單詞學(xué)習(xí)軟件 312
單詞顯示軟件 312
選擇和顯示單詞 313
向單詞學(xué)習(xí)軟件擴(kuò)展 314
顯示選項(xiàng) 316
生成選項(xiàng) 316
生成選項(xiàng)(改良版本) 318
10-2 為字符串?dāng)?shù)組動態(tài)分配空間 320
為單一字符串動態(tài)分配空間 320
為字符串?dāng)?shù)組(二維數(shù)組)動態(tài)分配空間 321
為字符串?dāng)?shù)組(指針數(shù)組)動態(tài)分配空間 323
單詞文件的讀取 330
后記  335
致謝  336
參考文獻(xiàn) 337
《明解C語言:實(shí)踐篇》目 錄
第 1章 看不見的錯(cuò)誤輸入 1
1-1 看不見的錯(cuò)誤 2
看不見的錯(cuò)誤 2
難以察覺的錯(cuò)誤 3
容易忽略的錯(cuò)誤 5
預(yù)處理指令中的空白字符 7
#if 指令和注釋 7
頭文件保護(hù)符 9
函數(shù)式宏及其運(yùn)行效率 10
函數(shù)式宏的副作用 10
C  中max2的實(shí)現(xiàn) 12
1-2 初始化 15
初始化和賦值 15
對象 16
自動存儲期 16
靜態(tài)存儲期 18
標(biāo)識符的有效范圍和初始化 20
數(shù)組的初始化 22
多維數(shù)組的初始化 24
使用 typedef名的數(shù)組的初始化 26
第 2章 類型轉(zhuǎn)換 29
2-1 類型轉(zhuǎn)換 30
-1和1哪個(gè)大? 30
if 語句的求值 31
關(guān)系運(yùn)算符和關(guān)系式 31
相等運(yùn)算符和等式 32
if 語句的控制表達(dá)式 35
隱式類型轉(zhuǎn)換 37
普通算術(shù)類型轉(zhuǎn)換 38
2-2 有符號整數(shù)和無符號整數(shù) 39
無符號整數(shù)在內(nèi)存中的表示 39
有符號整數(shù)在內(nèi)存中的表示 41
整型提升 43
有符號整數(shù)和無符號整數(shù)之間的類型轉(zhuǎn)換 45
問題的解決 47
補(bǔ)碼表示的有符號整數(shù)到無符號整數(shù)的類型轉(zhuǎn)換 48
第 3章 關(guān)于指針 53
3-1 指針和地址 54
地址和取址運(yùn)算符 54
指針和間接運(yùn)算符 55
3-2 指針和函數(shù)調(diào)用 58
值傳遞 58
傳遞指針給函數(shù) 59
傳遞指針的指針給函數(shù) 61
3-3 指針和數(shù)組 64
數(shù)組的傳遞 64
表示數(shù)組末尾的哨兵 67
指針、數(shù)組和數(shù)據(jù)類型 69
3-4 指針和多維數(shù)組 72
數(shù)據(jù)類型的派生和多維數(shù)組 72
多維數(shù)組和指針 76
3-5 動態(tài)對象的生成 80
動態(tài)存儲期 80
void 指針 81
單個(gè)對象的生成 81
數(shù)組對象的生成 83
多維數(shù)組對象的生成 85
第 4章 字符串和指針 89
4-1 字符和字符串 90
字符和字符串 90
字符和字符常量 90
字符的值 91
字符串 93
字符串字面量 95
字符串字面量和字符串常量 97
用指針實(shí)現(xiàn)的字符串的操作 99
指向字符串的指針 100
字符串?dāng)?shù)組 101
4-2 字符串的處理 103
字符串的復(fù)制 103
字符串不能為空? 106
使字符串為空的兩種方法 108
使字符串為空的錯(cuò)誤方法 110
問題的解決 111
存儲空間的清空 113
字符串的動態(tài)生成 115
字符串?dāng)?shù)組的動態(tài)生成 117
第 5章 NULL 119
5-1 空指令、空字符和空語句 120
null 120
空指令 120
空字符 121
空字符串 121
空語句 122
5-2 空指針和NULL 124
空指針 124
空指針常量 124
返回空指針的函數(shù) 124
空指針在內(nèi)存中的表示不一定為 0 125
第 6章 函數(shù)的定義和聲明 129
6-1 函數(shù)的定義和調(diào)用 130
函數(shù)定義的順序 130
調(diào)用未聲明的函數(shù) 131
默認(rèn)的 int型 132
未聲明的函數(shù)的處理 133
老式風(fēng)格的函數(shù)聲明 135
老式風(fēng)格的函數(shù)聲明的陷阱 136
6-2 函數(shù)原型聲明 137
函數(shù)原型聲明 137
默認(rèn)參數(shù)提升 138
參數(shù)名 142
可變參數(shù)的聲明 143
va_start 宏:訪問可變參數(shù)前的準(zhǔn)備 145
va_arg 宏:取出可變參數(shù) 146
va_end 宏:結(jié)束對可變參數(shù)的訪問 147
vprintf 函數(shù)/vfprintf函數(shù):輸出到流 147
第 7章 結(jié)構(gòu)體和共用體 151
7-1 結(jié)構(gòu)體 152
結(jié)構(gòu)體的基礎(chǔ) 152
成員的訪問 153
結(jié)構(gòu)體對象的初始化 153
結(jié)構(gòu)體和宏 154
結(jié)構(gòu)體和 typedef聲明 155
相互引用的結(jié)構(gòu)體 157
7-2 結(jié)構(gòu)體與字節(jié)對齊 162
代碼優(yōu)化 162
結(jié)構(gòu)體和字節(jié)對齊 163
offsetof 宏 165
7-3 共用體 168
共用體 168
共用體對象的初始化 168
公共初始序列 169
第 8章 文件處理和文本文件 173
8-1 文本文件 174
文件和流 174
文件的打開和關(guān)閉 175
FILE 型 177
輸入輸出庫函數(shù) 178
問題和解決方法 184
解決方法一:添加無效數(shù)據(jù) 185
解決方法二:優(yōu)化程序 186
8-2 作為字符的數(shù)據(jù) 189
數(shù)值的讀取 189
數(shù)值和字符串 190
使用 sprintf 函數(shù)將數(shù)據(jù)寫入字符串 196
使用 sscanf 函數(shù)從字符串中讀取數(shù)據(jù) 197
第 9章 文件的應(yīng)用 201
9-1 流和緩沖區(qū) 202
調(diào)用的函數(shù)未被執(zhí)行? 202
緩沖區(qū)的刷新 203
流的緩沖區(qū) 205
問題的解決 207
9-2 文本文件和二進(jìn)制文件 209
文本和二進(jìn)制 209
文件的轉(zhuǎn)儲 210
二進(jìn)制文件的訪問 212
字節(jié)序 214
換行符的處理 214
第 10章 棧溢出 217
10-1 ?!?18
棧的實(shí)現(xiàn) 218
10-2 棧溢出 224
函數(shù)調(diào)用和?!?24
數(shù)據(jù)和?!?25
棧溢出 227
檢測棧溢出的原理 229
如果棧被破壞 230
第 11章 庫開發(fā)的基礎(chǔ) 231
11-1 源文件的分離和鏈接 232
單字符輸入輸出庫 232
隊(duì)列 234
庫的使用示例 235
分離式編譯 236
鏈接性 237
11-2 庫開發(fā) 240
源文件的分離 240
正確的示例 243
第 12章 線性表的應(yīng)用 249
12-1 線性表 250
線性表 250
節(jié)點(diǎn)的實(shí)現(xiàn) 250
線性表的特點(diǎn) 251
線性表的實(shí)現(xiàn) 252
線性表存儲空間的動態(tài)分配 256
12-2 用數(shù)組實(shí)現(xiàn)的線性表 258
用數(shù)組實(shí)現(xiàn)的線性表 258
刪除的記錄的管理 261
12-3 帶索引的線性表 264
帶索引的線性表 264
索引表 270
第 13章 二叉查找樹的應(yīng)用 273
13-1 二叉查找樹 274
二叉查找樹 274
二叉查找樹和線性表 278
13-2 非遞歸查找及其應(yīng)用 282
遞歸的過程 282
遞歸函數(shù)的非遞歸實(shí)現(xiàn) 283
問題的解決 285
第 14章 控制臺的操作 291
14-1 轉(zhuǎn)義序列 292
轉(zhuǎn)義序列 292
14-2 畫面控制庫 296
Windows API 的使用 296
clearscreen 實(shí)用程序 299
setcolor 實(shí)用程序 299
猜數(shù)游戲 301
致 謝 304
作者簡介 305

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號