書馨卡幫你省薪 2024個人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請 | 注冊

換個姿勢學(xué)C語言

作者:何旭輝
出版社:清華大學(xué)出版社出版時間:2022-09-01
開本: 其他 頁數(shù): 474
中 圖 價:¥93.2(7.9折) 定價  ¥118.0 登錄后可看到會員價
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

換個姿勢學(xué)C語言 版權(quán)信息

換個姿勢學(xué)C語言 本書特色

這是一本按照“先讓讀者在實(shí)踐中遇到問題,再通過理論學(xué)習(xí)來解決問題”思路編寫的C語言實(shí)踐指導(dǎo)書; 全書本著“急用先學(xué),學(xué)以致用”的原則,將一個完整項(xiàng)目開發(fā)過程分解為65個任務(wù),將C語言的核心知識點(diǎn)按照項(xiàng)目需求的順序貫穿其中,并注重編程思維和編碼習(xí)慣的訓(xùn)練; 使用《換個姿勢學(xué)C語言》,讀者可快速進(jìn)入項(xiàng)目開發(fā)狀態(tài),鍛煉發(fā)現(xiàn)問題、分析問題和解決問題的核心能力。

換個姿勢學(xué)C語言 內(nèi)容簡介

這是一本指引零基礎(chǔ)讀者使用C語言逐步完成一個完整項(xiàng)目的實(shí)踐指導(dǎo)書。全書以完成“外匯牌價看板”項(xiàng)目為目標(biāo),將編程語言基礎(chǔ)、程序設(shè)計(jì)及調(diào)試方法、軟件工程實(shí)踐的經(jīng)驗(yàn)融入其中,幫助初學(xué)者度過*艱難的入門階段。 全書共11課:編程基礎(chǔ)(第1~3課)介紹了什么是程序、不同編程語言的特點(diǎn)、C語言程序的結(jié)構(gòu)以及使用Visual Studio 2022編寫C語言程序的方法;C語言核心知識(第4~7課)從實(shí)際需求出發(fā)介紹了C語言程序中常用的數(shù)據(jù)結(jié)構(gòu),包括變量、結(jié)構(gòu)體、數(shù)組等,這部分還介紹了指針、動態(tài)內(nèi)存分配和文件訪問、自定義函數(shù)庫的知識;圖形用戶界面實(shí)現(xiàn)原理和方法(第8、9課)以在屏幕上繪制“點(diǎn)”為基礎(chǔ),逐步介紹顯示圖形、位圖的方法和原理,并將文本界面的“外匯牌價看板”程序升級到圖形用戶界面;“外匯牌價看板”程序的完成與交付(第10、11課),在前面已完成內(nèi)容的基礎(chǔ)上對“外匯牌價看板”進(jìn)行重構(gòu),完善細(xì)節(jié)并使其達(dá)到交付標(biāo)準(zhǔn)。此外,在附錄A(電子版形式,請掃描第1頁的二維碼獲取)介紹了一些有關(guān)計(jì)算機(jī)的基礎(chǔ)知識。 《換個姿勢學(xué)C語言》不僅適合對學(xué)習(xí)編程感到困難的讀者,也適合那些“看了很多書,聽了很多課,但仍然沒有編程思路,不會動手寫程序”的讀者,還適合沒有編程經(jīng)驗(yàn)的讀者學(xué)習(xí)。

換個姿勢學(xué)C語言 目錄

第1課??開始之前

1.1??為什么很多人學(xué)不會編程 1

1.2??基于應(yīng)用的學(xué)習(xí)方式 2

1.3??明確“外匯牌價看板”程序的設(shè)計(jì)目標(biāo) 3

1.3.1??什么是“外匯牌價看板” 4

1.3.2??通過需求會議確定軟件功能要求 6

1.3.3??編寫需求規(guī)格說明書 7

1.3.4??設(shè)計(jì)原型系統(tǒng) 7

1.4??找到程序設(shè)計(jì)的思路 9

1.4.1??劃分功能模塊 9

1.4.2??確定程序運(yùn)行的硬件環(huán)境 10

1.4.3??選擇程序架構(gòu) 12

1.4.4??選擇程序設(shè)計(jì)語言 15

1.5??小結(jié) 16

