|
前言 隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)在社會中的應(yīng)用可以說是無孔不入。20世紀(jì)最重要的發(fā)明——計(jì)算機(jī)正在改變我們的學(xué)習(xí)、工作和生活方式。大家耳熟能詳?shù)腤PS、Office辦公軟件,Windows、Mac
OS、安卓操作系統(tǒng),百度、淘寶等網(wǎng)站,都離不開編程。編程賦予了計(jì)算機(jī)多種多樣的功能,使計(jì)算機(jī)成為人們的學(xué)習(xí)工具、工作助手和娛樂伙伴。如果沒有編程,就沒有軟件產(chǎn)生;沒有軟件,計(jì)算機(jī)就沒有這么神通廣大。 面對當(dāng)今極速發(fā)展的信息技術(shù),社會對人才的培養(yǎng)提出了更高的要求,迫切需要加強(qiáng)高等學(xué)校程序設(shè)計(jì)的教學(xué)工作。因此,當(dāng)代大學(xué)生非常有必要了解計(jì)算機(jī)工作原理,掌握計(jì)算機(jī)編程思想和方法,提高用計(jì)算機(jī)解決問題的能力。通過學(xué)習(xí)C程序設(shè)計(jì),學(xué)生不僅可以掌握C語言語法和編程技巧,而且可以提高邏輯思維和計(jì)算思維能力,可以更好地適應(yīng)信息社會的需求。 本書由教學(xué)經(jīng)驗(yàn)豐富的教師編寫。沈麗容老師編寫了第一、二、三、四、八章,章春芳老師編寫了第五、六、七、九章。在本書的編寫過程中參考了大量紙質(zhì)和網(wǎng)上的文獻(xiàn)資料,我們力求在參考文獻(xiàn)中列全,對相關(guān)文獻(xiàn)的作者,也在此表示衷心的感謝。 由于時(shí)間倉促和編者水平有限,書中欠妥和不足之處,懇請讀者批評指正。 編者 2015年6月 目錄 第一章引言1 1.1學(xué)習(xí)編程有什么用1 1.2C語言的發(fā)展歷程1 1.3C語言的特點(diǎn)2 1.4如何學(xué)習(xí)C語言3 1.5Turbo C 2.0簡介3 1.6Visual C++6.0簡介9 習(xí)題一14 第二章順序結(jié)構(gòu)程序設(shè)計(jì)16 2.1C源程序結(jié)構(gòu)16 2.2最簡單的C程序17 2.3整型數(shù)據(jù)19 2.3.1整型常量表示形式與定義19 2.3.2整型變量與整型常量的類型19 2.3.3整型變量定義20 2.3.4整型變量賦值21 2.3.5整型數(shù)據(jù)輸入24 2.3.6整型數(shù)據(jù)輸出26 2.3.7整型數(shù)據(jù)的運(yùn)算28 2.3.8整型數(shù)據(jù)編程30 2.4實(shí)型數(shù)據(jù)35 2.4.1實(shí)型常量36 2.4.2實(shí)型變量36 2.4.3實(shí)型變量賦值37 2.4.4實(shí)型數(shù)據(jù)輸入37 2.4.5實(shí)型數(shù)據(jù)輸出39 2.4.6實(shí)型數(shù)據(jù)編程40 2.5字符型數(shù)據(jù)43 2.5.1字符常量44 2.5.2字符串常量45 2.5.3字符變量定義47 2.5.4字符變量賦值47 2.5.5字符型數(shù)據(jù)輸入48 2.5.6字符型數(shù)據(jù)輸出48 2.5.7字符型數(shù)據(jù)編程49 2.6各種類型數(shù)據(jù)之間的混合運(yùn)算51 2.6.1自動類型轉(zhuǎn)換51 2.6.2強(qiáng)制類型轉(zhuǎn)換53 2.7C語言的運(yùn)算符、表達(dá)式和語句54 2.8逗號運(yùn)算符和逗號表達(dá)式55 習(xí)題二56 第三章選擇結(jié)構(gòu)程序設(shè)計(jì)61 3.1關(guān)系運(yùn)算符和關(guān)系表達(dá)式61 3.2邏輯運(yùn)算符和邏輯表達(dá)式62 3.3if語句65 3.3.1最基本的if語句65 3.3.2ifelse語句67 3.3.3ifelse if語句69 3.3.4if語句的嵌套74 3.4switch語句79 3.5條件運(yùn)算符和條件表達(dá)式86 3.6編程實(shí)戰(zhàn)88 習(xí)題三94 第四章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)98 4.1while語句98 4.2dowhile語句104 4.3for語句109 4.4goto語句113 4.5循環(huán)嵌套114 4.6break語句115 4.7continue語句117 4.8編程實(shí)戰(zhàn)118 習(xí)題四125 第五章數(shù)組130 5.1一維數(shù)組的定義和應(yīng)用130 5.1.1一維數(shù)組的定義131 5.1.2一維數(shù)組元素賦值131 5.2二維數(shù)組的定義和應(yīng)用138 5.2.1二維數(shù)組的定義138 5.2.2二維數(shù)組元素賦值138 5.3字符數(shù)組的定義和應(yīng)用143 5.3.1字符數(shù)組的定義及初始化143 5.3.2字符數(shù)組的輸入和輸出145 5.3.3字符串處理函數(shù)149 5.4編程實(shí)戰(zhàn)155 習(xí)題五161 第六章函數(shù)168 6.1函數(shù)的分類和定義169 6.1.1函數(shù)的分類169 6.1.2函數(shù)的定義170 6.2函數(shù)的返回值和參數(shù)172 6.2.1函數(shù)的返回值172 6.2.2函數(shù)的參數(shù)174 6.2.3參數(shù)的傳遞方式180 6.3嵌套調(diào)用183 6.3.1一般的嵌套調(diào)用184 6.3.2遞歸調(diào)用187 6.4變量的作用域190 6.4.1變量的作用域190 6.4.2變量的存儲類別198 6.5函數(shù)的作用域202 6.5.1外部函數(shù)202 6.5.2內(nèi)部函數(shù)203 6.6編程實(shí)戰(zhàn)203 習(xí)題六208 第七章指針217 7.1變量與指針217 7.1.1地址與指針217 7.1.2指向變量的指針變量218 7.1.3指針變量作函數(shù)參數(shù)223 7.2數(shù)組與指針226 7.2.1指針與一維數(shù)組的聯(lián)系226 7.2.2指針與二維數(shù)組的聯(lián)系230 7.2.3指向數(shù)組的指針作函數(shù)參數(shù)234 7.3字符串與指針238 7.3.1字符指針變量的定義與初始化238 7.3.2字符指針作函數(shù)參數(shù)242 7.4函數(shù)與指針245 7.4.1指向函數(shù)的指針245 7.4.2返回指針的函數(shù)246 7.5指針數(shù)組和多級指針248 7.5.1指針數(shù)組248 7.5.2多級指針250 7.5.3main函數(shù)的形參252 7.6編程實(shí)戰(zhàn)253 7.7指針小結(jié)258 習(xí)題七258 第八章結(jié)構(gòu)體與共用體267 8.1結(jié)構(gòu)體概述267 8.1.1結(jié)構(gòu)體類型的定義267 8.1.2結(jié)構(gòu)體變量的定義269 8.1.3結(jié)構(gòu)體變量的引用269 8.1.4結(jié)構(gòu)體變量的賦值和初始化270 8.2結(jié)構(gòu)體數(shù)組270 8.3指向結(jié)構(gòu)體的指針272 8.3.1指向結(jié)構(gòu)體的指針變量的定義272 8.3.2利用結(jié)構(gòu)體指針變量引用成員273 8.3.3用結(jié)構(gòu)體類型作函數(shù)參數(shù)274 8.4用結(jié)構(gòu)體處理鏈表275 8.4.1鏈表概述275 8.4.2鏈表的建立與輸出276 8.4.3鏈表的插入278 8.4.4鏈表的刪除279 8.4.5鏈表的綜合操作280 8.5共用體283 8.5.1共用體類型及變量的定義283 8.5.2共用體變量的引用284 8.6枚舉類型286 8.7用typedef定義類型別名287 習(xí)題八288 第九章預(yù)處理命令、位運(yùn)算與文件290 9.1預(yù)處理命令290 9.1.1宏定義290 9.1.2文件包含294 9.2位運(yùn)算295 9.2.1位運(yùn)算符295 9.2.2位域299 9.3文件302 9.3.1文件和文件指針302 9.3.2文件的打開與關(guān)閉303 9.3.3文件的讀寫305 9.3.4文件的定位309 9.3.5文件的檢測311 習(xí)題九311 綜合訓(xùn)練317 附錄一運(yùn)算符及其優(yōu)先級順序表326 附錄二標(biāo)準(zhǔn)ASCII碼表328 附錄三C語言常用庫函數(shù)一覽表329 習(xí)題答案336 參考文獻(xiàn)340 |
|
| ||||||
|
| ||||||
|
| ||||||
|
| ||||||