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