第2課??準(zhǔn)備開發(fā)環(huán)境

2.1??軟件開發(fā)工具的組成和用途 17

2.1.1??源代碼編輯器 17

2.1.2??編譯器 18

2.1.3??調(diào)試器 19

2.1.4??版本管理系統(tǒng) 19

2.2??安裝集成開發(fā)環(huán)境 20

2.2.1??為何需要集成開發(fā)環(huán)境 20

2.2.2??選擇集成開發(fā)環(huán)境 21

2.2.3??安裝Visual Studio Community 2022 22

2.3??編寫和運(yùn)行第1個C語言程序 26

2.3.1??規(guī)劃項(xiàng)目目錄結(jié)構(gòu) 27

2.3.2??創(chuàng)建解決方案和項(xiàng)目 28

2.3.3??在空白項(xiàng)目中增加和運(yùn)行程序 32

2.4??使用MSC編譯器 36

2.4.1??為何使用“cpp文件” 36

2.4.2??設(shè)置Visual Studio中的C++項(xiàng)目屬性 36

2.5??小結(jié) 38

2.6??檢查表 39

第3課??分析第1個程序

3.1??程序由多個相互調(diào)用的功能(function)組成 40

3.1.1??C語言中*基本的功能模塊被稱為函數(shù) 41

3.1.2??“Hello,World”程序中的函數(shù) 41

3.1.3??通過調(diào)試工具觀察函數(shù)的調(diào)用過程 43

3.2??定義和調(diào)用函數(shù)的方法 45

3.2.1??函數(shù)從哪里來 45

3.2.2??定義和調(diào)用函數(shù) 46

3.2.3??調(diào)用標(biāo)準(zhǔn)庫函數(shù) 49

3.3??源程序如何“變成”可執(zhí)行文件 57

3.3.1??預(yù)處理 58

3.3.2??編譯 59

3.3.3??鏈接 60

3.4??重復(fù)地sayHello 61

3.4.1??新增sayHelloForFiveTimes函數(shù) 62

3.4.2??修改sayHelloForFiveTimes函數(shù) 63

3.4.3??如何規(guī)范地給函數(shù)命名 64

3.4.4??函數(shù)的聲明和定義的區(qū)別 65

3.4.5??注釋 67

3.5??小結(jié) 68

3.6??檢查表 68

第4課??獲取和顯示外匯實(shí)時牌價

4.1??如何獲取實(shí)時牌價數(shù)據(jù) 70

4.2??下載和引用外匯牌價接口庫 71

4.2.1??下載外匯牌價接口庫 71

4.2.2??顯示美元的中行折算價 72

4.2.3??分析顯示美元中行折算價程序 75

4.3??數(shù)據(jù)類型與變量 78

4.3.1??數(shù)據(jù)類型與變量聲明 79

4.3.2??找到變量在內(nèi)存中的地址 81

4.4??給變量賦值 82

4.4.1??變量的初值不是默認(rèn)為0 83

4.4.2??將常量的值賦值給變量 83

4.4.3??將變量的值賦值給另一個變量 86

4.4.4??將算術(shù)計(jì)算的結(jié)果賦值給變量 87

4.4.5??將函數(shù)的返回值賦值給變量 90

4.4.6??交換兩個變量的值 91

4.5??選擇結(jié)構(gòu)程序 91

4.5.1??關(guān)系運(yùn)算符和關(guān)系表達(dá)式 92

4.5.2??使用if語句實(shí)現(xiàn)選擇結(jié)構(gòu) 93

4.6??小結(jié) 96

4.7??檢查表 96

第5課??獲取完整的牌價數(shù)據(jù)

5.1??使用數(shù)組存儲數(shù)據(jù) 99

5.1.1??數(shù)組的聲明方法 100

5.1.2??將外匯牌價數(shù)據(jù)存入數(shù)組 101

5.1.3??訪問數(shù)組元素 102

5.1.4??突破數(shù)組大小的限制 111

5.2??處理數(shù)組中的數(shù)據(jù) 126

5.2.1??查找數(shù)組中的*大值 126

5.2.2??數(shù)組排序 132

5.3??字符和字符串 141

5.3.1??計(jì)算機(jī)中的字符 142

5.3.2??字符編碼 143

