《C語言程序設(shè)計及應(yīng)用教程》這本教材采用“案例驅(qū)動式”的思路進(jìn)行編寫。使用該教材來指導(dǎo)教學(xué)就是以案例為目的,以項目為導(dǎo)向,案例包含了學(xué)生學(xué)習(xí)的各種知識點,最終通過案例和項目來培訓(xùn)學(xué)生分析問題、解決問題的能力,實現(xiàn)案例和項目的要求。本教材首先應(yīng)該讓學(xué)生簡單了解什么是編程思想,其次在C語言理論教學(xué)過程中,讓學(xué)生懂得面向?qū)ο蟮某绦蛟O(shè)計的風(fēng)格,最后引導(dǎo)他們來設(shè)計項目。本教材從C語言的基本知識入手,以案例導(dǎo)入和項目導(dǎo)向為主線,理論結(jié)合案例,詳細(xì)介紹程序設(shè)計的算法及開發(fā)思想、C程序的數(shù)據(jù)表示及其運算、C程序的三種基本結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、共用體、枚舉、位運算等內(nèi)容,讓學(xué)生通過案例學(xué)習(xí)的積累來掌握項目開發(fā)的流程、技能和理念。
以案例和計算機(jī)等級考試真題為主線,使讀者能夠輕松愉快地學(xué)到相應(yīng)的知識和技能
前 言
C語言因其功能豐富、表達(dá)力強(qiáng)、程序效率高、可移植性好而成為被國內(nèi)外廣泛使用的一種計算機(jī)語言!癈語言程序設(shè)計”是高等院校計算機(jī)基礎(chǔ)教育中的重要課程之一。該課程可以讓學(xué)生了解程序設(shè)計的思想和方法,掌握高級語言程序設(shè)計的知識,提高問題求解和程序語言的應(yīng)用能力。因此,本書旨在實現(xiàn)“以人為本、傳授知識、培養(yǎng)能力、提高素質(zhì)、協(xié)調(diào)發(fā)展”的教育理念,使學(xué)生的計算機(jī)知識、技能、能力和素質(zhì)得以協(xié)調(diào)發(fā)展。
本書針對高等院校學(xué)生的特點和認(rèn)知規(guī)律,全面、系統(tǒng)地介紹C語言程序設(shè)計及應(yīng)用知識,包括C語言概述、基本數(shù)據(jù)類型和運算符、順序和選擇結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、數(shù)組、函數(shù)和模塊設(shè)計、指針、結(jié)構(gòu)體和標(biāo)準(zhǔn)函數(shù)、文件等內(nèi)容。編者結(jié)合多年從事程序設(shè)計教學(xué)和研究的經(jīng)驗,參考了大量同類論著和教材,并吸收其優(yōu)點,在編寫過程中以夯實學(xué)生程序設(shè)計的理論基礎(chǔ)、培養(yǎng)學(xué)生程序設(shè)計的能力和養(yǎng)成良好的程序設(shè)計風(fēng)格為宗旨,充分體現(xiàn)“教師易用,學(xué)生易學(xué)”的特點。
本書的特點是通俗易懂、任務(wù)豐富、目標(biāo)明確、重難點突出、重在應(yīng)用,以案例和計算機(jī)等級考試真題為主線,使讀者能夠輕松愉快地學(xué)到相應(yīng)的知識和技能。本書不僅可作為本科院校C語言課程的用書,還可以作為廣大計算機(jī)愛好者學(xué)習(xí)C語言或者備考全國計算機(jī)等級考試(二級C)的用書和參考書。
由于編者水平有限,加之時間倉促,書中難免有不足之處,敬請讀者批評指正
2007年起在萍鄉(xiāng)學(xué)院信息與計算機(jī)工程學(xué)院擔(dān)任專業(yè)教師,從事計算機(jī)課程教學(xué)與研究工作,并擔(dān)任科研處副處長職務(wù)。講授過《C/C++程序語言設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《軟件工程》、《數(shù)據(jù)庫原理》等課程。
主要從事數(shù)據(jù)挖掘、教育信息化、云計算等方向的研究,在數(shù)據(jù)挖掘應(yīng)用、云計算理論等方面取得一定成果。近年來,先后主持完成省自然科學(xué)基金1項、省科技支撐1項、省科技廳軟科學(xué)課題1項、省教育廳科學(xué)技術(shù)研究項目1項、省高校人文課題2項、省級教改課題2項,市科技支撐課題2項,參與國家軟科學(xué)課題1項,以第一成員參與各類科研課題5項。
目 錄
模塊1 初識C語言 1
實例導(dǎo)入:學(xué)生成績管理系統(tǒng)界面 1
1.1 C語言簡介 2
1.2 C語言開發(fā)環(huán)境及第一個C語言程序 5
1.3算法的表示 11
1.4本章小結(jié) 17
1.5 實訓(xùn) 17
1.6習(xí)題 20
模塊2 數(shù)據(jù)表示及其運算 22
實例導(dǎo)入: 成績管理中數(shù)據(jù)描述和處理 23
2.1 C語言程序的詞法 25
2.2 基本數(shù)據(jù)類型 27
2.3 常量 37
2.4 變量 40
2.5 運算符與表達(dá)式 54
2.6 本章小結(jié) 62
2.7 實訓(xùn)一:真題演練 62
2.8 實訓(xùn)二:技能訓(xùn)練 65
2.9 實訓(xùn)三:綜合訓(xùn)練 65
模塊3 順序結(jié)構(gòu)程序設(shè)計 67
實例導(dǎo)入: 求學(xué)生期末平均成績 67
3.1 賦值語句 68
3.2 數(shù)據(jù)輸入與輸出 72
3.3 本章小結(jié) 80
3.4 實訓(xùn) 80
3.5習(xí)題 83
模塊4 選擇結(jié)構(gòu)程序設(shè)計 92
實例導(dǎo)入:數(shù)據(jù)排序 92
4.1運算符和表達(dá)式 94
4.2利用if語句實現(xiàn)選擇結(jié)構(gòu) 101
4.3 switch語句 112
4.4 本章小結(jié) 118
4.5 實訓(xùn) 118
4.6習(xí)題 122
模塊5 循環(huán)結(jié)構(gòu)程序設(shè)計 130
實例導(dǎo)入:成績批量處理與統(tǒng)計 130
5.1 循環(huán)的基本概念 132
5.2 while語句 135
5.3 do … while循環(huán) 139
5.4 for循環(huán) 142
5.5 循環(huán)程序設(shè)計舉例 146
5.6 循環(huán)嵌套 150
5.6 轉(zhuǎn)移語句 156
5.7 本章小結(jié) 159
5.8 實訓(xùn)一:真題演練 160
5.9 實訓(xùn)二:技能訓(xùn)練 167
5.10實訓(xùn)三:綜合訓(xùn)練 168
模塊6 數(shù)組 169
實例導(dǎo)入: 選票統(tǒng)計 169
6.1 一維數(shù)組 171
6.2 二維數(shù)組 175
6.3 字符數(shù)組與字符串 180
6.4 字符串處理函數(shù) 185
6.5 本章小結(jié) 190
6.6 實訓(xùn)一:真題演練 190
6.7 實訓(xùn)二:技能訓(xùn)練 193
6.8 實訓(xùn)三:綜合訓(xùn)練 194
模塊7 函數(shù) 195
實例導(dǎo)入: 兩個整數(shù)計算 196
7.1 概述 199
7.2 函數(shù)的參數(shù)和函數(shù)的值 202
7.3 函數(shù)的嵌套調(diào)用與遞歸調(diào)用 215
7.5 本章小結(jié) 222
7.6 實訓(xùn) 223
7.7真題演練 226
模塊8 指針 231
實例導(dǎo)入:字母排序 231
8.1 指針的基本概念 233
8.2 指針變量 235
8.3 指針在一維數(shù)組中的應(yīng)用 241
8.4 指向二維數(shù)組的指針變量 244
8.5 多級指針 246
8.6指針與函數(shù) 247
8.7 實訓(xùn)一:真題演練 251
8.8 實訓(xùn)二:技能訓(xùn)練 259
8.9 實訓(xùn)三:綜合訓(xùn)練 260
模塊9 結(jié)構(gòu)體、共用體與枚舉 261
9.1 結(jié)構(gòu)體的定義 262
9.2 共用體 287
9.3 枚舉類型 293
9.4 本章小結(jié) 295
9.5實訓(xùn) 296
模塊10 位運算與預(yù)處理 299
實例導(dǎo)入: 按位輸出二進(jìn)制各位數(shù)上的值 300
10.1 位與字節(jié) 301
10.2 位運算 302
10.3 編譯預(yù)處理 306
模塊11 文件 318
實例導(dǎo)入: 創(chuàng)建學(xué)生成績文件 318
11.1 文件概述 319
11.2 文件基本操作 320
11.3 文件的讀寫 324
11.4 文件的定位 338
11.5 本章小結(jié) 338
11.6 實訓(xùn)一:真題演練 339
11.7 實訓(xùn)二:技能訓(xùn)練 343
11.8 實訓(xùn)三:綜合訓(xùn)練 344