出版時間:2009-11 出版社:人民郵電出版社 作者:銀紅霞,杜四春,徐署華 編著 頁數(shù):234
前言
C語言是在國內(nèi)外得到廣泛應(yīng)用的結(jié)構(gòu)化程序設(shè)計語言,也是當(dāng)前嵌入式領(lǐng)域開發(fā)中應(yīng)用的主要語言。C語言功能豐富,目標(biāo)代碼執(zhí)行效率高,可移植性好,既具有高級程序設(shè)計語言的優(yōu)點(diǎn),又具有低級語言的絕大部分功能,因而得到不斷發(fā)展、完善?! ”緯髡咴诳偨Y(jié)自己學(xué)習(xí)C語言的經(jīng)驗(yàn),并結(jié)合多年的教學(xué)與研究經(jīng)驗(yàn)的基礎(chǔ)上,編寫了這本《程序設(shè)計入門(C語言)》教程。本書基于Linux開發(fā)環(huán)境,從基本概念入手,循序漸進(jìn)地介紹了C語言編程的知識和技巧,突出嵌入式系統(tǒng)中編程的基本理念,志在培養(yǎng)讀者在嵌入式開發(fā)中最重要的基本功。同時,書中的算法思想和編程技巧也適用于其他操作系統(tǒng). 本書的主要特點(diǎn)是語言流暢、簡潔易懂、例題豐富、實(shí)用性強(qiáng)。其中,每個例題源程序都經(jīng)過了上機(jī)驗(yàn)證;例題的書寫層次清楚、語句簡潔、格式規(guī)范,有利于讀者養(yǎng)成良好的代碼編寫習(xí)慣;例題的運(yùn)行結(jié)果隨后給出,幫助讀者更直觀地理解程序功能;對于例題中的關(guān)鍵知識點(diǎn)和復(fù)雜代碼行逐一加以說明,幫助讀者掌握相關(guān)概念和知識。通過對例題的編輯、編譯、調(diào)試、運(yùn)行,可以使初學(xué)者在學(xué)習(xí)的同時就開始積累初步的編程經(jīng)驗(yàn),以盡快達(dá)到學(xué)以致用的目的。同時,在每章末尾提供了專門的習(xí)題,可以使讀者鞏固所學(xué)知識,提高自身的編程能力?! ∪珪灿?章,教師可參考本書中的章節(jié)順序組織教學(xué),學(xué)生可以參照本書安排自己的學(xué)習(xí)進(jìn)程。各章內(nèi)容如下: 第1章 程序設(shè)計初步,介紹C語言的發(fā)展歷史和特點(diǎn),C程序的構(gòu)成、開發(fā)過程與環(huán)境,結(jié)構(gòu)化程序設(shè)計思想和算法的表示。 第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式,介紹C語言的數(shù)據(jù)類型與取值范圍,常量,變量,運(yùn)算符與表達(dá)式。 第3章 C語言程序的流程控制,介紹結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)及其相應(yīng)的流程控制語句:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。 第4章 函數(shù),介紹函數(shù)的定義、聲明和調(diào)用的方法以及變量的作用域與存儲類別?! 〉?章 數(shù)組,介紹數(shù)組的基本概念,一維數(shù)組、二維數(shù)組和字符數(shù)組的定義、初始化和引用方法,數(shù)組作為函數(shù)參數(shù)的使用方法?! 〉?章 指針,介紹指針的概念、定義和使用方法,指針與數(shù)組、指針與函數(shù)的設(shè)計方法?! 〉?章 結(jié)構(gòu)體與共用體,介紹結(jié)構(gòu)體的定義和使用,結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體與指針、結(jié)構(gòu)體與函數(shù)的應(yīng)用,鏈表的定義和基本操作方法,共用體的定義和使用,枚舉類型的定義和使用?! 〉?章 文件,介紹文件的概念,文件的打開/關(guān)閉、讀/寫和定位的操作方法?! ≡趯W(xué)習(xí)本書的過程中,建議讀者采用邊學(xué)邊練的方式,對于書中點(diǎn)到為止的知識,應(yīng)深入學(xué)習(xí)、舉一反三,以求達(dá)到事半功倍的效果。 本書講述深入淺出,配合典型例證,通俗易懂,實(shí)用性強(qiáng),可作為大?;蚋呗毟邔T盒S嬎銠C(jī)或相關(guān)專業(yè)程序設(shè)計入門教材,也可以作為自學(xué)程序設(shè)計的讀者學(xué)習(xí)C語言的參考書。
內(nèi)容概要
本書從計算機(jī)語言和程序設(shè)計的基本知識、C語言的發(fā)展與特點(diǎn)出發(fā),以Linux系統(tǒng)C編譯環(huán)境為基礎(chǔ)編寫,在全面、系統(tǒng)地介紹C語言的所有成分(包括變量、運(yùn)算符號、表達(dá)式、數(shù)據(jù)類型、存儲類別、語句、函數(shù))的同時,還由淺入深地介紹了程序設(shè)計的基本方法和算法?! ”緯v述深入淺出,配合典型例證,通俗易懂,實(shí)用性強(qiáng),可作為高職高專院校計算機(jī)或相關(guān)專業(yè)程序設(shè)計入門教材,也可以作為自學(xué)程序設(shè)計的讀者學(xué)習(xí)C語言的參考書。
書籍目錄
第1章 程序設(shè)計初步 1.1 程序與程序設(shè)計語言 1.1.1 程序 1.1.2 程序設(shè)計語言 1.1.3 C語言的發(fā)展及特點(diǎn) 1.2 C程序的構(gòu)成和書寫格式 1.2.1 C程序的構(gòu)成 1.2.2 C程序的書寫格式 1.3 C程序的開發(fā)過程 1.4 上機(jī)環(huán)境 1.4.1 GCC簡介 1.4.2 GCC選項 1.4.3 GCC的使用 1.5 結(jié)構(gòu)化程序設(shè)計介紹 1.5.1 結(jié)構(gòu)化程序設(shè)計思想 1.5.2 算法的概念 1.5.3 算法的特性 1.5.4 算法的表示 本章小結(jié) 習(xí)題第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 2.1 C語言的數(shù)據(jù)類型 2.1.1 數(shù)據(jù)類型 2.1.2 數(shù)據(jù)的取值范圍 2.2 常量 2.2.1 整型常量 2.2.2 實(shí)型常量 2.2.3 字符常量 2.2.4 字符串常量 2.2.5 符號常量 2.2.6 枚舉常量 2.3 變量 2.3.1 變量命名規(guī)則 2.3.2 變量的定義 2.3.3 變量的初始化 2.4 運(yùn)算符與表達(dá)式 2.4.1 算術(shù)運(yùn)算符 2.4.2 賦值運(yùn)算符 2.4.3 關(guān)系運(yùn)算符 2.4.4 邏輯運(yùn)算符 2.4.5 逗號運(yùn)算符 2.4.6 條件運(yùn)算符 2.4.7 sizeof運(yùn)算符 2.4.8 位運(yùn)算符 2.4.9 數(shù)據(jù)類型轉(zhuǎn)換 本章小結(jié) 習(xí)題第3章 C語言程序的流程控制 3.1 順序程序設(shè)計 3.1.1 表達(dá)式語句 3.1.2 輸入和輸出語句 3.1.3 復(fù)合語句 3.1.4 注釋語句 3.2 選擇型程序設(shè)計 3.2.1 if語句的三種形式 3.2.2 if語句的嵌套 3.2.3 switch語句 3.3 循環(huán)型程序設(shè)計 3.3.1 while語句 3.3.2 dowhile語句 3.3.3 for語句 3.3.4 循環(huán)的嵌套 3.3.5 跳轉(zhuǎn)語句 本章小結(jié) 習(xí)題第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ù)的調(diào)用 4.3.1 形式參數(shù)和實(shí)際參數(shù) 4.3.2 函數(shù)調(diào)用的一般形式 4.3.3 函數(shù)的嵌套調(diào)用 4.3.4 函數(shù)的遞歸調(diào)用 4.4 變量作用域與存儲類別 4.4.1 變量的作用域 4.4.2 變量的存儲類別 4.4.3 內(nèi)部函數(shù)和外部函數(shù) 本章小結(jié) 習(xí)題第5章 數(shù)組 5.1 數(shù)組的基本概念 5.2 一維數(shù)組的定義和應(yīng)用 5.2.1 一維數(shù)組的定義 5.2.2 一維數(shù)組的初始化 5.2.3 一維數(shù)組的引用 5.2.4 一維數(shù)組的應(yīng)用 5.3 二維數(shù)組的定義和應(yīng)用 5.3.1 二維數(shù)組的定義 5.3.2 二維數(shù)組的初始化 5.3.3 二維數(shù)組的引用 5.3.4 二維數(shù)組的應(yīng)用 5.4 字符數(shù)組和字符串 5.4.1 字符數(shù)組的定義 5.4.2 字符數(shù)組的初始化 5.4.3 字符數(shù)組的引用 5.4.4 字符串處理函數(shù) 5.4.5 字符數(shù)組的應(yīng)用 5.5 數(shù)組與函數(shù) 5.5.1 數(shù)組元素作為函數(shù)的參數(shù) 5.5.2 數(shù)組名作為函數(shù)的參數(shù) 本章小結(jié) 習(xí)題第6章 指針 6.1 指針的概念 6.1.1 變量的地址 6.1.2 變量的訪問 6.1.3 指針和指針變量 6.2 指針的定義和使用 6.2.1 指針的定義 6.2.2 指針的使用 6.3 指針與數(shù)組 6.3.1 使用指針訪問數(shù)組元素 6.3.2 數(shù)組指針和指針數(shù)組 6.4 指針與函數(shù) 6.4.1 指向函數(shù)的指針 6.4.2 指針函數(shù) 6.4.3 指針作為函數(shù)參數(shù) 6.5 main函數(shù)的參數(shù) 本章小結(jié) 習(xí)題第7章 結(jié)構(gòu)體與共用體 7.1 結(jié)構(gòu)體 7.1.1 結(jié)構(gòu)體的概念 7.1.2 結(jié)構(gòu)體變量的定義 7.1.3 結(jié)構(gòu)體變量的引用 7.1.4 結(jié)構(gòu)體變量的初始化 7.2 結(jié)構(gòu)體數(shù)組 7.2.1 結(jié)構(gòu)體數(shù)組的定義 7.2.2 結(jié)構(gòu)體數(shù)組的初始化 7.2.3 結(jié)構(gòu)體數(shù)組的引用 7.3 結(jié)構(gòu)體與指針 7.3.1 結(jié)構(gòu)體指針 7.3.2 結(jié)構(gòu)體數(shù)組指針 7.3.3 結(jié)構(gòu)體指針數(shù)組 7.4 結(jié)構(gòu)體與函數(shù) 7.4.1 結(jié)構(gòu)體變量作為函數(shù)參數(shù) 7.4.2 函數(shù)的返回值類型為結(jié)構(gòu)體 7.4.3 用結(jié)構(gòu)體指針作函數(shù)實(shí)參 7.5 鏈表 7.5.1 動態(tài)存儲分配 7.5.2 鏈表的定義 7.5.3 鏈表的建立和輸出 7.5.4 鏈表的插入和刪除 7.5.5 鏈表的統(tǒng)計和查找 7.5.6 鏈表的應(yīng)用 7.6 共用體 7.6.1 共用體的概念 7.6.2 共用體變量的引用 7.7 枚舉類型和自定義類型 7.7.1 枚舉類型 7.7.2 自定義類型 本章小結(jié) 習(xí)題第8章 文件 8.1 文件概述 8.1.1 文件的概念 8.1.2 文件類型指針 8.1.3 文件的處理過程 8.2 文件的打開與關(guān)閉 8.2.1 打開文件函數(shù) fopen() 8.2.2 關(guān)閉文件函數(shù) fclose() 8.2.3 文件操作的檢測函數(shù) 8.3 文件的讀/寫 8.3.1 按字符方式讀寫文件 8.3.2 按字符串方式讀寫文件 8.3.3 按格式讀寫文件 8.3.4 按數(shù)據(jù)塊讀寫文件 8.4 文件的定位與隨機(jī)讀寫 8.4.1 文件的定位 8.4.2 隨機(jī)讀寫 本章小結(jié) 習(xí)題附錄A GCC的安裝附錄B ASCII碼表附錄C C庫函數(shù)
章節(jié)摘錄
第1章 程序設(shè)計初步 從計算機(jī)誕生到今天,程序設(shè)計語言伴隨著計算機(jī)技術(shù)的進(jìn)步而不斷發(fā)展,C語言就是其中之一。C語言是一種面向過程的計算機(jī)程序設(shè)計語言,既具有高級語言的功能,又具有低級語言的許多功能,不僅可以用來編寫系統(tǒng)軟件,也可以用來編寫應(yīng)用軟件,它在嵌入式系統(tǒng)開發(fā)、軟件工程和圖形學(xué)等諸多領(lǐng)域都得到了廣泛的應(yīng)用?! ?.1 程序與程序設(shè)計語言 程序設(shè)計需要在一定的語言環(huán)境下進(jìn)行。程序設(shè)計語言是人與計算機(jī)進(jìn)行信息交流的軟工具,是為描述計算過程而設(shè)計的一種具有語法語義描述的符號集,是計算機(jī)系統(tǒng)中不可或缺的一部分?! ?.1.1 程序 學(xué)習(xí)計算機(jī)程序設(shè)計語言的目的是用這種語言編寫程序,解決實(shí)際問題。學(xué)習(xí)一種語言的最好方法是用它編寫程序,在編程的過程中熟悉語言的語法定義和語法結(jié)構(gòu)。在開始學(xué)習(xí)程序設(shè)計時,初學(xué)者首先遇到的問題可能是:“什么是程序?”以及“什么是程序設(shè)計語言?”?! ≈嬎銠C(jī)科學(xué)家Nikiklaus、Wirth曾經(jīng)提出一個公式: 程序=數(shù)據(jù)結(jié)構(gòu)+算法 一個程序應(yīng)包括兩個方面的內(nèi)容?! 。?)對數(shù)據(jù)的描述 對數(shù)據(jù)的描述即數(shù)據(jù)結(jié)構(gòu),是指在程序中制定的數(shù)據(jù)類型和數(shù)據(jù)的組織形式?! 。?)對操作的描述 對操作的描述即算法,是解決“做什么”和“怎么做”的問題。廣義上講,為解決一個問題而采用的方法和步驟就叫算法:準(zhǔn)確地說,算法是精確定義的一系列規(guī)則的集合,這些規(guī)則規(guī)定了解決特定問題的一系列操作,以便使問題在有限的步驟內(nèi)得到解決?! ν粋€問題,可以有不同的解決方法和步驟,程序員總是希望采用簡單的方法和步驟來解決問題。為了有效地解決問題,不但要求算法正確,還要考慮算法的質(zhì)量。一般情況下,選擇的算法要簡單明了、結(jié)構(gòu)清晰、執(zhí)行效率高。 當(dāng)然,一個程序的完成除了以上兩個因素外,還要考慮程序設(shè)計方法,并用某一種計算機(jī)程序設(shè)計語言來實(shí)現(xiàn)。為此,上述公式也可以表示為如下形式: 程序:數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計方法+編程語言和環(huán)境 也就是說,以上4個方面是一個程序設(shè)計人員所應(yīng)具備的知識。在設(shè)計一個程序時,要綜合運(yùn)用這幾方面的知識。
編輯推薦
《程序設(shè)計入門(C語言)》基于Linux開發(fā)環(huán)境,從基本概念入手,循序漸進(jìn)地介紹了C語言編程的知識和技巧,突出嵌入式系統(tǒng)中編程的基本理念,志在培養(yǎng)讀者在嵌入式開發(fā)中最重要的基本功。
圖書封面
評論、評分、閱讀與下載