本書(shū)是作者多年來(lái)在講授C語(yǔ)言程序設(shè)計(jì)的基礎(chǔ)上,總結(jié)教學(xué)經(jīng)驗(yàn)編寫(xiě)的。以掌握程序設(shè)計(jì)思想為主線(xiàn),由淺入深,先講述基本知識(shí)及例題,再講述應(yīng)用方法,重點(diǎn)是訓(xùn)練學(xué)生的編程思維,提高學(xué)生應(yīng)用C語(yǔ)言的能力。本書(shū)突出培養(yǎng)工程應(yīng)用型人才的程序設(shè)計(jì)與綜合應(yīng)用能力,強(qiáng)調(diào)實(shí)用性,體現(xiàn)“通俗易懂、結(jié)構(gòu)清晰、層次分明、示例豐富”的特色。
本書(shū)以C語(yǔ)言為實(shí)例介紹程序設(shè)計(jì)的基礎(chǔ)知識(shí),是介紹C語(yǔ)言程序內(nèi)容和學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)方法的教學(xué)用書(shū)。本書(shū)由淺入深地講解了如何使用程序設(shè)計(jì)思想分析和理解問(wèn)題,如何利用C語(yǔ)言程序設(shè)計(jì)方法處理和解決實(shí)際問(wèn)題。本書(shū)將C語(yǔ)言的學(xué)習(xí)分為12章。第1~2章介紹了C語(yǔ)言的基本概念、基本常識(shí)和程序設(shè)計(jì)思想; 第3~6章介紹了C語(yǔ)言的數(shù)據(jù)類(lèi)型及三種結(jié)構(gòu); 第7~11章介紹了C語(yǔ)言的數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、共用體、枚舉類(lèi)型和位運(yùn)算; 第12章為文件操作。
本書(shū)適合高等院校的計(jì)算機(jī)專(zhuān)業(yè)或相關(guān)專(zhuān)業(yè)的學(xué)生使用,也可以作為計(jì)算機(jī)愛(ài)好者的自學(xué)參考書(shū)。
第1章概述
1.1計(jì)算機(jī)程序和計(jì)算機(jī)語(yǔ)言
1.1.1低級(jí)語(yǔ)言
1.1.2高級(jí)語(yǔ)言
1.2C語(yǔ)言程序設(shè)計(jì)的一般步驟
1.3C語(yǔ)言的發(fā)展歷程
1.4初識(shí)C語(yǔ)言
1.4.1C語(yǔ)言的特點(diǎn)
1.4.2C和C++
1.4.3C語(yǔ)言的字符集
1.4.4C語(yǔ)言的詞匯
1.5最簡(jiǎn)單的C語(yǔ)言程序
1.5.1C程序舉例
1.5.2C程序的結(jié)構(gòu)特點(diǎn)
1.5.3養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格
1.6運(yùn)行C程序的步驟與方法
1.7本章小結(jié)
習(xí)題1
第2章算法與程序
2.1算法基礎(chǔ)知識(shí)
2.2算法的特征
2.3幾種常用的算法
2.4簡(jiǎn)單算法示例
2.5如何評(píng)價(jià)一個(gè)算法
2.6算法的描述工具
2.6.1自然語(yǔ)言
2.6.2程序流程圖
2.6.3NS結(jié)構(gòu)化流程圖
2.6.4過(guò)程設(shè)計(jì)語(yǔ)言
2.6.5PAD圖
2.6.6判定表和判定樹(shù)
2.7結(jié)構(gòu)化程序設(shè)計(jì)方法
2.8本章小結(jié)
習(xí)題2
第3章基本數(shù)據(jù)類(lèi)型與表達(dá)式
3.1數(shù)據(jù)類(lèi)型分類(lèi)
3.2整型數(shù)據(jù)
3.3浮點(diǎn)型數(shù)據(jù)
3.4字符型數(shù)據(jù)
3.5常量與變量
3.5.1常量
3.5.2變量
3.6運(yùn)算符和表達(dá)式
3.6.1C語(yǔ)言運(yùn)算符簡(jiǎn)介
3.6.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式
3.6.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式
3.6.4邏輯運(yùn)算符和邏輯表達(dá)式
3.6.5條件運(yùn)算符和條件運(yùn)算表達(dá)式
3.6.6逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式
3.7本章小結(jié)
習(xí)題3
第4章順序結(jié)構(gòu)程序設(shè)計(jì)
4.1順序程序設(shè)計(jì)舉例
4.2C語(yǔ)句
4.2.1C語(yǔ)句概述
4.2.2最基本的語(yǔ)句——賦值語(yǔ)句
4.3數(shù)據(jù)的輸入輸出
4.3.1格式輸出函數(shù)printf
4.3.2格式輸入函數(shù)scanf
4.3.3字符輸出函數(shù)putchar
4.3.4字符輸入函數(shù)getchar
4.4本章小結(jié)
習(xí)題4
第5章選擇結(jié)構(gòu)程序設(shè)計(jì)
5.1為什么需要選擇結(jié)構(gòu)
5.2用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)
5.2.1單分支if語(yǔ)句
5.2.2雙分支if語(yǔ)句
5.2.3多分支if語(yǔ)句
5.3用switch語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)
5.4選擇結(jié)構(gòu)的嵌套
5.5選擇結(jié)構(gòu)程序設(shè)計(jì)綜合舉例
5.6本章小結(jié)
習(xí)題5
第6章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
6.1為什么需要循環(huán)結(jié)構(gòu)
6.2用while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)
6.3用do…while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)
6.4用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)
6.5break語(yǔ)句和continue語(yǔ)句
6.5.1用break語(yǔ)句提前退出循環(huán)
6.5.2用continue語(yǔ)句提前結(jié)束本次循環(huán)
6.6循環(huán)的嵌套
6.7循環(huán)結(jié)構(gòu)程序設(shè)計(jì)綜合舉例
6.8本章小結(jié)
習(xí)題6
第7章數(shù)組
7.1定義和引用一維數(shù)組
7.1.1定義一維數(shù)組
7.1.2引用一維數(shù)組元素
7.1.3初始化一維數(shù)組
7.1.4一維數(shù)組程序舉例
7.2定義和引用二維數(shù)組
7.2.1定義二維數(shù)組
7.2.2引用二維數(shù)組元素
7.2.3初始化二維數(shù)組
7.2.4二維數(shù)組程序舉例
7.3字符數(shù)組
7.3.1定義字符數(shù)組
7.3.2初始化字符數(shù)組
7.3.3引用字符數(shù)組中元素
7.3.4字符串和字符串結(jié)束標(biāo)志
7.3.5字符數(shù)組的輸入輸出
7.3.6使用字符串處理函數(shù)
7.3.7字符數(shù)組應(yīng)用舉例
7.4本章小結(jié)
習(xí)題7
第8章函數(shù)
8.1函數(shù)概述
8.2函數(shù)的定義
8.2.1無(wú)參函數(shù)的定義形式
8.2.2有參函數(shù)的定義形式
8.2.3定義空函數(shù)
8.2.4函數(shù)定義注意事項(xiàng)
8.3函數(shù)調(diào)用
8.3.1函數(shù)的參數(shù)
8.3.2對(duì)調(diào)用函數(shù)的聲明
8.3.3函數(shù)的返回值
8.4嵌套調(diào)用和遞歸調(diào)用
8.4.1嵌套調(diào)用
8.4.2函數(shù)的遞歸調(diào)用
8.5數(shù)組作為函數(shù)參數(shù)
8.5.1數(shù)組元素作函數(shù)實(shí)參
8.5.2數(shù)組名作函數(shù)參數(shù)
8.5.3多維數(shù)組名作函數(shù)參數(shù)
8.6變量的作用域
8.6.1局部變量
8.6.2全局變量
8.7變量的存儲(chǔ)類(lèi)型
8.7.1動(dòng)態(tài)存儲(chǔ)方式
8.7.2靜態(tài)存儲(chǔ)方式
8.7.3存儲(chǔ)類(lèi)別小結(jié)
8.8內(nèi)部函數(shù)和外部函數(shù)
8.8.1內(nèi)部函數(shù)
8.8.2外部函數(shù)
8.9本章小結(jié)
習(xí)題8
第9章指針
9.1指針概述
9.2指針變量
9.2.1指針變量的定義
9.2.2指針變量的初始化
9.2.3指針變量的引用
9.2.4指針變量的運(yùn)算
9.3指針與數(shù)組
9.3.1數(shù)組指針
9.3.2指針數(shù)組
9.3.3指向多維數(shù)組的指針
9.4指針與字符串
9.4.1字符型指針
9.4.2通過(guò)指針引用字符串
9.4.3指針處理字符串應(yīng)用舉例
9.5指針與函數(shù)
9.5.1函數(shù)指針
9.5.2指針函數(shù)
9.5.3帶參的main函數(shù)
9.6多重指針
9.7動(dòng)態(tài)內(nèi)存分配與指向它的指針變量
9.7.1內(nèi)存的分配
9.7.2動(dòng)態(tài)創(chuàng)建數(shù)組
9.8本章小結(jié)
習(xí)題9
第10章結(jié)構(gòu)體、共用體和枚舉類(lèi)型
10.1結(jié)構(gòu)體
10.1.1結(jié)構(gòu)體的定義
10.1.2結(jié)構(gòu)體變量的定義
10.1.3結(jié)構(gòu)體變量的使用
10.1.4結(jié)構(gòu)體數(shù)組
10.1.5結(jié)構(gòu)體與指針
10.1.6結(jié)構(gòu)體綜合舉例
10.2鏈表
10.2.1鏈表基本結(jié)構(gòu)與定義
10.2.2鏈表基本操作
10.2.3建立動(dòng)態(tài)鏈表
10.2.4輸出鏈表
10.3共用體
10.3.1共用體的定義
10.3.2共用體變量的定義和使用
10.3.3共用體數(shù)據(jù)的特點(diǎn)
10.3.4共用體舉例
10.4枚舉類(lèi)型
10.4.1枚舉類(lèi)型的定義
10.4.2枚舉類(lèi)型變量的定義和使用
10.4.3枚舉類(lèi)型數(shù)據(jù)的特點(diǎn)
10.4.4枚舉類(lèi)型舉例
10.5用typedef重定義數(shù)據(jù)類(lèi)型名
10.5.1typedef概述
10.5.2typedef的典型用法
10.5.3typedef與#define的區(qū)別
10.6本章小結(jié)
習(xí)題10
第11章位運(yùn)算
11.1位運(yùn)算概述
11.2位運(yùn)算符
11.2.1取反運(yùn)算
11.2.2左移運(yùn)算
11.2.3右移運(yùn)算
11.2.4按位與運(yùn)算
11.2.5按位異或運(yùn)算
11.2.6按位或運(yùn)算
11.2.7不同長(zhǎng)度的數(shù)據(jù)進(jìn)行位運(yùn)算
11.2.8位運(yùn)算舉例
11.3位段
11.4本章小結(jié)
習(xí)題11
第12章文件
12.1文件概述
12.2文件類(lèi)型指針
12.3文件的打開(kāi)和關(guān)閉
12.3.1打開(kāi)文件函數(shù)fopen
12.3.2關(guān)閉文件函數(shù)fclose
12.4文件的讀寫(xiě)
12.4.1字符讀寫(xiě)函數(shù)fputc和fgetc
12.4.2字符串讀寫(xiě)函數(shù)fputs和fgets
12.4.3數(shù)據(jù)塊讀寫(xiě)函數(shù)fwrite和fread
12.4.4格式化讀寫(xiě)函數(shù)fprintf和fscanf
12.5文件的定位
12.5.1文件位置指針定位函數(shù)fseek
12.5.2文件位置指針復(fù)位函數(shù)rewind
12.5.3文件位置指針查詢(xún)函數(shù)ftell
12.6文件檢測(cè)函數(shù)
12.6.1文件結(jié)束檢測(cè)函數(shù)feof
12.6.2文件出錯(cuò)檢測(cè)函數(shù)ferror
12.6.3文件出錯(cuò)標(biāo)志和文件結(jié)束標(biāo)志置0函數(shù)clearerr
12.6.4應(yīng)用舉例
12.7本章小結(jié)
習(xí)題12
附錄A常用字符與ASCII碼對(duì)照表
附錄BC語(yǔ)言中的關(guān)鍵字
附錄C運(yùn)算符和結(jié)合性
附錄DC語(yǔ)言常用語(yǔ)法
附錄EANSI C常用庫(kù)函數(shù)
參考文獻(xiàn)