本書是參照全新計算機等級考試(二級C語言)教學大綱及C99的新特性并根據(jù)高校全新C語言程序設計教學大綱要求編寫而成;全書分為10章,主要內容有程序設計基礎理論和C程序的基本組成以及程序開發(fā)過程;C語言的基本數(shù)據(jù)類型、運算符、表達式、數(shù)據(jù)類型轉換及標準的輸入輸出函數(shù);C語言的基本語句和流程控制語句;數(shù)組、函數(shù)、指針的概念及用法;C語言的編譯預處理功能;C語言結構體與共用體、C語言中文件的相關概念以及文件的各種操作方法;最后附錄部分介紹了C程序設計的常用庫函數(shù)。
本書既可以作為高等學校本科計算機C語言程序設計教材,也可以作為培養(yǎng)讀者計算機編程能力和參加全國計算機等級考試(C語言)的自學參考書。
本書另配有電子教案(PPT格式)與課后習題解答(Word格式),聯(lián)系郵箱:changdc885@126.com。
常東超,遼寧石油化工大學,副教授 計算機系主任,研究方向編輯
計算機系統(tǒng)結構、公共計算機教學、數(shù)據(jù)安全
2教學情況編輯
講授的主要課程:
《微機應用基礎》,基礎課,考試課周3學時,6屆,約1400人;《C語言程序設計》,基礎課,考試課周4學時,8屆? 約1800人;《數(shù)據(jù)庫原理及應用》,專業(yè)基礎課,密碼學與計算機數(shù)據(jù)安全》公共選修課,指導畢業(yè)設計:50人
獲獎情況:2007-08年度學院優(yōu) 秀教學二等獎,08-09年度校級青年教師講課比賽優(yōu)勝獎,09-10年度校級“青年教師課件比賽”優(yōu)勝獎、二等獎,2010年全國信息化核心技能大賽冠軍及三等獎優(yōu) 秀指導教師,2010年東北三省計算機基礎教育學會青年教師講課大賽一等獎及二等獎優(yōu) 秀指導教師。
主持的教學研究課題:
1、《非計算機專業(yè)微機基礎考核體系的改革與實踐》
2、《計算機基礎課程教學內容優(yōu)化與教學模式改革》
發(fā)表的教學研究論文:
《計算機應用基礎課程教學改革與實踐》《全國高等院校計算機基礎教育研究會2008年學術年會論文集》
第1章C語言程序設計概述1
1.1程序和程序設計的基本概念1
1.2算法與程序設計2
1.2.1算法的基本特征2
1.2.2算法的基本要素3
1.2.3算法描述的方法4
1.2.4程序設計5
1.3C語言簡介7
1.3.1C語言的發(fā)展歷史7
1.3.2C語言的特點8
1.3.3C語言程序的基本結構及書寫規(guī)則9
1.3.4C語言的基本標識符11
習題12
第2章數(shù)據(jù)類型、運算符與表達式14
2.1C語言的數(shù)據(jù)類型14
2.2整型常量與變量14
2.2.1常量與變量的概念14
2.2.2整型常量15
2.2.3整型變量15
2.3實型常量與變量17
2.3.1實型常量17
2.3.2實型變量17
2.4字符型常量與變量19
2.4.1字符常量19
2.4.2字符串常量20
2.4.3符號常量21
2.4.4字符型變量21
2.5賦值運算符和賦值表達式22
2.6算術運算符和算術表達式24
2.6.1C語言運算符簡介24
2.6.2基本算術運算符和算術表達式24
2.6.3復合賦值運算符及表達式25
2.6.4各類數(shù)值型數(shù)據(jù)之間的混合運算26
2.6.5自增與自減運算符28
2.7逗號運算符和逗號表達式29
2.8位運算符30
2.8.1位運算符和位運算介紹30
2.8.2位運算賦值運算符34
2.9變量的地址和指針型變量34
2.9.1變量的地址和指針型變量的概念34
2.9.2指針型變量的定義和指針變量的基類型35
2.9.3給指針變量賦值36
2.9.4對指針變量的操作37
習題39
第3章順序結構程序設計43
3.1C語句概述43
3.2數(shù)據(jù)的輸入/輸出45
3.2.1字符輸入/輸出函數(shù)46
3.2.2格式輸入/輸出函數(shù)47
3.3程序舉例55
習題57
第4章分支結構程序設計61
4.1關系運算符和關系表達式61
4.1.1關系運算符61
4.1.2關系表達式62
4.2邏輯運算符和邏輯表達式63
4.2.1邏輯運算符63
4.2.2邏輯表達式64
4.3if語句以及用if語句構成的分支結構64
4.3.1if語句的兩種基本形式65
4.3.2嵌套的if語句67
4.3.3條件表達式構成的分支結構70
4.4switch語句71
4.4.1switch語句及用switch語句構成的分支結構71
4.4.2在switch語句體中使用break語句73
4.5程序舉例74
習題76
第5章循環(huán)結構程序設計80
5.1while語句以及用while語句構成的循環(huán)結構80
5.1.1while循環(huán)的一般形式80
5.1.2while循環(huán)的執(zhí)行過程81
5.2do-while語句以及用do-while語句構成的循環(huán)結構83
5.2.1do-while語句構成的循環(huán)結構83
5.2.2do-while循環(huán)的執(zhí)行過程83
5.3for語句以及用for語句構成的循環(huán)結構86
5.3.1for語句構成的循環(huán)結構86
5.3.2for循環(huán)的執(zhí)行過程86
5.3.3有關for語句的說明87
5.4break語句和continue語句在循環(huán)結構中的應用90
5.4.1break語句90
5.4.2continue語句90
5.5循環(huán)的嵌套91
5.6三種循環(huán)的比較94
5.7程序舉例94
習題97
第6章數(shù)組與指針103
6.1一維數(shù)組103
6.1.1一維數(shù)組的定義103
6.1.2一維數(shù)組元素的引用104
6.1.3一維數(shù)組的初始化107
6.1.4一維數(shù)組程序舉例107
6.2二維數(shù)組111
6.2.1二維數(shù)組的定義111
6.2.2二維數(shù)組元素的引用111
6.2.3二維數(shù)組的初始化113
6.2.4二維數(shù)組程序舉例114
6.3字符數(shù)組和字符串118
6.3.1字符數(shù)組118
6.3.2字符串118
6.3.3字符串的輸入輸出120
6.3.4字符串處理函數(shù)121
6.3.5程序舉例124
6.4數(shù)組和指針126
6.4.1一維數(shù)組和指針126
6.4.2二維數(shù)組的地址130
6.4.3指向二維數(shù)組的指針變量131
6.4.4指針數(shù)組的定義和應用133
6.5字符串和指針135
6.5.1單個字符串的處理方法135
6.5.2多個字符串的處理方法137
6.5.3字符串程序舉例139
6.6指向指針的指針142
習題145
第7章函數(shù)與指針147
7.1概述147
7.2函數(shù)的定義147
7.3函數(shù)的參數(shù)和函數(shù)的值149
7.3.1形式參數(shù)和實際參數(shù)149
7.3.2函數(shù)的返回值151
7.4函數(shù)的調用152
7.4.1函數(shù)的簡單調用152
7.4.2函數(shù)的嵌套調用154
7.4.3函數(shù)的遞歸調用155
7.5函數(shù)與指針160
7.5.1指針變量作為函數(shù)參數(shù)160
7.5.2數(shù)組作為函數(shù)參數(shù)160
7.5.3返回指針值的函數(shù)163
7.5.4指向函數(shù)的指針164
7.6有關指針的數(shù)據(jù)類型和指針運算的小結166
7.6.1有關指針的數(shù)據(jù)類型的小結166
7.6.2指針運算的小結166
7.6.3void指針類型167
7.7變量的作用域167
7.7.1局部變量167
7.7.2全局變量168
7.8變量的存儲類別170
7.8.1動態(tài)存儲方式與靜態(tài)存儲方式170
7.8.2auto變量171
7.8.3用static聲明局部變量171
7.8.4register變量172
7.8.5用extern聲明外部變量173
習題173
第8章編譯預處理183
8.1宏定義183
8.1.1無參宏定義183
8.1.2帶參宏定義185
8.2文件包含188
習題189
第9章結構體與共用體191
9.1結構體類型的定義191
9.2結構體類型變量193
9.2.1結構體變量的定義193
9.2.2結構體變量的引用194
9.2.3結構體變量的初始化196
9.2.4結構體變量的輸入與輸出196
9.3結構體類型數(shù)組197
9.3.1結構體數(shù)組的定義197
9.3.2結構體數(shù)組的初始化198
9.3.3結構體數(shù)組的引用198
9.4結構體類型指針200
9.4.1指向結構體變量的指針200
9.4.2指向結構體數(shù)組的指針202
9.5結構體與函數(shù)203
9.5.1結構體變量作為函數(shù)參數(shù)203
9.5.2指向結構體變量的指針作為函數(shù)參數(shù)204
9.5.3函數(shù)的返回值為結構體類型206
9.6鏈表208
9.6.1鏈表概述208
9.6.2處理動態(tài)鏈表所需的函數(shù)210
9.6.3鏈表的基本操作211
9.7共用體220
9.7.1共用體類型與共用體變量220
9.7.2共用體變量的引用221
9.7.3共用體變量的應用223
9.8枚舉類型224
9.9用typedef定義類型227
習題228
第10章文件231
10.1文件概述231
10.1.1數(shù)據(jù)文件231
10.1.2文件的存取方式232
10.1.3文件指針類型232
10.1.4文件操作的步驟232
10.2文件的打開與關閉233
10.2.1文件的打開(fopen函數(shù))233
10.2.2文件的關閉(fclose函數(shù))235
10.3文件的讀寫235
10.3.1字符讀寫函數(shù)fgetc和fputc235
10.3.2字符串讀寫函數(shù)fgets和fputs237
10.3.3數(shù)據(jù)塊讀寫函數(shù)fread和fwrite239
10.3.4格式化讀寫函數(shù)fscanf和fprintf240
10.4文件的隨機讀寫241
10.4.1文件定位241
10.4.2文件的隨機讀寫函數(shù)242
10.5文件檢測函數(shù)243
習題243
附錄245
附錄Ⅰ常用字符與ASCII碼對照表245
附錄ⅡC99標準的新特性246
附錄ⅢTurbo C 常用標準庫函數(shù)247
參考文獻261