5.3.3??編碼是如何被顯示成字符的 145

5.3.4??C語言中的字符 148

5.3.5??從鍵盤輸入字符并顯示 149

5.3.6??C語言中的字符串 154

5.3.7??使用scanf函數(shù)輸入字符串 159

5.4??獲取和顯示貨幣名稱 160

5.4.1??獲取某種貨幣的全部牌價數(shù)據(jù) 161

5.4.2??分析GetRatesAndCurrencyNameByCode函數(shù)的原型 163

5.5??小結(jié) 164

5.6??檢查表 164

第6課??創(chuàng)建自己的函數(shù)庫

6.1??什么是函數(shù)庫 173

6.1.1??靜態(tài)鏈接庫 173

6.1.2??動態(tài)鏈接庫 173

6.2??自定義字符串處理函數(shù) 174

6.2.1??計(jì)算字符串長度 175

6.2.2??在字符串中查找特定字符的位置 178

6.2.3??轉(zhuǎn)換字符串中的大寫字母為小寫字母 181

6.2.4??復(fù)制字符串 184

6.2.5??自定義字符串函數(shù)的其他要求 191

6.2.6??字符串處理的庫函數(shù) 195

6.3??處理鍵盤輸入 196

6.3.1??使用scanf函數(shù)輸入數(shù)值 196

6.3.2??自定義數(shù)據(jù)輸入函數(shù) 202

6.4??在Visual Studio 2022中創(chuàng)建靜態(tài)庫 209

6.4.1??創(chuàng)建靜態(tài)庫項(xiàng)目 209

6.4.2??函數(shù)庫中的代碼組織 211

6.4.3??分發(fā)函數(shù)庫 214

6.4.4??在項(xiàng)目中引用Mars函數(shù)庫 215

6.5??小結(jié) 216

6.6??檢查表 216

第7課??獲取全部外幣牌價并保存為文件

7.1??使用結(jié)構(gòu)體存儲不同類型的多項(xiàng)數(shù)據(jù) 222

7.1.1??定義結(jié)構(gòu)體 223

7.1.2??聲明結(jié)構(gòu)體變量 225

7.1.3??訪問結(jié)構(gòu)體變量的成員 225

7.1.4??結(jié)構(gòu)體變量的內(nèi)存占用和內(nèi)存對齊 227

7.1.5??使用typedef為結(jié)構(gòu)體創(chuàng)建別名 231

7.1.6??獲取貨幣牌價并填充至結(jié)構(gòu)體 232

7.2??文件訪問的基礎(chǔ)知識 234

7.2.1??使用fopen函數(shù)打開或創(chuàng)建文件 234

7.2.2??使用fwrite函數(shù)寫入數(shù)據(jù)到文件 236

7.2.3??文件緩沖區(qū) 239

7.2.4??使用fread函數(shù)從磁盤文件讀入數(shù)據(jù) 240

7.3??將結(jié)構(gòu)體存入磁盤文件 241

7.3.1??獲取牌價數(shù)據(jù)并寫入磁盤文件 242

7.3.2??分析輸出文件的內(nèi)容 243

7.3.3??從磁盤文件讀入數(shù)據(jù)到結(jié)構(gòu)體 247

7.4??獲取和保存全部外幣牌價數(shù)據(jù) 248

7.4.1??使用結(jié)構(gòu)體數(shù)組存儲多種外幣牌價 249

7.4.2??取得外幣牌價并存入結(jié)構(gòu)體數(shù)組 250

7.4.3??將顯示外幣牌價的代碼封裝成函數(shù) 251

7.4.4??獲取全部外幣牌價 253

7.4.5??一次獲取全部牌價 255

7.4.6??保存和打開數(shù)據(jù)文件 261

7.5??小結(jié) 266

7.6??檢查表 267

第8課??圖形編程基礎(chǔ)

8.1??圖像在計(jì)算機(jī)中的表示 276

8.1.1??來自人工繪制的矢量圖形 276

8.1.2??來自數(shù)碼相機(jī)或掃描儀的位圖 277

8.2??計(jì)算機(jī)是如何顯示圖形的 279

8.2.1??大型發(fā)光二極管顯示屏 280

8.2.2??OLED顯示屏 281

