出版時間:2010-7 出版社:北京大學出版社 作者:汪新民,劉若慧 著 頁數(shù):262
Tag標簽:無
前言
北京大學出版社第六事業(yè)部在2005年組織編寫了《21世紀全國應用型本科計算機系列實用規(guī)劃教材》,至今已出版了50多種。這些教材出版后,在全國高校引起熱烈反響,可謂初戰(zhàn)告捷。這使北京大學出版社的計算機教材市場規(guī)模迅速擴大,編輯隊伍茁壯成長,經(jīng)濟效益明顯增強,與各類高校師生的關系更加密切。 2008年1月北京大學出版社第六事業(yè)部在北京召開了“21世紀全國應用型本科計算機案例型教材建設和教學研討會”。這次會議為編寫案例型教材做了深入的探討和具體的部署,制定了詳細的編寫目的、叢書特色、內(nèi)容要求和風格規(guī)范。在內(nèi)容上強調(diào)面向應用、能力驅(qū)動、精選案例、嚴把質(zhì)量;在風格上力求文字精練、脈絡清晰、圖表明快、版式新穎。這次會議吹響了提高教材質(zhì)量第二戰(zhàn)役的進軍號?! “咐徒滩恼婺芴岣呓虒W的質(zhì)量嗎? 是的。著名法國哲學家、數(shù)學家勒內(nèi)·笛卡兒(Rene Descartes,1596-1650)說得好:“由一個例子的考察,我們可以抽出一條規(guī)律。(From the consideration of a11 example we can form a rule.)事實上,他發(fā)明的直角坐標系,正是通過生活實例而得到的靈感。據(jù)說是在1619年夏天,笛卡兒因病住進醫(yī)院。中午他躺在病床上,苦苦思索一個數(shù)學問題時,忽然看到天花板上有一只蒼蠅飛來飛去。當時天花板是用木條做成正方形的格子。笛卡兒發(fā)現(xiàn),要說出這只蒼蠅在天花板上的位置,只需說出蒼蠅在天花板上的第幾行和第幾列。當蒼蠅落在第四行、第五列的那個正方形時,可以用(4,5)來表示這個位置……由此他聯(lián)想到可用類似的辦法來描述一個點在平面上的位置。他高興地跳下床,喊著“我找到了,找到了”,然而不小心把國際象棋撒了一地。當他的目光落到棋盤上時,又興奮地一拍大腿:“對,對,就是這個圖”。笛卡兒鍥而不舍的毅力,苦思冥想的鉆研,使他開創(chuàng)了解析幾何的新紀元。千百年來,代數(shù)與幾何,井水不犯河水。17世紀后,數(shù)學突飛猛進的發(fā)展,在很大程度上歸功于笛卡兒坐標系和解析幾何學的創(chuàng)立?! ∵@個故事,聽起來與阿基米德在浴池洗澡而發(fā)現(xiàn)浮力原理,牛頓在蘋果樹下遇到蘋果落到頭上而發(fā)現(xiàn)萬有引力定律,確有異曲同工之妙。這就證明,一個好的例子往往能激發(fā)靈感,由特殊到一般,聯(lián)想出普遍的規(guī)律,即所謂的“一葉知秋”、“見微知著”的意思。 回顧計算機發(fā)明的歷史,每一臺機器、每一顆芯片、每一種操作系統(tǒng)、每一類編程語言、每一個算法、每一套軟件、每一款外部設備,無不像閃光的珍珠串在一起。每個案例都閃爍著智慧的火花,是創(chuàng)新思想不竭的源泉。在計算機科學技術領域,這樣的案例就像大海岸邊的貝殼,俯拾皆是。
內(nèi)容概要
《C語言基礎案例教程》主要內(nèi)容包括C語言程序結(jié)構及運行環(huán)境、各種數(shù)據(jù)類型及使用方法、順序結(jié)構、選擇結(jié)構、循環(huán)結(jié)構、數(shù)組、函數(shù)、編譯預處理、指針、結(jié)構體、位運算、文件等。最后,還給出一個幾乎涵蓋《C語言基礎案例教程》所有知識點的綜合應用案例(電子通信錄)的分析與設計,可作為課程設計內(nèi)容。每章后均附有相當數(shù)量的習題供讀者練習。 《C語言基礎案例教程》的特點是在內(nèi)容安排上采用循序漸進的方式,在組織形式上采用通俗易懂的案例教學和啟發(fā)式教學的方式,并輔以大量便于說明問題的案例,用案例帶動知識點的方法進行講解,以一節(jié)為一個單元,對知識點進行細致的取舍和編排,按節(jié)細化知識點并結(jié)合知識點介紹相關的案例,將知識和案例放在同一節(jié)中,使知識和案例相結(jié)合?! 禖語言基礎案例教程》可作為高校各專業(yè)的C語言教材和全國計算機等級考試參考書,也可供對C語言感興趣的其他讀者自學使用。
書籍目錄
第1章 C語言概述1.1 一個C語言程序1.2 程序和程序設計語言1.3 計算機求解問題的步驟1.4 C語言簡介1.5 程序的靈魂——算法1.5.1 算法的概念1.5.2 算法的特性1.5.3 算法的表示本章小結(jié)習題上機實驗第2章 簡單C語言程序2.1 在屏幕上顯示信息2.2 數(shù)值計算2.3 程序解析2.3.1 簡單數(shù)據(jù)類型2.3.2 算術表達式2.3 -3輸入/輸出函數(shù)2.4 計算銀行存款利息2.5 其他運算符本章小結(jié)習題上機實驗第3章 分支結(jié)構3.1 關系運算符與關系表達式3.2 邏輯運算符與邏輯表達式3.3 基本if語句3.4 嵌套的if語句和switch語句3.5 分支結(jié)構程序舉例本章小結(jié)習題上機實驗第4章 循環(huán)結(jié)構程序設計4.1 累加求和問題4.1.1 求自然數(shù)的和4.1.2 計算圓周率4.2 while語句4.2.1 while語句的一般形式4.2.2 統(tǒng)計輸入的一批學生的平均成績4.3 do.while語句4.3.1 do.while語句的一般形式4.3.2 最大公約數(shù)問題4.4 for語句4.4.1 for語句的一般形式4.4.2 Fibonacci數(shù)列4.5 九九乘法表與搬磚問題4.5.1 九九乘法表4.5.2 搬磚問題4.6 break語句與continue語句4.6.1 break語句4.6.2 continue語句4.7 循環(huán)結(jié)構程序應用舉例本章小結(jié)習題上機實驗第5章 數(shù)組5.1 排序問題5.1.1 程序解析5.1.2 一維數(shù)組的定義和引用5.1.3 一維數(shù)組的初始化5.1.4 使用一維數(shù)組編程5.2 找出矩陣中最大值所在的位置5.2.1 程序解析5.2.2 二維數(shù)組的定義和引用5.2.3 二維數(shù)組的初始化5.2.4 使用二維數(shù)組編程5.3 字符數(shù)組與字符串5.3.1 字符數(shù)組5.3.2 統(tǒng)計字符個數(shù)5.3.3 字符串處理函數(shù)及應用5.4 進位制轉(zhuǎn)換5.4.1 十進制轉(zhuǎn)換為八(二、十六)進制5.4.2 輸出進位制轉(zhuǎn)換表本章小結(jié)習題上機實驗第6章 模塊化程序設計6.1 計算圓的周長和面積6.2 使用函數(shù)編寫程序6.2.1 函數(shù)定義的一般形式6.2.2 函數(shù)的參數(shù)6.2 3 函數(shù)的返回值和類型6.3 變量與函數(shù)6.3.1 局部變量和全局變量6.3.2 變量生命周期和靜態(tài)局部變量6.4 函數(shù)的調(diào)用6.4.1 函數(shù)調(diào)用的一般形式6.4.2 函數(shù)的調(diào)用的方式6.4.3 函數(shù)與數(shù)組6.4.4 函數(shù)的嵌套調(diào)用6.5 遞歸問題求解6.6 編譯預處理6.6.1 概述6.6.2 宏定義6.6.3 文件包含6.6.4 C語言庫函數(shù)簡介本章小結(jié)習題上機實驗第7章 指針7.1 尋找保險箱密碼7.1.1 尋找保險箱密碼解析7.1.2 地址與指針7.1.3 指針變量及其定義7.1.4 指針變量的基本運算7.1.5 指針變量的初始化7.2 貍貓換太子7.2.1 問題解析7.2.2 指針作為函數(shù)的參數(shù)7.3 排序算法7.3.1 冒泡排序7.3.2 指針、數(shù)組和地址間的關系7.3.3 通過指針引用數(shù)組元素7.3.4 數(shù)組名作為函數(shù)的參數(shù)7.4 字符串加密7.4.1 加密問題7.4.2 字符串和字符指針7.5 指針數(shù)組和指向指針的指針7.5.1 指針數(shù)組的概念7.5.2 指向指針的指針7.5.3 指針數(shù)組作為main函數(shù)的形參7.6 任意個整數(shù)的存儲7.6.1 任意個整數(shù)的存儲問題7.6.2 用指針實現(xiàn)內(nèi)存動態(tài)分配本章小結(jié)習題上機實驗第8章 結(jié)構體8.1 構建學生基本信息8.2 結(jié)構體變量8.2.1 結(jié)構體變量定義8.2.2 結(jié)構體變量的引用8.2.3 結(jié)構體變量的初始化8.3 結(jié)構體數(shù)組8.3.1 結(jié)構體數(shù)組的定義8.3.2 結(jié)構體數(shù)組的初始化8.3.3 應用舉例8.4 指針和結(jié)構體8.4.1 指向結(jié)構體變量的指針8.4.2 指向結(jié)構體數(shù)組的指針8.4.3 結(jié)構指針參數(shù)8.5 結(jié)構體綜合應用本章小結(jié)習題上機實驗第9章 文件9.1 將“BeUing20081”寫入文件9.2 讀取學生信息文件9.3 文件復制本章小結(jié)習題上機實驗第10章 用C語言開發(fā)軟件實例10.1 問題描述10.2 需求分析10.3 模塊設計10.4 程序編碼10.5 程序調(diào)試運行本章小結(jié)上機實驗附錄A ASC11碼表附錄B C99關鍵字附錄C 常用庫函數(shù)附錄D 常見出錯信息參考文獻
章節(jié)摘錄
程序可以簡單,也可以復雜,簡單的程序只有幾條指令,而復雜的程序有成千上萬指令。程序的規(guī)模越大,內(nèi)容越復雜,所需要的程序指令就越多,程序的結(jié)構也就越復雜。隨著計算機科學技術的飛速發(fā)展,程序也變得越來越龐大和復雜。僅一個Windows操作系統(tǒng)就有幾萬條的指令代碼,所以給計算機下命令已不是一兩個“長官”的事了,而是一個團體集體智慧的結(jié)晶。1997年5月,IBM公司設計的名為“深藍”的計算機程序,以2勝2平1負戰(zhàn)勝了國際象棋大師卡斯帕羅夫。 程序設計(Programming)是指設計、編制、調(diào)試程序的方法和過程。程序設計是目標明確的智力活動,它要求編寫程序的人員(程序員)首先對需要完成的任務有一個比較清晰的認識,然后按照計算機可以識別的方式來組織這些指令以形成程序,最后將描述這個任務的程序交由計算機去執(zhí)行,從而完成該任務。由于任務的復雜性和多樣性,使得程序設計不可能一次就達到要求,需要在程序的設計過程中不斷地修改和完善,最終滿足任務的需求,這個過程叫做程序的調(diào)試和測試。2.程序設計語言像長官下達命令一樣,要想讓士兵正確地執(zhí)行命令,長官的命令必須以一種士兵可以理解的方式來表達,這就是人類的語言。要想讓計算機能正確地執(zhí)行人們所編寫的這一系列指令(程序),這些指令(程序)必須以計算機能理解的方式來表達,這就是計算機程序設計語言(Programming Language),它是人和計算機之間進行交流和溝通的工具?! ∪祟惖恼Z言是由語法和詞匯構成的,同樣計算機語言也是由語法和詞匯構成的。所謂語法,就是語言規(guī)則的集合,規(guī)定什么是允許的,什么是不允許的,什么是正確的,什么是錯誤的;所謂詞匯就是符號,它是語言的構成要素?! ∮嬎銠C所能直接識別的語言只有一種,這就是機器語言。機器語言是由0和1(即二進制)組成的指令序列。因為人們對二進制數(shù)據(jù)書寫和理解都存在一定的困難,所以產(chǎn)生了多種所謂的高級語言(如C語言、Basic語言、Fortran語言等),這些高級語言比較接近人們?nèi)粘J褂玫淖匀徽Z言,給人們的書寫和閱讀程序帶來了極大的方便。但高級語言不能被計算機直接識別,需要將其“翻譯”成機器語言,這個過程叫做編譯。編譯過程由相應計算機語言的編譯程序自動完成,不需要手工翻譯轉(zhuǎn)化。 1.3 計算機求解問題的步驟 計算機求解問題就是人們解決某一問題的方法和步驟的計算機化,或者說是通過計算機來表達人們對某一問題的解決方法。也就是說,一個問題,如果人們不知道如何求解,那么計算機是不可能做出正確答案的。程序設計過程實際上是問題解決方案的計算機描述過程,所以程序設計過程必須遵循人們解決問題的一般過程,即分析問題、尋找方法、描述方法和實施方法的過程。具體來說包括以下5個步驟:問題提出與分析;問題的數(shù)據(jù)描述;問題的功能描述;數(shù)據(jù)和功能的計算機實現(xiàn);編碼、調(diào)試、編譯、連接和運行。下面以一個具體的實例——“自動應答器”的設計與實現(xiàn)來分析以上過程和步驟。 ……
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載