編輯推薦
暢銷書《明解C語言》第-2彈,C語言進階不二之選! 111段代碼+152幅圖錶,圖文並茂,講解清晰易懂。 10個有趣的遊戲程序,讓你在快樂編程中學會實用技巧。 雙色印刷,版式賞心悅目。 本書是日本超受歡迎的C語言教程,榮獲日本工學教育協會著作奬,原版係列纍計暢銷超100萬冊! 本書適閤以下讀者閱讀: 1.入門書中的示例程序都能看懂,但是自己寫不齣來; 2.理解數組、指針等語法,但是不知如何在程序中使用; 3.學完入門書後找不到一本閤適的書繼續學習……
內容簡介
《明解C語言:中級篇》延續瞭《明解C語言:入門篇》圖文並茂、示例豐富、講解細緻的風格,在結構上又獨樹一幟,通過每章帶領讀者編寫一個遊戲程序並逐步完善或加以變更,來講解相關的C語言進階知識。每章的程序都很簡單有趣,而且包含著很多實用性的技巧,例如隨機數的生成、數組的應用方法、字符串和指針、命令行參數、文件處理、接收可變參數的函數的生成方法、存儲空間的動態分配與釋放,等等。此外,還會講解詳細的語法規則、眾多庫函數的使用方法、算法等知識。 本書非常適閤有一定C語言基礎的讀者閱讀。
作者簡介
柴田望洋 日本福岡工業大學信息工程學院副教授。在IT界傢喻戶曉,編寫瞭一係列極富影響力的計算機教材和參考書,如《明解C++》《明解Java》等。本書榮獲日本工學教育協會著作奬。
目錄
第1章 猜數遊戲 1
1-1 猜數判定 2
通過if語句實現條件分支 2
if語句的嵌套 3
實現多分支的方法 4
1-2 重復到猜對為止 8
通過do語句循環 8
相等運算符和關係運算符 9
通過while語句循環 10
break語句 10
while語句和do語句 11
先判斷後循環和先循環後判斷 11
1-3 隨機設定目標數字 12
rand函數:生成隨機數 12
srand函數:設置用於生成隨機數的種子 13
隨機設定目標數字 15
限製輸入次數 17
1-4 保存輸入記錄 22
數組 22
把輸入的值存入數組 24
通過for語句來顯示輸入記錄 26
數組元素的初始化 28
獲取數組的元素個數 29
第2章 專注於顯示 33
2-1 熟練運用轉義字符 34
轉義字符 34
a:警報符 35
:換行符 35
f:換頁符 35
:退格符 36
:迴車符 38
:水平製錶符 39
v:垂直製錶符 39
'和":單引號和雙引號 40
putchar函數:輸齣字符 40
:問號符 40
\:反斜杠字符 41
八進製轉義字符和十六進製轉義字符 41
2-2 操縱時間 42
clock函數:獲取程序啓動後經過的時間 42
計算處理所需的時間 46
暫停處理一段時間 47
2-3 字幕顯示 50
逐個顯示並消除字符 50
strlen函數:查詢字符串的長度 50
字幕顯示(從右往左) 52
字幕顯示(從左往右) 53
2-4 格式輸入輸齣 56
把要顯示的位數指定為變量 56
顯示任意數量的空白字符 57
printf函數:格式輸齣 60
scanf函數:格式輸入 63
第3章 猜拳遊戲 69
3-1 猜拳遊戲 70
基本設計 70
switch語句 72
錶示“手勢”的字符串 74
包含漢字的字符串 75
char型 76
顯示所有的字符 77
isprint函數:判斷顯示字符 78
條件運算符和條件錶達式 78
字符串的內部 79
通過指針來遍曆字符串 80
CHAR_BIT 81
指嚮字符串的指針數組 81
程序的改良 84
手勢的值和手勢的判斷 86
讓計算機“後齣” 87
3-2 函數的分割 88
勝負次數 88
函數和標識符的作用域 90
猜贏3次就結束 91
第4章 珠璣妙算 97
4-1 珠璣妙算 98
珠璣妙算 98
齣題 99
讀取數字串 101
atoi函數/atol函數/atof函數:把字符串轉換為數值 102
檢查已讀取的字符串的有效性 103
字符類彆的判斷 105
hit和blow的判斷 107
第5章 記憶力訓練 117
5-1 單純記憶訓練 118
訓練記憶4位數 118
整數型的錶示範圍 119
訓練記憶任意位數的數值 120
輸入訓練等級 121
用字符串錶示數值 122
生成作為題目的字符串 122
顯示作為題目的字符串 123
strcmp函數:字符串的比較 124
英文字母記憶訓練(其一) 125
生成作為題目的字符串 127
英文字母記憶訓練(其二) 127
5-2 加一訓練 130
加一訓練 130
輸入等級 132
生成並顯示題目 132
消除題目 132
輸入答案 133
判斷對錯 133
保存答對數量 133
顯示訓練結果 133
用橫嚮圖形顯示 134
用縱嚮圖形顯示 135
把數值存入數組 136
如何存儲超過數組元素個數的值(其一) 138
如何存儲超過數組元素個數的值(其二) 140
加一訓練的改良 142
5-3 存儲空間的動態分配與釋放 144
聲明數組 144
動態存儲期 145
存儲空間的動態分配與釋放 146
指嚮void型的指針 146
為單個對象分配存儲空間 148
為數組對象分配存儲空間 151
第6章 日曆 161
6-1 今天是幾號 162
今天的日期 162
time_t型:日曆時間 162
time函數:以日曆時間的形式來獲取當前時間 163
tm結構體:分解時間 164
localtime函數:把日曆時間轉換成錶示本地時間的分解時間 164
gmtime函數:把日曆時間轉換成UTC分解時間 166
通過當前時間設定隨機數種子 167
asctime函數:把分解時間轉換成字符串 167
ctime函數:把日曆時間轉換成字符串 170
difftime函數:求時間差 171
暫停處理一段時間 173
6-2 求星期 174
mktime函數:把錶示本地時間的分解時間轉換成日曆時間 174
蔡勒公式 175
6-3 日曆 178
顯示日曆 178
求星期 179
閏年的判斷 179
月份的天數 179
顯示日曆的過程 180
橫嚮顯示 182
把1個月的日曆存入字符串 186
sprintf函數:對字符串進行格式化輸齣 186
生成空字符串 187
strcpy函數:字符串的復製 188
在第1日左側設置空白 189
strcat函數:字符串的連接 190
顯示字符串 192
年月的計算 193
6-4 命令行參數 194
命令行參數 194
argv指嚮的實體 196
通過指針以字符串為單位遍曆argv 197
通過指針以字符為單位遍曆argv 199
不使用argc來遍曆 204
啓動程序時指定年月的日曆 205
第7章 右腦訓練 211
7-1 尋找幸運數字 212
復製數組 212
復製數組時跳過一個數組元素 214
尋找幸運數字 216
重新排列數組元素 217
交換兩個值 219
7-2 尋找重復數字 222
尋找重復數字 222
鍵盤輸入和操作性能的提升(MS-Windows/MS-DOS) 224
getch函數:獲取按下的鍵 225
putch函數:輸齣到控製颱 225
鍵盤輸入和操作性能的提升(UNIX / Linux / OS X) 226
通用頭文件 227
包含頭文件保護的頭文件的設計 229
替換調用的函數 231
可變參數的聲明 232
va_start宏:訪問可變參數前的準備 233
va_arg宏:取齣可變參數 234
va_end宏:結束對可變參數的訪問 235
vprintf函數/ vfprintf函數:輸齣到流 235
vsprintf函數:輸齣到字符串 237
改良後的程序 238
7-3 三字母詞聯想訓練 241
瞬間判斷力的養成 241
生成題目 242
第8章 打字練習 247
8-1 基本打字練習 248
輸入一個字符串 248
消除已輸入的字符 249
輸入多個字符串 252
打亂齣題順序(方法一) 254
打亂齣題順序(方法二) 256
8-2 鍵盤布局聯想打字 258
鍵盤布局聯想打字 258
8-3 綜閤打字練習 261
練習菜單 261
單一位置訓練 267
混閤位置訓練 269
C語言的單詞訓練 271
英語會話訓練 273
第9章 文件處理 277
9-1 標準流 278
復製程序 278
getchar函數和EOF 278
賦值和比較 279
流和緩衝區 280
緩衝的種類 280
setvbuf函數/setbuf函數:更改緩衝方法 281
fflush函數:刷新緩衝區 282
標準流 283
重定嚮 284
9-2 文本文件 285
文件的打開和關閉 285
fopen函數:打開文件 285
FILE型 287
fclose函數:關閉文件 288
保存和獲取訓練信息 288
更新最高得分 292
讀取訓練信息 292
fscanf函數:輸入格式 293
寫入訓練信息 293
fprintf函數:輸齣格式 293
9-3 實用程序的編寫 294
concat:文件的連接輸齣 294
fgetc函數:從流中讀取一個字符 297
fputc函數:嚮流輸齣一個字符 297
detab:把水平製錶符轉換成空白字符 298
fputs函數:輸齣字符串 301
entab:把空白字符轉換成水平製錶符 302
9-4 二進製文件 304
文本文件和二進製文件 304
fread函數:從文件中讀取數據 305
fwrite函數:嚮文件中寫入數據 305
hdump:通過字符和十六進製編碼實現文件轉儲 305
bcopy:復製文件 307
第10章 英語單詞學習軟件 311
10-1 英語單詞學習軟件 312
單詞顯示軟件 312
選擇和顯示單詞 313
嚮單詞學習軟件擴展 314
顯示選項 316
生成選項 316
生成選項(改良版本) 318
10-2 為字符串數組動態分配空間 320
為單一字符串動態分配空間 320
為字符串數組(二維數組)動態分配空間 321
為字符串數組(指針數組)動態分配空間 323
單詞文件的讀取 330
後記 335
緻謝 336
參考文獻 337
明解C語言 中級篇 epub pdf mobi txt 電子書 下載 2024
明解C語言 中級篇 下載 epub mobi pdf txt 電子書