8.2.3??LCD顯示屏 281

8.3??使用EasyX圖形庫 283

8.3.1??下載和安裝EasyX圖形庫 283

8.3.2??初始化圖形窗口并繪制一個白色的點(diǎn) 284

8.4??基本的繪圖操作 286

8.4.1??繪制線 286

8.4.2??控制繪圖顏色 291

8.4.3??繪制和填充矩形框 296

8.5??小結(jié) 301

8.6??檢查表 302

第9課??顯示圖形和文本元素

9.1??常見的位圖文件格式 306

9.1.1??常見的位圖格式 306

9.1.2??BMP文件基本結(jié)構(gòu) 307

9.2??顯示24位BMP圖像 307

9.2.1??打開BMP文件并讀取文件頭 308

9.2.2??從文件中獲取第1個像素的顏色 317

9.2.3??繪制每個像素 319

9.3??優(yōu)化BMP圖像顯示程序 324

9.3.1??重新組織代碼結(jié)構(gòu),減少main函數(shù)中的代碼 324

9.3.2??displayBMP函數(shù)的設(shè)計(jì)與實(shí)現(xiàn) 326

9.4??顯示不同字體的文字 340

9.4.1??顯示文字的原理 341

9.4.2??使用EasyX的函數(shù)顯示文字 342

9.4.3??設(shè)置文字格式 343

9.5??控制屏幕分辨率和全屏顯示窗口 346

9.5.1??通過EnumDisplaySettings函數(shù)獲得當(dāng)前屏幕分辨率 346

9.5.2??改變和恢復(fù)屏幕分辨率—ChangeDisplaySettings 348

9.5.3??隱藏窗口邊框和按鈕 349

9.5.4??setFullScreenWindow函數(shù)和restoreDisplayMode函數(shù)的實(shí)現(xiàn) 350

9.6??小結(jié) 353

9.7??檢查表 353


第10課??完成外匯牌價看板程序

10.1??將程序分為三層 356

10.2??設(shè)計(jì)和實(shí)現(xiàn)外匯牌價看板程序的表現(xiàn)層 357

10.2.1??明確表現(xiàn)層需要完成的功能 358

10.2.2??創(chuàng)建新項(xiàng)目并加入工具函數(shù) 359

10.2.3??顯示外匯牌價看板的固定部分 365

10.2.4??在1頁中顯示7行牌價 370

10.2.5??顯示實(shí)時外匯牌價 386

10.2.6??實(shí)現(xiàn)分頁循環(huán)顯示 391

10.2.7??其他細(xì)節(jié)問題 403

10.2.8??實(shí)現(xiàn)按任意鍵退出 410

10.3??設(shè)計(jì)和實(shí)現(xiàn)外匯牌價看板的數(shù)據(jù)訪問層 414

10.3.1??設(shè)計(jì)LoadRates函數(shù) 415

10.3.2??實(shí)現(xiàn)LoadRates函數(shù) 417

10.3.3??顯示提示信息 423

10.4??消除隱蔽的隱患 427

10.4.1??排除內(nèi)存泄漏 427

10.4.2??請檢查網(wǎng)絡(luò)連接 432

10.5??切換和恢復(fù)屏幕分辨率 440

10.6??小結(jié) 441

10.7??檢查表 441

第11課??達(dá)到交付標(biāo)準(zhǔn)

11.1??使用相對路徑 442

11.1.1??修改getFlagFileName函數(shù) 444

11.1.2??修改dal.cpp 444

11.2??項(xiàng)目的配置管理 444

11.2.1??Debug和Release的區(qū)別 446

11.2.2??生成程序的Release版本 448

11.2.3??生成外匯牌價看板程序的Release版本 450

11.2.4??x86(Win32)和x64的區(qū)別 454

11.3??制作安裝程序 455

11.3.1??安裝Microsoft Visual Studio Installer Projects 455

11.3.2??創(chuàng)建外匯牌價看板的安裝程序 457

11.3.3??安裝外匯牌價看板程序 467

11.4??后續(xù)學(xué)習(xí)建議 469

11.4.1??重構(gòu)外匯牌價看板程序 469

11.4.2??后續(xù)學(xué)習(xí)方向及學(xué)習(xí)建議 470

后記


展開全部
商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服