出版時間:2010-7 出版社:西安交通大學(xué)出版社 作者:胡元義,呂林濤 主編 頁數(shù):353
前言
《C語言與程序設(shè)計(jì)》作為程序設(shè)計(jì)課程的教材,在結(jié)構(gòu)上注重知識的系統(tǒng)性、完整性和連貫性;在內(nèi)容上突出重點(diǎn),分散難點(diǎn);在講授中循序漸進(jìn)、深入淺出,將理論與實(shí)踐有機(jī)結(jié)合,融知識傳授與能力培養(yǎng)于一體?! ∽髡咴诳偨Y(jié)多年教學(xué)與實(shí)踐的基礎(chǔ)上,精選了大量內(nèi)容生動、設(shè)計(jì)獨(dú)到的例題來作為典型概念示例和程序精講,并且兼顧C(jī)語言等級考試,許多例題就是選自歷年二級C語言等級考題試題。全書給出了近400道例題,且所有程序例題與習(xí)題都在VC++6.0環(huán)境下上機(jī)通過。《C語言與程序設(shè)計(jì)》在例題分析中大量采用了圖示說明,這樣使解題思路更加一目了然。對重點(diǎn)章節(jié)如函數(shù)和指針內(nèi)容,作者采用了獨(dú)創(chuàng)的動態(tài)圖分析方法來分析程序執(zhí)行中函數(shù)或指針變化的情況,使這些難點(diǎn)更容易被讀者理解。此外,對采用指針來指向數(shù)組元素的相關(guān)內(nèi)容,作者采用了新穎的表述方法來解決同一個數(shù)組元素有多種表示法的問題?! 禖語言與程序設(shè)計(jì)》在章節(jié)內(nèi)容和安排上也進(jìn)行了調(diào)整,第3~8章均在最后增加了一節(jié)“典型例題精講”,以利于開拓讀者解題思路,提高編程能力,從而達(dá)到舉一反三的目的。此外,對于那些與各章內(nèi)容沒有緊密聯(lián)系或較少使用的內(nèi)容,則統(tǒng)統(tǒng)歸于第9章“C語言知識補(bǔ)遺”,這樣使各章的知識更為緊湊、清晰和精煉?!禖語言與程序設(shè)計(jì)》所講授的內(nèi)容都是基于VC++6.0環(huán)境的,對于在VC和TC環(huán)境下有分歧的地方,書中也盡量給出說明。《C語言與程序設(shè)計(jì)》帶“*”的內(nèi)容為選講內(nèi)容,可根據(jù)講授時數(shù)進(jìn)行取舍?! 禖語言與程序設(shè)計(jì)》除了可以作為程序設(shè)計(jì)語言教材外,還可以作為全國計(jì)算機(jī)等級考試的教材或參考書。對于從事計(jì)算機(jī)專業(yè)的工作者,《C語言與程序設(shè)計(jì)》也是難得的一本資料書。 歡迎讀者對《C語言與程序設(shè)計(jì)》的內(nèi)容及《C語言與程序設(shè)計(jì)》中作者的某些見解和表述方法提出批評指正。
內(nèi)容概要
本書作為程序設(shè)計(jì)課程的教材,從培養(yǎng)學(xué)生程序設(shè)計(jì)的實(shí)際能力出發(fā),將理論與實(shí)踐有機(jī)結(jié)合,融知識傳授和能力培養(yǎng)于一體。本書內(nèi)容豐富、重點(diǎn)突出、例題廣泛、圖文并茂,注重學(xué)生對C語言基礎(chǔ)知識的理解和掌握,以提高學(xué)生的程序設(shè)計(jì)能力,培養(yǎng)學(xué)生良好的程序設(shè)計(jì)風(fēng)格,從而達(dá)到使學(xué)生深入掌握C語言程序設(shè)計(jì)的目的。 本書除了可以作為程序設(shè)計(jì)語言教材外,還可以作為全國計(jì)算機(jī)等級考試的教材或參考書。對于從事計(jì)算機(jī)專業(yè)的工作者,本書也是難得的一本資料書。
書籍目錄
前言第1章 C語言與程序設(shè)計(jì)簡介 1.1 計(jì)算機(jī)和程序設(shè)計(jì)的基本概念 1.1.1 計(jì)算機(jī)系統(tǒng)組成 1.1.2 程序與程序設(shè)計(jì)語言 1.2 C語言的發(fā)展歷程和特點(diǎn) 1.2.1 C語言的發(fā)展歷程 1.2.2 C語言的主要特點(diǎn) 1.3 C語言程序的基本組成 1.4 Visual C++上機(jī)操作 1.4.1 Visual C++的安裝和啟動 1.4.2 Visual C++環(huán)境的使用 習(xí)題1第2章 C語言程序設(shè)計(jì)基礎(chǔ) 2.1 C語言的基本符號與數(shù)據(jù)類型 2.1.1 C語言的基本符號 2.1.2 C語言的數(shù)據(jù)類型 2.2 常量 2.2.1 整型常量、實(shí)型常量及符號常量 2.2.2 字符常量與字符串常量 2.3 變量 2.3.1 變量的概念、定義與初始化 2.3.2 整型變量、實(shí)型變量與字符型變量 2.4 運(yùn)算符與表達(dá)式 2.4.1 C語言運(yùn)算符簡介 2.4.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 2.4.3 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 2.4.4 邏輯運(yùn)算符和邏輯表達(dá)式 2.4.5 賦值運(yùn)算符與復(fù)合賦值運(yùn)算符 2.4.6 表達(dá)式中數(shù)據(jù)類型的自動和強(qiáng)制轉(zhuǎn)換 2.5 數(shù)據(jù)的輸入/輸出 2.5.1 字符輸入/輸出函數(shù) 2.5.2 格式輸出函數(shù) 2.5.3 格式輸入函數(shù) 習(xí)題2第3章 三種基本結(jié)構(gòu)的程序設(shè)計(jì) 3.1 程序基本結(jié)構(gòu)及C程序語句分類 3.1.1 程序的基本結(jié)構(gòu) 3.1.2 C程序中的語句分類 3.2 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2.1 賦值語句 3.2.2 順序結(jié)構(gòu)程序 3.3 選擇結(jié)構(gòu)程序設(shè)計(jì) 3.3.1 if語句 3.3.2 if語句的嵌套 3.3.3 條件運(yùn)算符和條件表達(dá)式 3.3.4 switch語句 3.4 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 3.4.1 while語句 3.4.2 do…while語句 3.4.3 for語句 3.4.4 逗號運(yùn)算符及逗號表達(dá)式 3.4.5 break語句、continue語句和goto語句 3.4.6 循環(huán)嵌套 3.5 典型例題精講 習(xí)題3第4章 數(shù)組 4.1 一維數(shù)組 4.1.1 一維數(shù)組的定義 4.1.2 一維數(shù)組的引用和初始化 4.2 二維數(shù)組 4.2.1 二維數(shù)組的定義 4.2.2 二維數(shù)組的引用和初始化 4.3 字符數(shù)組和字符串 4.3.1 字符數(shù)組的定義、引用及初始化 4.3.2 字符串 4.3.3 常用字符串處理函數(shù) 4.4 典型例題精講 習(xí)題4第5章 函數(shù) 5.1 函數(shù)的概念及分類 5.1.1 函數(shù)的概念 5.1.2 函數(shù)的分類 5.2 函數(shù)的定義和調(diào)用 5.2.1 函數(shù)的定義 5.2.2 函數(shù)的調(diào)用和返回值 5.2.3 函數(shù)執(zhí)行的分析方法 5.2.4 函數(shù)的聲明 5.3 變量的作用域 5.3.1 全局變量與局部變量 5.3.2 函數(shù)的副作用 5.4 函數(shù)的嵌套與遞歸 5.4.1 函數(shù)的嵌套調(diào)用 5.4.2 函數(shù)的遞歸調(diào)用 5.5 典型例題精講 5.6 遞歸轉(zhuǎn)化為非遞歸的研究 5.6.1 漢諾塔問題的遞歸解法 5.6.2 漢諾塔問題的非遞歸解法 5.6.3 八皇后問題的遞歸解法 5.6.4 八皇后問題的非遞歸解法 習(xí)題5第6章 指針 6.1 指針和指針變量 6.1.1 地址和指針的概念 6.1.2 指針變量的定義和初始化 6.1.3 指針變量的引用和運(yùn)算 6.2 指針與數(shù)組 6.2.1 指針與一維數(shù)組 6.2.2 指針與二維數(shù)組 6.2.3 指針數(shù)組 6.3 指針與字符串及多級指針 6.3.1 指針與字符串 6.3.2 多級指鉗 6.4 指針與函數(shù) 6.4.1 指針變量作為函數(shù)參數(shù) 6.4.2 用數(shù)組名作函數(shù)參數(shù) 6.4.3 返回指針值的函數(shù) 6.5 動態(tài)數(shù)組 6.6 典型例題精講 習(xí)題6第7章 結(jié)構(gòu)體 7.1 結(jié)構(gòu)體類型的定義與結(jié)構(gòu)體變量 7.1.1 結(jié)構(gòu)體類型的定義 7.1.2 結(jié)構(gòu)體變量 7.1.3 用typedef定義類型 7.2 結(jié)構(gòu)體數(shù)組及指向結(jié)構(gòu)體的指針 7.2.1 結(jié)構(gòu)體數(shù)組 7.2.2 指向結(jié)構(gòu)體的指針 7.3 鏈表 7.3.1 鏈表的概念 7.3.2 動態(tài)存儲分配 7.3.3 動態(tài)鏈表的建立與查找 7.3.4 鏈表結(jié)點(diǎn)的插入與刪除 7.4 共用體 7.4.1 共用體的概念與定義 7.4.2 共用體變量的引用和賦值 7.5 典型例題精講 習(xí)題7第8章 文件 8.1 文件的概念 8.1.1 文件的分類 8.1.2 文件指針及文件操作過程 8.2 文件的打開與關(guān)閉 8.2.1 文件的打開 8.2.2 文件的關(guān)閉 8.3 文件的讀寫 8.3.1 字符讀/寫函數(shù) 8.3.2 字符串讀/寫函數(shù) 8.3.3 數(shù)據(jù)塊讀/寫函數(shù) 8.3.4 格式化讀/寫函數(shù) 8.4 文件的定位與隨機(jī)讀/寫 8.5 典型例題精講 習(xí)題8第9章 C語言與程序設(shè)計(jì)補(bǔ)遺 9.1 變量的存儲類別與生命期 9.2 指向函數(shù)的指針變量 9.3 帶參數(shù)的main函數(shù) 9.4 編譯預(yù)處理命令 9.4.1 宏定義命令 9.4.2 文件包含命令 9.5 枚舉類型 9.6 位運(yùn)算 習(xí)題9附錄 附錄1 ASCII表 附錄2 C運(yùn)算符和優(yōu)先級 附錄3 常用C庫函數(shù) 附錄4 部分習(xí)題參考答案參考文獻(xiàn)
章節(jié)摘錄
對于一些規(guī)模較大而又比較復(fù)雜的問題,解決的方法往往是把它們分解成若干個較為簡單和基本問題進(jìn)行求解,這在程序設(shè)計(jì)中則表現(xiàn)為:將一個大程序分解為若干個相對獨(dú)立且較為簡單的子程序,這些子程序就是過程與函數(shù)。大程序通過調(diào)用這些子程序來完成預(yù)定的任務(wù)。過程與函數(shù)的引入不僅可以較容易地解決一些復(fù)雜問題,而且更重要的是使程序有了一個層次分明的結(jié)構(gòu),這就是結(jié)構(gòu)化程序設(shè)計(jì)“自頂向下、逐步求精、模塊化”的基本思想?! ∫虼?,一個結(jié)構(gòu)化程序是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)和過程(函數(shù))結(jié)構(gòu)組成的。結(jié)構(gòu)化程序的開創(chuàng)者N.wirth就曾這樣說過:“在程序設(shè)計(jì)技巧中,過程是很少幾種基本工具中的一種,掌握了這種工具,就能對程序員工作的質(zhì)量和風(fēng)格產(chǎn)生決定性的影響”。N.wirth所說的過程就是C語言中的函數(shù),我們將在第5章介紹,下面只對三種基本結(jié)構(gòu)進(jìn)行介紹?! 。?)順序結(jié)構(gòu)順序結(jié)構(gòu)是按照語句的書寫順序依次執(zhí)行各語句序列。圖3-1(a)給出了順序結(jié)構(gòu)的流程。圖3-1(a)中A框和B框表示基本的操作處理,可以是一條語句也可以是多條語句,它表示程序在執(zhí)行完A框操作后,將順序去執(zhí)行B框的操作,即嚴(yán)格按照語句的書寫順序進(jìn)行。因此,順序結(jié)構(gòu)是一種最基本的程序結(jié)構(gòu)?! 。?)選擇結(jié)構(gòu)選擇結(jié)構(gòu)是按照條件判斷選擇執(zhí)行某段語句序列。圖3-1(b)給出了選擇結(jié)構(gòu)的流程。需要指出的是,在選擇結(jié)構(gòu)程序中A框和B框的操作只能二選一,即執(zhí)行了A框操作,就不能再執(zhí)行B框操作,而執(zhí)行了B框操作,就不能再執(zhí)行A框操作。無論是執(zhí)行了A框操作,還是執(zhí)行了B框操作,接下來都會繼續(xù)向下順序執(zhí)行后繼的操作。
圖書封面
評論、評分、閱讀與下載