出版時間:2007-8 出版社:科學(xué)出版社 作者:杜友福 頁數(shù):298
內(nèi)容概要
本書是《C語言程序設(shè)計》的第二版,為c語言程序設(shè)計課程教材。全書共分13章,全面地介紹了C語言的基本語法及c語言程序的設(shè)計方法,內(nèi)容包括:C語言程序設(shè)計概述,數(shù)據(jù)類型、運(yùn)算符與表達(dá)式,順序結(jié)構(gòu)程序設(shè)計,選擇結(jié)構(gòu)程序設(shè)計,循環(huán)結(jié)構(gòu)程序設(shè)計,數(shù)組,函數(shù),用戶標(biāo)識符的作用域和存儲類,編譯預(yù)處理,指針,結(jié)構(gòu)體、共用體和用戶定義類型,位運(yùn)算,文件。每章后面均配有大量的習(xí)題,附錄中介紹了C語言的關(guān)鍵字、AscII代碼表、運(yùn)算符及其優(yōu)先級和結(jié)合性、C語言的常用庫函數(shù)。為了便于教學(xué)和自學(xué),本書配有《C語言程序設(shè)計導(dǎo)學(xué)》(第二版)?! ”緯貏e適合于本、??品怯嬎銠C(jī)專業(yè)的初學(xué)者,也可供計算機(jī)等級考試者和其他各類學(xué)習(xí)者使用和參考。
書籍目錄
第1章 C語言程序設(shè)計概述 1.1 程序和程序設(shè)計語言 1.1.1 程序與程序設(shè)計 1.1.2 程序設(shè)計語言 1.1.3 語言處理程序 1.1.4 設(shè)計程序的基本原則 1.2 算法 1.3 結(jié)構(gòu)化程序設(shè)計方法 1.4 c語言程序的基本結(jié)構(gòu) 習(xí)題1 第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 2.1 c語言的數(shù)據(jù)類型 2.2 常量、變量與標(biāo)識符 2.3 整型數(shù)據(jù) 2.4 實(shí)型數(shù)據(jù) 2.5 字符型數(shù)據(jù) 2.6 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 2.7 賦值運(yùn)算符與賦值表達(dá)式 2.8 逗號運(yùn)算符與逗號表達(dá)式 2.9 求字節(jié)數(shù)運(yùn)算符 習(xí)題2 第3章 順序結(jié)構(gòu)程序設(shè)計 3.1 C語句概述 3.2 賦值語句 3.3 數(shù)據(jù)的輸入與輸出 3.3.1 printf函數(shù) 3.3.2 putchar函數(shù) 3.3.3 scanf函數(shù) 3.3.4 getchar函數(shù) 3.4 順序結(jié)構(gòu)程序舉例 習(xí)題3 第4章 選擇結(jié)構(gòu)程序設(shè)計 4.1 關(guān)系運(yùn)算和邏輯運(yùn)算 4.1.1 邏輯值及其在c語言中的表示 4 12 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 4.1.3 邏輯運(yùn)算符與邏輯表達(dá)式 4.2 if語句 4.2.1 if語句的三種形式 4.2.2 if語句的嵌套一 4.3 條件運(yùn)算符和條件表達(dá)式 4.4 SWitch語句 4.4.1 switch語句的一般形式與執(zhí)行過程 4.4.2 switch語句體中的break語句 4.5 選擇結(jié)構(gòu)程序舉例 習(xí)題4 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 5.1 語句標(biāo)號、goto語句及用goto語句構(gòu)成的循環(huán) 5.2 whiIe語句和用whie語句構(gòu)成的循環(huán) 5.3 do.whie語句用do—whie語句構(gòu)成的循環(huán) 5.4 for語句和用for語句構(gòu)成的循環(huán) 5.5 循環(huán)結(jié)構(gòu)的嵌套 5.6 1 9 reaJk語句和continue語句在循環(huán)體中的作用 5.7 循環(huán)結(jié)構(gòu)程序舉例 習(xí)題5 第6章 數(shù)組 6.1 一維數(shù)組 6.1.1 一維數(shù)組的定義 6.1.2 一維數(shù)組元素的引用 6.1.3 一維數(shù)組的初始化 6.1.4 一維數(shù)組的定義和數(shù)組元素引用舉例 6.2 二維數(shù)組 6.2.1 二維數(shù)組的定義 6.2.2 二維數(shù)組元素的引用 6.2.3 二維數(shù)組的初始化 6.2.4 二維數(shù)組的定義和數(shù)組元素引用舉例 6.3 字符數(shù)組 6.3.1 字符數(shù)組的定義與引用 6.3.2 字符數(shù)組的初始化 6.3.3 用字符數(shù)組來存放字符串 6.3.4 字符數(shù)組的輸入和輸出 6.3.5 用于字符串處理的函數(shù) 6.3.6 字符數(shù)組應(yīng)用舉例 習(xí)題6 第7章 函數(shù) 7.1 庫函數(shù) 7.2 函數(shù)的定義和返回值 7.3 函數(shù)的調(diào)用 7.4 函數(shù)的聲明 7.5 調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞 7.6 函數(shù)的嵌套調(diào)用與遞歸調(diào)用 7.7 程序舉例 習(xí)題7 第8章 用戶標(biāo)識符的作用域和存儲類 8.1 局部變量、全局變量和存儲分類 8.1.1 用戶標(biāo)識符的作用域 8.1.2 局部變量、全局變量和存儲分類 8.2 局部變量及其作用域和生存期 8.3 全局變量及其作用域和生存期 8.4 函數(shù)的存儲分類 習(xí)題8 第9章 編譯預(yù)處理 9.1 宏定義 9.2 文件包含 9.3 條件編譯 習(xí)題9 第10章 指針 10.1 指針的基本概念 10.2 指針變量的定義與引用 10.2.1 指針變量的定義 10.2.2 指針變量的引用 10.2.3 指針變量的賦值運(yùn)算 10.2.4.多重指針 10.2.5 空指針和void類型指針 10.3 函數(shù)之間地址值的傳遞 10.4.一維數(shù)組和指針 10.4.1 通過指針引用數(shù)組元素 10.4.2 數(shù)組名或指針變量作形參 10.4.3 一維數(shù)組應(yīng)用舉例 10.4.4 用指向字符的指針變量處理字符串 10.4.5 使用指針變量處理字符串應(yīng)用舉例 10.5 多維數(shù)組和指針 10.5.1 二維數(shù)組和數(shù)組元素的地址 10.5.2 通過指向數(shù)組元素的指針引用二維數(shù)組 10.5.3 通過行指針引用二維數(shù)組 10 5 4 指針數(shù)組 10.6 函數(shù)和指針 10.7 小結(jié) 習(xí)題10 第11章 結(jié)構(gòu)體、共用體和用戶定義類型 11.1 結(jié)構(gòu)體類型 11.1.1 結(jié)構(gòu)體類型的定義 11.1.2 結(jié)構(gòu)體類型變量的定義 11.1.3 結(jié)構(gòu)體變量的引用 11.1.4 結(jié)構(gòu)體變量的初始化 11.2 結(jié)構(gòu)體數(shù)組 11.3 指向結(jié)構(gòu)體的指針 11.4 結(jié)構(gòu)體與函數(shù) 11.5 鏈表 11.5.1 靜態(tài)鏈表 11.5.2 動態(tài)鏈表 11.6 共用體 11.6.1 共用體類型的定義 11.6.2 共用體類型變量的定義 11.6.3 共用體變量的引用 11.7 枚舉類型 11.8 用typedef定義一種新類型名 習(xí)題11 第12章 位運(yùn)算 12.1 位運(yùn)算符與位運(yùn)算 12.2 位運(yùn)算舉例 12.3 位段 習(xí)題12 第13章 文件?!?3.1 c語言文件的基本概念 13.2 文件指針 13.3 文件的打開與關(guān)閉 13.4 文件的讀寫 13.4.1 fputc函數(shù)和。fgetc函數(shù)(putc函數(shù)和getc函數(shù)), 13.4.2 判文件結(jié)束函數(shù)feof 13.4.3 fgets函數(shù)和fputs函數(shù) 13.4.4 fread函數(shù)和fwrite函數(shù) 13.4.5 fscanf函數(shù)和fprintf函數(shù) 13.5 文件的定位 13.6 文件的出錯檢測 習(xí)題13 附錄A C語言的關(guān)鍵字附錄B ASCII代碼表附錄C 運(yùn)算符及其優(yōu)先級和結(jié)合性附錄D C語言的常用庫函數(shù)
章節(jié)摘錄
第1章 C語言程序設(shè)計概述 1.3 結(jié)構(gòu)化程序設(shè)計方法 程序設(shè)計是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來支持。就程序設(shè)計方法和技術(shù)而言,主要經(jīng)過了結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟮某绦蛟O(shè)計階段?! 〗Y(jié)構(gòu)化程序設(shè)計強(qiáng)調(diào)程序設(shè)計風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡結(jié)構(gòu)清晰。良好的程序設(shè)計風(fēng)格可以使程序結(jié)構(gòu)清晰合理,使程序代碼便于維護(hù)。著名的“清晰第一,效率第二”的論點(diǎn)已成為當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格?! 〗Y(jié)構(gòu)化程序設(shè)計方法的基本思路是,把一個復(fù)雜的求解過程分階段進(jìn)行,每個階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。結(jié)構(gòu)化設(shè)計方法的主要原則可以概括為自頂向下、逐步細(xì)化、模塊化、限制使用GOT0語句?! 。?)自頂向下。程序設(shè)計時,應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。先從最上層總體爵標(biāo)開始設(shè)計,逐步使問題具體化?! 。?)逐步求精。對復(fù)雜問題,應(yīng)設(shè)計一些目標(biāo)做過渡,逐步細(xì)化。 ?。?)模塊化。一個復(fù)雜的問題,肯定是由若干稍簡單的問題組成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),每個小目標(biāo)成為一個模塊。 ?。?)限制使用GOT0語句。 用三種基本結(jié)構(gòu)組成的程序必然是結(jié)構(gòu)化程序,這種程序便于編寫、閱讀、修改和維護(hù)。這就減少了程序出錯的機(jī)會,提高了程序的可靠性,保證了程序的質(zhì)量。 例1.7求3—5000之間的所有素數(shù)(質(zhì)數(shù))?! 》治鑫覀儾捎米陨舷蛳隆⒅鸩郊?xì)化的方法來處理這個問題。即先把這個問題分解為兩個相對較小的問題0①判別某數(shù)是否為素數(shù);②利用循環(huán)判別3—5000之間的所有的數(shù)是否為素數(shù),若是就把它輸出。 把這兩個小問題分別用兩個程序模塊來實(shí)現(xiàn),并由此給出解決這個問題的程序流程圖。圖1.10(a)是判別3—5000之間的所有的數(shù)是否為素數(shù),若是就把它輸出的流程圖。但其內(nèi)容還是籠統(tǒng)的、抽象的,因?yàn)檫€沒有解決怎樣才能實(shí)現(xiàn)“判別某數(shù)是否為素數(shù)”的功能,需要進(jìn)一步=“細(xì)化”。在這里我們給出一種算法。用整數(shù)i除以從2,3,4,…一直到1-1的每一個正整數(shù)。如果都除不盡,則i是素數(shù),否則,只要其中有一個被除數(shù)能除盡,則i就不是素數(shù)。其實(shí)現(xiàn)算法如圖1.12(b)所示,該程序模塊運(yùn)行結(jié)束后,若變量f1ag的值為1,則i是素數(shù),否則i不是素數(shù)?! ?/pre>編輯推薦
學(xué)習(xí)程序設(shè)計,不能局限于能聽懂、能看懂,更重要的是要能自己編寫程序。因此要求讀者一方面通過書中的例題,學(xué)會分析編程的思想和方法;另一方面要自己獨(dú)立地編寫程序,并上機(jī)進(jìn)行調(diào)試,以理解性地記憶C語言的一些基本知識和編程技巧。本書全面地介紹了C語言的基本語法及C程序的設(shè)計方法。圖書封面
評論、評分、閱讀與下載
- 還沒讀過(43)
- 勉強(qiáng)可看(311)
- 一般般(531)
- 內(nèi)容豐富(2203)
- 強(qiáng)力推薦(180)