定 價(jià):28 元
叢書(shū)名:計(jì)算機(jī)公共課系列教材
- 作者:楊健霑、汪同慶主編
- 出版時(shí)間:2009/1/1
- ISBN:9787307067783
- 出 版 社:武漢大學(xué)出版社
- 中圖法分類(lèi):TP312
- 頁(yè)碼:273
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16K
C語(yǔ)言是目前廣泛流行的程序設(shè)計(jì)語(yǔ)言之一,是許多計(jì)算機(jī)專(zhuān)業(yè)人員和計(jì)算機(jī)愛(ài)好者編制軟件強(qiáng)有力的開(kāi)發(fā)工具,也是國(guó)內(nèi)外大學(xué)普遍開(kāi)設(shè)的計(jì)算機(jī)基礎(chǔ)課程之一。
本書(shū)共13章,內(nèi)容包括C語(yǔ)言的發(fā)展、特點(diǎn)與程序開(kāi)發(fā)基本知識(shí),基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式,基本語(yǔ)句與順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),數(shù)組,函數(shù),指針,字符串,結(jié)構(gòu)體、共用體、鏈表和枚舉,編譯預(yù)處理,位運(yùn)算和文件。
本書(shū)作者長(zhǎng)期從事高校的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的教學(xué)工作,有豐富的教學(xué)、科研經(jīng)驗(yàn)。書(shū)中文字流暢、概念清楚、深入淺出,并穿插有大量的實(shí)例,可使讀者迅速掌握C語(yǔ)言程序設(shè)計(jì)的基本技能。
本書(shū)可作為普通高等學(xué)校本、專(zhuān)科學(xué)生的教學(xué)用書(shū),也可供計(jì)算機(jī)水平考試培訓(xùn)及工程技術(shù)人員自學(xué)使用。
C語(yǔ)言是一種使用方便、功能強(qiáng)大、移植性好、兼具高級(jí)語(yǔ)言和低級(jí)語(yǔ)言?xún)?yōu)點(diǎn)、能產(chǎn)生高效率目標(biāo)代碼的優(yōu)秀的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言作為一種既適合于開(kāi)發(fā)系統(tǒng)軟件又適合于開(kāi)發(fā)應(yīng)用軟件的語(yǔ)言,已經(jīng)成為計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的主流語(yǔ)種之一,得到廣泛的認(rèn)同。
20多年來(lái),除了計(jì)算機(jī)專(zhuān)業(yè)人員外,其他行業(yè)的廣大計(jì)算機(jī)應(yīng)用人員也喜歡使用C語(yǔ)言。全國(guó)計(jì)算機(jī)等級(jí)考試、全國(guó)計(jì)算機(jī)應(yīng)用技術(shù)證書(shū)考試、全國(guó)計(jì)算機(jī)軟件專(zhuān)業(yè)技術(shù)資格及水平考試等都將C語(yǔ)言納入了考試范圍。隨著C語(yǔ)言在國(guó)內(nèi)普及、推廣、應(yīng)用的需要,全國(guó)許多高校已不僅對(duì)計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生,而且對(duì)廣大非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生也相繼開(kāi)設(shè)了C語(yǔ)言程序設(shè)計(jì)課程。此外,成人教育、函授教育等同樣廣泛開(kāi)設(shè)了C語(yǔ)言程序設(shè)計(jì)課程。
C語(yǔ)言與其他高級(jí)語(yǔ)言相比更復(fù)雜一些。這是因?yàn)樗?guī)則較多,涵蓋的知識(shí)面更廣,尤其是它涉及一些機(jī)器及環(huán)境方面的實(shí)現(xiàn)細(xì)節(jié),使用靈活,難點(diǎn)較多,容易出錯(cuò),初學(xué)者不易掌握。
本書(shū)的對(duì)象主要為大學(xué)非計(jì)算機(jī)專(zhuān)業(yè)的本科生和專(zhuān)科生。其特點(diǎn)如下:
(1)本著不苛求讀者具備太多計(jì)算機(jī)專(zhuān)門(mén)知識(shí)也能學(xué)好C語(yǔ)言的愿望,盡量做到敘述通俗易懂,一方面要有利于組織教學(xué),另一方面又要有利于自學(xué)。
(2)學(xué)習(xí)的目的在于應(yīng)用。通過(guò)學(xué)習(xí),讀者應(yīng)該能做到自己動(dòng)手編程來(lái)解決問(wèn)題。本教材強(qiáng)調(diào)了算法在編程中的重要性,同時(shí)也希望通過(guò)學(xué)習(xí),讀者能養(yǎng)成良好的編程習(xí)慣和風(fēng)格。
第1章 C語(yǔ)言的發(fā)展、特點(diǎn)與程序開(kāi)發(fā)基本知識(shí)
1.1 C語(yǔ)言的發(fā)展
1.1.1 C語(yǔ)言的起源與發(fā)展
1.1.2 C語(yǔ)言標(biāo)準(zhǔn)
1.2 C語(yǔ)言的特點(diǎn)
1.2.1 C語(yǔ)言的主要特點(diǎn)
1.2.2 C語(yǔ)言與C++,Java和C#
1.3 計(jì)算機(jī)語(yǔ)言與程序設(shè)計(jì)基本方法
1.3.1 計(jì)算機(jī)程序
1.3.2 計(jì)算機(jī)語(yǔ)言及其處理程序
1.3.3 程序設(shè)計(jì)的基本方法
1.4 C語(yǔ)言程序的基本結(jié)構(gòu)與開(kāi)發(fā)過(guò)程
1.4.1 簡(jiǎn)單的C語(yǔ)言程序介紹
1.4.2 C語(yǔ)言程序基本結(jié)構(gòu)
1.4.3 C語(yǔ)言的字符集、關(guān)鍵字和標(biāo)識(shí)符
1.4.4 C語(yǔ)言程序的開(kāi)發(fā)過(guò)程
1.4.5 C語(yǔ)言程序的編程環(huán)境
1.5 算法及其表示
1.5.1 算法的概念
1.5.2 算法的表示
本章小結(jié)
思考題
第2章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式
2.1 數(shù)據(jù)與數(shù)據(jù)類(lèi)型
2.1.1 程序中數(shù)據(jù)的表示形式
2.1.2 c語(yǔ)言的數(shù)據(jù)類(lèi)型
2.1.3 c語(yǔ)言基本數(shù)據(jù)類(lèi)型
2.1.4 不同數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換與運(yùn)算
2.2 常量、變量和標(biāo)準(zhǔn)函數(shù)
2.2.1 常量
2.2.2 變量
2.2.3 庫(kù)函數(shù)
2.3 運(yùn)算符和表達(dá)式
2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
2.3.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式
2.3.3 邏輯運(yùn)算符與邏輯表達(dá)式
2.3.4 條件運(yùn)算符與條件表達(dá)式
2.3.5 賦值運(yùn)算符與賦值表達(dá)式
2.3.6 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式
本章小結(jié)
思考題
第3章 基本語(yǔ)句與順序結(jié)構(gòu)
3.1 C語(yǔ)言程序的基本語(yǔ)句
3.1.1 聲明語(yǔ)句
3.1.2 表達(dá)式語(yǔ)句
3.1.3 函數(shù)調(diào)用語(yǔ)句
3.1.4 控制語(yǔ)句
3.1.5 復(fù)合語(yǔ)句
3.1.6 空語(yǔ)句
3.2 賦值語(yǔ)句
3.3 數(shù)據(jù)的輸入輸出
3.3.1 printf()函數(shù)
3.3.2 scanf()函數(shù)
3.3.3 putchar()函數(shù)
3.3.4 getchar()函數(shù)
本章小結(jié)
思考題
第4章 選擇結(jié)構(gòu)
4.1 用if條件語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)
4.1.1 單分支if條件語(yǔ)句
4.1.2 雙分支if條件語(yǔ)句
4.1.3 多分支if條件語(yǔ)句
4.1.4 if條件語(yǔ)句的嵌套
4.2 Switch語(yǔ)句
本章小結(jié)
思考題
第5章 循環(huán)結(jié)構(gòu)
5.1 while語(yǔ)句
5.2 do.while語(yǔ)句
5.3 for語(yǔ)句
5.4 嵌套循環(huán)結(jié)構(gòu)
5.5 b,reak語(yǔ)句、continue語(yǔ)句和goto語(yǔ)句
5.5.1 break語(yǔ)句
5.5.2 continue語(yǔ)句
5.5.3 goto語(yǔ)句
5.6 程序舉例
5.6.1 循環(huán)程序舉例
5.6.2 循環(huán)在數(shù)值計(jì)算中的應(yīng)用
本章小結(jié)
思考題
第6章 數(shù)組
6.1 一維數(shù)組
6.1.1 一維數(shù)組的定義和存儲(chǔ)
6.1.2 一維數(shù)組元素的引用
6.1.3 一維數(shù)組的初始化
6.1.4 一維數(shù)組元素的輸入輸出
6.1.5 一維數(shù)組應(yīng)用舉例
6.2 二維數(shù)組
6.2.1 二維數(shù)組的定義和存儲(chǔ)
6.2.2 二維數(shù)組元素的引用
6.2.3 二維數(shù)組的初始化
6.2.4 二維數(shù)組的輸入輸出
6.2.5 二維數(shù)組應(yīng)用舉例
本章小結(jié)
思考題
第7章 函數(shù)
7.1 函數(shù)概述
7.2 函數(shù)的分類(lèi)與定義
7.2.1 函數(shù)的分類(lèi)
7.2.2 函數(shù)的定義
7.3 函數(shù)調(diào)用
7.3.1 函數(shù)調(diào)用的一般形式
7.3.2 函數(shù)的參數(shù)
7.3.3 函數(shù)的返回值
7.3.4 對(duì)被調(diào)用函數(shù)的說(shuō)明
7.3.5 數(shù)組作為函數(shù)參數(shù)
7.4 函數(shù)的嵌套調(diào)用和遞歸調(diào)用
7.4.1 函數(shù)的嵌套調(diào)用
7.4.2 函數(shù)的遞歸調(diào)用
7.5 變量的作用域和生存期
7.5.1 變量的作用域
7.5.2 變量的存儲(chǔ)類(lèi)別
7.6 內(nèi)部函數(shù)和外部函數(shù)
7.6.1 內(nèi)部函數(shù)
7.6.2 外部函數(shù)
7.7 綜合應(yīng)用舉例(一)
本章小結(jié)
思考題
第8章 指針
8.1 指針和指針變量的概念
8.1.1 地址和指針
8.1.2 指針變量
8.2 指向變量的指針變量
8.2.1 指針變量的定義
8.2.2 指針變量的引用
8.2.3 指針變量的初始化
8.2.4 指針變量作為函數(shù)參數(shù)
8.3 指針與數(shù)組
8.3.1 指針變量的運(yùn)算
8.3.2 數(shù)組的指針和指向數(shù)組的指針變量
8.3.3 數(shù)組名作為函數(shù)參數(shù)
8.4 指針數(shù)組和指向指針的指針
8.4.1 指針數(shù)組
8.4.2 指向指針的指針
8.5 指針與函數(shù)
8.5.1 函數(shù)的指針與指向函數(shù)的指針變量
8.5.2 函數(shù)指針作為函數(shù)參數(shù)
8.5.3 返回指針的函數(shù)
本章小結(jié)
思考題
第9章 字符串
9.1 字符串的基本概念
9.2 用字符數(shù)組存儲(chǔ)和處理字符串
9.2.1 字符數(shù)組的定義
9.2.2 字符數(shù)組的引用
11.1 編譯預(yù)處理的概念
11.2 宏定義
11.2.1 不帶參數(shù)的宏定義
11.2.2 帶參數(shù)的宏定義
11.3 文件包含
11.4 條件編譯
本章小結(jié)
思考題
第12章 位運(yùn)算
12.1 位運(yùn)算的概念
12.2 位運(yùn)算符的含義及其使用
12.2.1 按位“與”運(yùn)算(&)
12.2.2 按位“或”運(yùn)算(I)
12.2.3 按位“非”運(yùn)算(~)
12.2 一按位“異或”運(yùn)算(n)
12.2.5 “左移”運(yùn)算(>)
12.2.7 長(zhǎng)度不同的兩個(gè)數(shù)進(jìn)行位運(yùn)算的運(yùn)算規(guī)則
12.2 ,8位復(fù)合賦值運(yùn)算符
12.3 位段
12.3.1 位段的定義
12.3.2 位段的使用
本章小結(jié)
思考題
第13章 文件
13.1 文件與文件類(lèi)型指針
13.1.1 文件
13.1.2 文件數(shù)據(jù)的存儲(chǔ)形式
13.1.3 文件的處理方法
13.2 文件的打開(kāi)與關(guān)閉
13.2.1 文件的打開(kāi)
13.2.2 文件的關(guān)閉
13.3 文件的存取
13.3.1 概述
13.3.2 字符讀寫(xiě)(函數(shù)fgetc()和函數(shù)fputc())
13.3.3 字符串讀寫(xiě)(函數(shù)fgets()和函數(shù)fputc())
13.3.4 格式讀寫(xiě)(函數(shù)fscanf()和函數(shù)fputc())
13.3.5 數(shù)據(jù)塊讀寫(xiě)(函數(shù)fread()和函數(shù)fwrite())
13.4 文件的定位
13.4.1 概述
13.4.2 函數(shù)rewind()
13.4.3 函數(shù)fseek()
13.4.4 fteU函數(shù)
13.5 綜合應(yīng)用舉例(三)
本章小結(jié)
思考題
附錄一 ASCII碼表
附錄二 C語(yǔ)言保留字
附錄三 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性
附錄四 常用庫(kù)函數(shù)
一、數(shù)學(xué)函數(shù)
二、字符函數(shù)
三、字符串函數(shù)
四、輸入輸出函數(shù)
參考文獻(xiàn)
2.面向?qū)ο蟮某绦蛟O(shè)計(jì)
相對(duì)結(jié)構(gòu)化程序設(shè)計(jì)而言,面向?qū)ο蟮某绦蛟O(shè)計(jì)是一個(gè)全新的概念。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,引入了類(lèi)、對(duì)象、屬性、事件和方法等一系列概念以及前所未有的編程思想。這里僅對(duì)面向?qū)ο蟮某绦蛟O(shè)計(jì)中的幾個(gè)基本概念作簡(jiǎn)要說(shuō)明,不作詳細(xì)討論。
在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,最重要的思想是將數(shù)據(jù)(或稱(chēng)數(shù)據(jù)成員)與處理這些數(shù)據(jù)的例程(或稱(chēng)成員函數(shù))全部封裝到一個(gè)類(lèi)中。只有屬于該對(duì)象的成員函數(shù)才能訪問(wèn)自己的數(shù)據(jù)成員,從而達(dá)到了保護(hù)數(shù)據(jù)的目的。
每一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言都提供了三類(lèi)機(jī)制,即封裝、繼承和多態(tài)。
“封裝”就是把數(shù)據(jù)和操作這些數(shù)據(jù)的代碼封裝在對(duì)象類(lèi)里,對(duì)外界是完全不透明的,對(duì)象類(lèi)完全擁有自己的屬性。程序設(shè)計(jì)者不需要了解對(duì)象類(lèi)中的技術(shù)代碼,也無(wú)法對(duì)它們加以控制和干預(yù),而只需要重復(fù)調(diào)用其對(duì)象。
“繼承”是允許在已有對(duì)象類(lèi)的基礎(chǔ)上構(gòu)造新的對(duì)象類(lèi),即由一個(gè)類(lèi)獲取另一個(gè)對(duì)象類(lèi)的過(guò)程。
“多態(tài)”是指發(fā)出同樣的消息被不同的對(duì)象類(lèi)接收時(shí)會(huì)產(chǎn)生不同的行為。這里所說(shuō)的消息是指對(duì)類(lèi)的成員函數(shù)的調(diào)用,而不同的行為是指不同的實(shí)現(xiàn)。利用多態(tài)性用戶(hù)只需發(fā)送一般形式的消息,而將所有的實(shí)現(xiàn)留給接收信息的對(duì)象,然后對(duì)象根據(jù)所接收的消息做出相應(yīng)的動(dòng)作或操作。
面向?qū)ο蟪绦虻闹饕Y(jié)構(gòu)是:程序一般由類(lèi)的定義和類(lèi)的使用兩部分組成。在主程序中定義各對(duì)象并規(guī)定它們之間傳遞消息的規(guī)律。程序中的一切操作都是通過(guò)向?qū)ο蟀l(fā)送消息來(lái)實(shí)現(xiàn)的,對(duì)象接收到消息后啟動(dòng)有關(guān)方法完成相應(yīng)的操作。