本書以初學者為對象,通過學習筆記的方式,系統(tǒng)地介紹了使用C語言進行程序開發(fā)的各種技術(shù)。本書共有20章,包括C語言起步,算法基礎(chǔ),C語言基礎(chǔ),運算符與表達式,流程控制語句,利用數(shù)組處理批量數(shù)據(jù),用函數(shù)實現(xiàn)模塊化程序設(shè)計,指針的使用,結(jié)構(gòu)體和共用體,位運算,預處理命令,文件的輸入與輸出,內(nèi)存空間管理,管理SQL Server 2014,數(shù)據(jù)庫表的創(chuàng)建與維護,SQL Server數(shù)據(jù)表操作,SQL語句,存儲過程、觸發(fā)器與視圖,使用C語言操作數(shù)據(jù)庫,俄羅斯方塊游戲。本書內(nèi)容豐富,并且以學習筆記的形式對學習中經(jīng)常出現(xiàn)的各種問題和需要提示的重點、難點進行了提煉和總結(jié),適合讀者自學。
14小時視頻同步課程,手把手教你學編程
200個學習二維碼,手機、PC同步學習
132個實例、示例,強化知識理解
1個實戰(zhàn)項目,領(lǐng)略C語言開發(fā)真諦
前言:
C語言是一門基礎(chǔ)且通用的計算機編程語言,它具有高級語言和匯編語言的特性。C語言可以應用于不同的操作系統(tǒng)中,如UNIX、Linux、Windows,還可以應用于硬件開發(fā),如嵌入式系統(tǒng)開發(fā)。C語言是一門相對簡單、易學的基礎(chǔ)編程語言,一直受到廣大編程人員的青睞,是編程初學者的編程語言。
本書內(nèi)容
本書以C語言的愛好者、初學者和中級開發(fā)人員為對象,以學習筆記的形式系統(tǒng)地 介紹了使用C語言進行程序開發(fā)的各種技術(shù)。本書共20章,大體結(jié)構(gòu)如下:
本書特點
- 由淺入深,循序漸進。本書首先講解C語言的基礎(chǔ)知識,然后講解如何使用C語言進行文件的輸入與輸出、內(nèi)存空間管理及數(shù)據(jù)庫開發(fā)等技術(shù),后講解如何開發(fā)一個完整的項目,講解過程詳盡、版式新穎,使讀者在閱讀時一目了然,從而快速掌握書中的內(nèi)容。
- 教學視頻,講解詳盡。本書每節(jié)均提供了聲圖并茂的教學視頻,用于引導初學者快速入門,感受編程的快樂和成就感,從而使其增強進一步學習的信心。
- 實例典型,輕松易學。通過實例學習是好的學習方式,本書通過一個知識點、一個實例、一個結(jié)果的模式,透徹、詳盡地講解了程序開發(fā)過程中所需的各類知識。此外,為了便于讀者閱讀程序代碼、快速學習編程技能,書中大部分代碼都提供了注釋。
- 學習筆記,學記無憂。本書根據(jù)需要在各章安排了學習筆記欄目,讓讀者可以在學習過程中更輕松地理解相關(guān)知識點,并且更快地掌握相關(guān)應用技巧。
讀者對象
- 初學編程的自學者
- 編程愛好者
- ?圃盒5睦蠋熀蛯W生
- 相關(guān)培訓機構(gòu)的老師和學員
- 畢業(yè)設(shè)計的學生
- 初、中級程序開發(fā)人員
- 程序測試及維護人員
- 參加實習的菜鳥程序員
讀者服務
為了方便解決本書的疑難問題,我們提供了多種服務方式,并由作者團隊提供在線技術(shù)指導和社區(qū)服務,服務方式如下:
- 服務網(wǎng)站:www.mingrisoft.com
- 服務郵箱:mingrisoft@mingrisoft.com
- 企業(yè)QQ:4006751066
- QQ群:539340057
●服務電話:400-67501966、0431-84978981
明日科技是一家管理規(guī)范、研發(fā)能力強的互聯(lián)網(wǎng)公司,同時從事圖書開發(fā)。人員規(guī)模50人明日的優(yōu)勢:?明日科技很注重員工經(jīng)驗交流和開發(fā)經(jīng)驗整理、共享,內(nèi)部積累文檔已經(jīng)整理得非常完善,代碼講解非常細致,目前已經(jīng)出版圖書300多個品種,占據(jù)主流語言圖書銷售排行的前列。?案例完全來自本企業(yè)的項目,緊跟時代腳步,內(nèi)容質(zhì)量上無可挑剔。?明日科技配套資源豐富,提供從視頻講解到快學快用的整體配套資源,同時技術(shù)服務做的也比較完善。
目錄
篇?基礎(chǔ)篇
第1章 C語言起步 1
1.1 認識C語言 1
1.1.1 C語言是什么 1
1.1.2 學會了C語言能做什么 2
1.2 完整的C語言開發(fā)過程 3
1.2.1 創(chuàng)建項目 3
1.2.2 輸入代碼 7
1.2.3 編譯程序 8
1.2.4 運行程序 9
1.2.5 調(diào)試程序 10
1.3 分析C語言程序的結(jié)構(gòu) 11
1.3.1 頭文件 11
1.3.2 主函數(shù) 12
1.3.3 輸出函數(shù) 13
1.3.4 輸入函數(shù) 16
第2章 算法基礎(chǔ) 19
2.1 算法的基本概念 19
2.1.1 算法的特性 19
2.1.2 算法的優(yōu)劣 21
2.2 算法描述 22
2.2.1 自然語言 22
2.2.2 流程圖 22
2.2.3 N-S流程圖 25
第3章 C語言基礎(chǔ) 27
3.1 關(guān)鍵字 27
3.2 標識符 28
3.3 數(shù)據(jù)類型 29
3.4 常量 31
3.4.1 整型常量 31
3.4.2 實型常量 33
3.4.3 字符型常量 34
3.4.4 轉(zhuǎn)義字符 38
3.4.5 符號常量 38
3.5 變量 39
3.5.1 整型變量 39
3.5.2 實型變量 41
3.5.3 字符型變量 42
3.5.4?變量總結(jié) 43
3.6 變量的存儲方式 43
3.6.1 auto變量 44
3.6.2 static變量 45
3.6.3 register變量 45
3.6.4 extern變量 46
3.7 混合運算 46
第4章 運算符與表達式 48
4.1 表達式 48
4.2 賦值運算符與賦值表達式 49
4.2.1 給變量賦初值 50
4.2.2 自動類型轉(zhuǎn)換 51
4.2.3 強制類型轉(zhuǎn)換 51
4.3 算術(shù)運算符與算術(shù)表達式 52
4.3.1 算術(shù)運算符 52
4.3.2 算術(shù)表達式 53
4.3.3 算術(shù)運算符的優(yōu)先級與結(jié)合性 53
4.3.4 自增/自減運算符 54
4.4 關(guān)系運算符與關(guān)系表達式 55
4.4.1 關(guān)系運算符 56
4.4.2 關(guān)系表達式 56
4.4.3 關(guān)系運算符的優(yōu)先級與結(jié)合性 57
4.5 邏輯運算符與邏輯表達式 57
4.5.1 邏輯運算符 57
4.5.2 邏輯表達式 58
4.5.3 邏輯運算符的優(yōu)先級與結(jié)合性 59
4.6 逗號運算符與逗號表達式 59
4.7 復合賦值運算符 59
4.8 C語言中運算符的優(yōu)先級與結(jié)合性 60
第5章 流程控制語句 62
5.1 認識if語句 62
5.2 if語句的基本形式 62
5.2.1 if語句 63
5.2.2 if...else語句 64
5.2.3 else if語句 65
5.3 if語句的嵌套 67
5.4 條件運算符 68
5.5 switch語句 69
5.5.1 switch語句的基本形式 69
5.5.2 多路開關(guān)模式的switch語句 71
5.6 if...else語句和switch語句的區(qū)別 71
5.7 循環(huán)語句 72
5.8 while語句 73
5.9 do...while語句 74
5.10 for語句 75
5.10.1 for語句的基本形式 75
5.10.2 for語句的變體 77
5.10.3 for語句中的逗號應用 78
5.11 3種循環(huán)語句的比較 78
5.12 循環(huán)嵌套 79
5.13 轉(zhuǎn)移語句 81
5.13.1 break語句 81
5.13.2 continue語句 81
5.13.3 goto語句 82
第二篇?高級篇
第6章 利用數(shù)組處理批量數(shù)據(jù) 84
6.1 一維數(shù)組 84
6.1.1 一維數(shù)組的定義和一維數(shù)組元素的引用 84
6.1.2 一維數(shù)組的初始化 85
6.2 二維數(shù)組 86
6.2.1 二維數(shù)組的定義和二維數(shù)組元素的引用 87
6.2.2 二維數(shù)組的初始化 88
6.3 字符數(shù)組 89
6.3.1 字符數(shù)組的定義和字符數(shù)組元素的引用 89
6.3.2 字符數(shù)組的初始化 90
6.3.3 字符數(shù)組的結(jié)束標志 91
6.3.4 字符數(shù)組的輸入或輸出 92
6.4 多維數(shù)組 93
6.5 數(shù)組的排序算法 93
6.5.1 選擇法排序 93
6.5.2 冒泡法排序 96
6.5.3 交換法排序 98
6.5.4 插入法排序 100
6.5.5 折半法排序 103
6.5.6 排序算法的比較 106
6.6 字符串處理函數(shù) 107
6.6.1 字符串復制 107
6.6.2 字符串連接 108
6.6.3 字符串比較 109
6.6.4 字符串大小寫轉(zhuǎn)換 109
6.6.5 獲取字符串長度 110
第7章 用函數(shù)實現(xiàn)模塊化程序設(shè)計 111
7.1 函數(shù)概述 111
7.2 函數(shù)的定義 111
7.2.1 定義函數(shù)的形式 112
7.2.2 定義與聲明 113
7.3 返回語句 114
7.3.1 無返回值函數(shù) 114
7.3.2 函數(shù)的返回值 115
7.4 函數(shù)參數(shù) 116
7.4.1 形式參數(shù)與實際參數(shù) 116
7.4.2 使用數(shù)組作為函數(shù)參數(shù) 117
7.4.3 main()函數(shù)的參數(shù) 119
7.5 函數(shù)的調(diào)用 120
7.5.1 函數(shù)的調(diào)用方式 120
7.5.2 函數(shù)的嵌套調(diào)用 123
7.5.3 遞歸調(diào)用 124
7.6 內(nèi)部函數(shù)和外部函數(shù) 125
7.6.1 內(nèi)部函數(shù) 125
7.6.2 外部函數(shù) 127
7.7 局部變量和全局變量 127
7.7.1 局部變量 127
7.7.2 全局變量 128
7.8 常用的數(shù)學函數(shù) 129
第8章 指針的使用 132
8.1 指針的相關(guān)概念 132
8.1.1 地址與指針 132
8.1.2 變量與指針 133
8.1.3 指針變量 134
8.1.4 指針變量的自增、自減運算 136
8.2 數(shù)組與指針 138
8.2.1 一維數(shù)組與指針 138
8.2.2 二維數(shù)組與指針 140
8.2.3 字符串與指針 140
8.2.4 字符串數(shù)組與指針數(shù)組 141
8.3 指向指針的指針變量 142
8.4 使用指針變量作為函數(shù)參數(shù) 143
8.5 返回指針類型數(shù)據(jù)的函數(shù) 145
8.6 使用指針數(shù)組作為main()函數(shù)的參數(shù) 146
第9章 結(jié)構(gòu)體和共用體 148
9.1 結(jié)構(gòu)體 148
9.1.1 結(jié)構(gòu)體類型的概念 148
9.1.2 結(jié)構(gòu)體變量的定義 149
9.1.3 結(jié)構(gòu)體變量的引用 151
9.1.4 結(jié)構(gòu)體變量的初始化 152
9.2 結(jié)構(gòu)體數(shù)組 152
9.2.1 定義結(jié)構(gòu)體數(shù)組 152
9.2.2 初始化結(jié)構(gòu)體數(shù)組 154
9.3 結(jié)構(gòu)體指針 155
9.3.1 指向結(jié)構(gòu)體變量的指針 155
9.3.2 指向結(jié)構(gòu)體數(shù)組的指針 156
9.3.3 使用結(jié)構(gòu)體作為函數(shù)參數(shù) 157
9.4 包含結(jié)構(gòu)體的結(jié)構(gòu)體 158
9.5 鏈表 158
9.5.1 鏈表概述 158
9.5.2 創(chuàng)建動態(tài)鏈表 160
9.5.3 輸出鏈表中的數(shù)據(jù) 163
9.6 鏈表的相關(guān)操作 164
9.6.1 鏈表的插入操作 164
9.6.2 鏈表的刪除操作 166
9.7 共用體 168
9.7.1 共用體的概念 169
9.7.2 共用體變量的引用 170
9.7.3?共用體變量的初始化 170
9.7.4?共用體類型的數(shù)據(jù)特點 171
9.8 枚舉類型 171
9.9 結(jié)構(gòu)體和共用體的區(qū)別 172
第10章 位運算 173
10.1 位與字節(jié) 173
10.2 位運算符 174
10.2.1 按位與運算符 174
10.2.2 按位或運算符 175
10.2.3 按位取反運算符 176
10.2.4 按位異或運算符 176
10.2.5 左移運算符 177
10.2.6 右移運算符 178
10.3 循環(huán)移位 178
10.4 位段 180
第11章 預處理命令 183
11.1 宏定義 183
11.1.1 不帶參數(shù)的宏定義 184
11.1.2 帶參數(shù)的宏定義 186
11.2 #include命令 187
11.3 條件編譯 188
11.3.1 #if命令 189
11.3.2 #ifdef命令與#ifndef命令 190
11.3.3 #undef命令 191
11.3.4 #line命令 192
11.3.5 #pragma命令 192
第12章 文件的輸入與輸出 194
12.1 文件概述 194
12.2 文件的基本操作 195
12.2.1 文件指針 195
12.2.2 文件的打開 196
12.2.3 文件的關(guān)閉 197
12.3 文件的讀/寫 197
12.3.1 fputc()函數(shù) 197
12.3.2 fgetc()函數(shù) 198
12.3.3 fputs()函數(shù) 198
12.3.4 fgets()函數(shù) 198
12.3.5 fprintf()函數(shù)fscanf()函數(shù) 199
12.3.6 fread()函數(shù)和fwrite()函數(shù) 199
12.4 文件的定位 201
12.4.1 fseek()函數(shù) 201
12.4.2 rewind()函數(shù) 202
12.4.3 ftell()函數(shù) 202
第13章 內(nèi)存空間管理 203
13.1 內(nèi)存空間 203
13.1.1 內(nèi)存空間的組織方式 203
13.1.2 堆與棧 204
13.2 動態(tài)管理內(nèi)存空間的函數(shù) 205
13.2.1 malloc()函數(shù) 205
13.2.2 calloc()函數(shù) 206
13.2.3 realloc()函數(shù) 207
13.2.4 free()函數(shù) 207
13.2.5 malloc()、calloc()、realloc()函數(shù)的區(qū)別 208
13.3 內(nèi)存空間丟失 208
第三篇?數(shù)據(jù)庫篇
第14章 管理SQL Server 2014 210
14.1 SQL Server 數(shù)據(jù)庫簡介 210
14.2 安裝SQL Server 210
14.2.1 安裝SQL Server 2014的條件 211
14.2.2 SQL Server 2014的安裝步驟 211
14.3 啟動SQL Server 2014 220
14.4 腳本與批處理 221
14.4.1 將數(shù)據(jù)庫生成腳本 221
14.4.2 將指定表生成腳本 224
14.4.3 執(zhí)行腳本 224
14.4.4 批處理 226
14.5 備份和還原數(shù)據(jù)庫 226
14.5.1 備份和還原的概念 226
14.5.2 備份數(shù)據(jù)庫 227
14.5.3 還原數(shù)據(jù)庫 228
14.6 分離和附加數(shù)據(jù)庫 229
14.6.1 分離數(shù)據(jù)庫 229
14.6.2 附加數(shù)據(jù)庫 230
14.7 導入和導出數(shù)據(jù)庫、數(shù)據(jù)表 231
14.7.1 導入數(shù)據(jù)庫 231
14.7.2 導入SQL Server數(shù)據(jù)表 231
14.7.3 導入其他數(shù)據(jù)源中的數(shù)據(jù)表 234
14.7.4 導出數(shù)據(jù)庫 235
14.7.5 導出SQL Server數(shù)據(jù)表 235
第15章 數(shù)據(jù)庫表的創(chuàng)建與維護 238
15.1 SQL Server數(shù)據(jù)庫概述 238
15.1.1 SQL Server數(shù)據(jù)庫文件分類 238
15.1.2 SQL Server數(shù)據(jù)庫對象 239
15.2 設(shè)計數(shù)據(jù)庫 239
15.2.1 創(chuàng)建數(shù)據(jù)庫 239
15.2.2 修改數(shù)據(jù)庫 244
15.2.3 刪除數(shù)據(jù)庫 248
15.2.4 創(chuàng)建數(shù)據(jù)表 250
15.2.5 刪除數(shù)據(jù)表 252
15.3 索引的建立與刪除 253
15.3.1 建立索引 253
15.3.2 刪除索引 256
15.4 維護數(shù)據(jù)表 257
15.4.1 在數(shù)據(jù)表中添加新字段 257
15.4.2 在數(shù)據(jù)表中刪除字段 258
15.4.3 數(shù)據(jù)表重命名 259
第16章 SQL Server數(shù)據(jù)表操作 260
16.1 插入、修改和刪除數(shù)據(jù) 260
16.1.1 插入數(shù)據(jù) 260
16.1.2