C語言程序設(shè)計與實踐

出版時間:2010-9  出版社:機械工業(yè)  作者:凌云//吳海燕//謝滿德  頁數(shù):292  
Tag標(biāo)簽:無  

前言

  “C語言程序設(shè)計”是一門理論與工程實踐密切相關(guān)的專業(yè)基礎(chǔ)課程,在計算機學(xué)科的教學(xué)中具有十分重要的作用。大力加強該課程的建設(shè),提高該課程的教學(xué)質(zhì)量,有利于教學(xué)改革和教育創(chuàng)新,有利于創(chuàng)新人才的培養(yǎng)。學(xué)生通過本課程的學(xué)習(xí),可以培養(yǎng)良好的編程風(fēng)格,掌握常見的算法思路,真正提高運用C語言編程解決實際問題的綜合能力,為后續(xù)課程的實踐環(huán)節(jié)的教學(xué)打好基礎(chǔ)?! ∧壳皣鴥?nèi)關(guān)于C語言的教材較多,有些教材語法知識介紹細(xì)致,較適合作為非計算機專業(yè)的等級考試類教學(xué)用書;有些教材起點較高,內(nèi)容深奧,不適用于初學(xué)者。為了幫助廣大學(xué)生更好地掌握C語言編程技術(shù),我們組織浙江工商大學(xué)C語言程序設(shè)計課程組教師進行了深入的討論和研究,針對學(xué)生學(xué)科競賽和課時壓縮的背景,將該課程的建設(shè)與其他信息類專業(yè)的課程體系改革相結(jié)合,發(fā)揮學(xué)院在計算機、電子商務(wù)和信息管理等專業(yè)上的辦學(xué)優(yōu)勢,編寫了本書。全書以程序設(shè)計為主線,采用了漸進式的體系結(jié)構(gòu),在詳細(xì)闡述程序設(shè)計基本概念、原理和方法的基礎(chǔ)上,結(jié)合實踐教學(xué)和學(xué)科競賽的實際情況,通過大量經(jīng)典實例講解和實訓(xùn),使學(xué)習(xí)者掌握利用C語言進行結(jié)構(gòu)化程序設(shè)計的技術(shù)和方法,培養(yǎng)和提高他們的實踐動手能力和創(chuàng)新協(xié)作精神?! ”緯目蚣芙Y(jié)構(gòu)分為三個部分。第一部分包括第1~11章,介紹C語言的基礎(chǔ)語法知識,這部分內(nèi)容按C語言的知識點循序漸進地介紹,同時,針對C語言中的重點和難點,如指針,精心設(shè)計了豐富的實例,用了大量的篇幅從不同方面對其進行講解,幫助讀者理解并掌握這些重點和難點。第二部分包括第12~13章,為項目實訓(xùn)和常用算法指導(dǎo)部分,這部分通過項目開發(fā)全過程的全方位指導(dǎo),從需求分析、算法設(shè)計到程序編寫和過程調(diào)試,以項目實訓(xùn)的形式引導(dǎo)和幫助學(xué)生解決實際問題,提高學(xué)生解決具體問題的能力,并對程序設(shè)計競賽中的常見算法及其應(yīng)用進行了介紹。第三部分即第14章,介紹編程風(fēng)格與程序調(diào)試方法。

內(nèi)容概要

  《C語言程序設(shè)計與實踐》由淺入深地講授了C語言程序設(shè)計的技術(shù)與技巧。首先,介紹了c語言的基礎(chǔ)語法知識;其次,通過項目開發(fā)全過程的全方位指導(dǎo),從需求分析、算法設(shè)計到程序編寫和過程調(diào)試,以項目實訓(xùn)的形式引導(dǎo)和幫助學(xué)生解決實際問題,提高學(xué)生解決具體問題的能力,并對程序設(shè)計競賽中的常見算法及其應(yīng)用進行了介紹;最后,介紹了編程風(fēng)格與程序調(diào)試方法?!  禖語言程序設(shè)計與實踐》內(nèi)容齊備、自成一體,可作為計算機及相關(guān)專業(yè)的本科或?qū)?平滩?,也可以作為信息類或其他相關(guān)專業(yè)的輔助教材。

書籍目錄

  出版者的話  前言  教學(xué)建議  第1章 C語言與程序設(shè)計概述  1.1 初見C語言程序  1.2 計算機與程序設(shè)計  1.2.1 指令與程序  1.2.2 程序與程序設(shè)計  1.2.3 程序設(shè)計和程序設(shè)計語言  1.2.4 程序設(shè)計過程  1.3 C語言學(xué)習(xí)與自然語言學(xué)習(xí)的關(guān)系  1.4 C語言的發(fā)展歷史、現(xiàn)狀與特點  1.4.1 C語言的發(fā)展歷史和現(xiàn)狀  1.4.2 C語言的特點  習(xí)題    第2章 例子驅(qū)動的C語言語法元素概覽  2.1 變量與表達式  2.2 分支語句  2.2.1 if語句  2.2.2 switch語句  .2.3 循環(huán)語句  2.3.1 while循環(huán)語句  2.3.2 for循環(huán)語句  2.4 符號常量  2.5 輸入輸出  2.6 數(shù)組  2.7 函數(shù)  2.8 算法  2.8.1 算法的概念  2.8.2 流程圖與算法描述  習(xí)題    第3章 基本數(shù)據(jù)類型和表達式  3.1 基本語法單位  3.1.1 基本符號  3.1.2 關(guān)鍵字  3.1.3 標(biāo)識符  3.2 數(shù)據(jù)類型  3.3 常量與變量  3.3.1 常量  3.3.2 變量  3.3.3 變量的初始化  3.4 表達式和運算符  3.4.1 算術(shù)運算符  3.4.2 賦值運算符  3.4.3 關(guān)系運算符  3.4.4 邏輯運算符  3.4.5 位運算符  3.4.6 逗號運算符  3.4.7 條件運算符  3.5 各類數(shù)值型數(shù)據(jù)間的混合運算  習(xí)題    第4章 輸入輸出語句  4.1 putchar函數(shù)  4.2 printf函數(shù)  4.2.1 printf函數(shù)的格式  4.2.2 格式說明字符  4.3 getchar函數(shù)  4.4 scanf函數(shù)  4.4.1 一般形式  4.4.2 格式說明  4.4.3 scanf函數(shù)的執(zhí)行中應(yīng)注意的問題  4.5 程序舉例  習(xí)題    第5章 C程序結(jié)構(gòu)  5.1 C語句  5.2 程序設(shè)計基礎(chǔ)  5.3 結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)  5.3.1 順序結(jié)構(gòu)  5.3.2 選擇結(jié)構(gòu)  5.3.3 循環(huán)結(jié)構(gòu)  5.4 if分支語句  5.4.1 第一種if語句形式  5.4.2 第二種if語句形式  5.4.3 第三種if語句形式  5.4.4 if語句的嵌套  5.4.5 程序舉例  5.5 switch分支語句  5.6 while循環(huán)語句  5.7 do?while循環(huán)語句  5.8 for循環(huán)語句  5.9 break語句和continue語句  5.9.1 break語句  5.9.2 continue語句  5.10 多重循環(huán)的嵌套  5.11 程序舉例  習(xí)題    第6章 數(shù)組  6.1 一維數(shù)組  6.1.1 一維數(shù)組的定義  6.1.2 一維數(shù)組元素的引用  6.1.3 一維數(shù)組元素的初始化  6.2 二維數(shù)組  6.2.1 雙下標(biāo)變量  6.2.2 二維數(shù)組及其定義  6.2.3 二維數(shù)組的初始化  6.2.4 二維數(shù)組應(yīng)用舉例  6.3 綜合應(yīng)用舉例  6.4 字符數(shù)組  6.4.1 字符串和字符串結(jié)束標(biāo)志  6.4.2 字符數(shù)組的輸入輸出  6.4.3 字符串函數(shù)  6.4.4 二維字符數(shù)組  6.4.5 字符數(shù)組應(yīng)用舉例  習(xí)題    第7章 函數(shù)  7.1 函數(shù)的定義  7.1.1 函數(shù)定義的格式  7.1.2 形式參數(shù)和實際參數(shù)  7.1.3 函數(shù)的返回值  7.2 函數(shù)的一般調(diào)用  7.2.1 函數(shù)調(diào)用的形式  7.2.2 函數(shù)調(diào)用的方式  7.2.3 主調(diào)函數(shù)和被調(diào)函數(shù)的相對位置關(guān)系  7.2.4 函數(shù)調(diào)用時值的單向傳遞性  7.2.5 函數(shù)調(diào)用示例  7.3 函數(shù)的嵌套調(diào)用  7.4 函數(shù)的遞歸調(diào)用  7.4.1 概述  7.4.2 函數(shù)的遞歸調(diào)用應(yīng)用舉例  7.5 數(shù)組作為函數(shù)的參數(shù)  7.5.1 數(shù)組元素作為函數(shù)的實參  7.5.2 數(shù)組名作為函數(shù)的參數(shù)  7.5.3 多維數(shù)組作為函數(shù)的參數(shù)  7.6 變量的作用域——局部變量和全局變量  7.6.1 局部變量  7.6.2 全局變量  7.7 變量的存儲類別和生存期  7.7.1 變量的存儲類別  7.7.2 動態(tài)變量  7.7.3 靜態(tài)變量  7.7.4 外部變量  7.8 內(nèi)部函數(shù)和外部函數(shù)  7.8.1 內(nèi)部函數(shù)  7.8.2 外部函數(shù)  習(xí)題    第8章 編譯預(yù)處理  8.1 宏定義  8.1.1 不帶參數(shù)的宏定義  8.1.2 帶參數(shù)的宏定義  8.2 文件包含  8.3 條件編譯  8.3.1 條件編譯語句1  8.3.2 條件編譯語句2  8.3.3 條件編譯語句3  習(xí)題    第9章 指針  9.1 地址和指針的概念  9.2 指針變量和地址運算符  9.2.1 指針變量的定義  9.2.2 指針變量的使用  9.3 指針和數(shù)組  9.3.1 通過指針存取數(shù)組元素  9.3.2 字符串和指針  9.4 指針和函數(shù)  9.4.1 指針作為函數(shù)的參數(shù)  9.4.2 指針作為函數(shù)的返回值  9.4.3 指向函數(shù)的指針  9.5 多級指針  9.5.1 多級指針的概念和使用  9.5.2 多級指針和多維數(shù)組  9.5.3 命令行參數(shù)  9.6 指針和動態(tài)存儲管理  9.6.1 概述  9.6.2 malloc函數(shù)和free函數(shù)  9.6.3 動態(tài)存儲管理的應(yīng)用  9.7 指針和指針運算小結(jié)  習(xí)題    第10章 結(jié)構(gòu)與聯(lián)合  10.1 結(jié)構(gòu)體類型變量的定義和引用  10.1.1 結(jié)構(gòu)體類型變量的定義  10.1.2 結(jié)構(gòu)體類型變量的引用  10.1.3 結(jié)構(gòu)體類型變量的初始化  10.2 結(jié)構(gòu)體數(shù)組的定義和引用  10.3 結(jié)構(gòu)體指針的定義和引用  10.3.1 指向結(jié)構(gòu)體類型變量的指針的使用  10.3.2 指向結(jié)構(gòu)體類型數(shù)組的指針的使用  10.4 鏈表的定義和操作  10.4.1 概述  10.4.2 鏈表的建立  10.4.3 輸出鏈表元素  10.4.4 刪除鏈表元素  10.4.5 插入鏈表元素  10.4.6 查詢鏈表元素  10.5 聯(lián)合  10.5.1 聯(lián)合的定義  10.5.2 聯(lián)合成員的使用  10.5.3 應(yīng)用舉例  10.5.4 數(shù)組、結(jié)構(gòu)和聯(lián)合三種數(shù)據(jù)類型的比較  10.6 枚舉類型  10.7 用typedef定義類型名  習(xí)題    第11章 文件操作  11.1 文件的基本概念  11.1.1 概述  11.1.2 文件分類  11.1.3 緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)  11.1.4 流式文件  11.2 標(biāo)準(zhǔn)文件  11.3 文件類型指針  11.4 文件的打開與關(guān)閉  11.4.1 文件的打開  11.4.2 文件的關(guān)閉  11.5 文件的順序讀寫  11.6 常用文件順序讀寫函數(shù)  11.7 文件順序讀寫的應(yīng)用舉例  11.8 文件的隨機讀寫  11.8.1 文件的定位  11.8.2 文件操作的出錯檢測  11.9 非緩沖文件系統(tǒng)  習(xí)題    第12章 綜合實訓(xùn)  12.1 綜合實訓(xùn)一:24點程序  12.1.1 問題描述  12.1.2 問題分析  12.1.3 數(shù)據(jù)結(jié)構(gòu)分析  12.1.4 程序執(zhí)行流程和設(shè)計分析  12.1.5 程序運行和測試  12.2 綜合實訓(xùn)二:五子棋游戲  12.2.1 問題描述  12.2.2 問題分析  12.2.3 數(shù)據(jù)結(jié)構(gòu)分析  12.2.4 程序執(zhí)行流程和設(shè)計分析  12.2.5 程序運行和測試  12.3 綜合實訓(xùn)三:通用的管理信息系統(tǒng)  12.3.1 問題描述  12.3.2 問題分析  12.3.3 數(shù)據(jù)結(jié)構(gòu)分析  12.3.4 程序執(zhí)行流程和設(shè)計分析  12.3.5 程序運行和測試  12.4 綜合實訓(xùn)四:BASIC程序解釋器  12.4.1 問題描述  12.4.2 問題分析  12.4.3 數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計分析  12.4.4 程序運行和測試  12.4.5 討論    第13章 初涉ACM/ICPC  13.1 ACM/ICPC概述  13.2 小數(shù)近似值問題與枚舉算法  13.2.1 問題描述  13.2.2 問題分析與求解  13.2.3 問題小結(jié)  13.3 迷宮問題與深度優(yōu)先搜索  13.3.1 問題描述  13.3.2 問題分析與求解  13.3.3 問題小結(jié)  13.4 經(jīng)典01背包問題與動態(tài)規(guī)劃算法  13.4.1 問題描述  13.4.2 問題分析與求解  13.4.3 問題小結(jié)  13.5 經(jīng)典部分背包問題與貪心算法  13.5.1 問題描述  13.5.2 問題分析與求解  13.5.3 問題小結(jié)  13.6 關(guān)系序列問題與圖的拓?fù)渑判颉 ?3.6.1 問題描述  13.6.2 問題分析與求解  13.6.3 問題小結(jié)  13.7 公路建設(shè)圖與最小生成樹  13.7.1 問題描述  13.7.2 問題分析與求解  13.7.3 問題小結(jié)  13.8 青蛙跳石頭與圖的單源最短路徑  13.8.1 問題描述  13.8.2 問題分析與求解  13.8.3 問題小結(jié)  13.9 青蛙約會之解與模線性方程  13.9.1 問題描述  13.9.2 問題分析與求解  13.9.3 問題小結(jié)  13.10 練習(xí)參考網(wǎng)址    第14章 程序設(shè)計風(fēng)格與程序調(diào)試  14.1 程序設(shè)計風(fēng)格和程序設(shè)計方法  14.2 C語言程序設(shè)計風(fēng)格  14.2.1 標(biāo)識符的命名  14.2.2 注釋  14.2.3 清晰簡潔的表達  14.2.4 書寫格式  14.3 結(jié)構(gòu)化程序設(shè)計  14.3.1 自頂向下的程序設(shè)計方法  14.3.2 程序的模塊化  14.4 健全程序的風(fēng)格標(biāo)準(zhǔn)  14.5 程序錯誤類型和調(diào)試  14.5.1 程序錯誤類型  14.5.2 程序錯誤分析方法  14.6 程序調(diào)試方法  14.7 常見錯誤分析  14.8 幫助的使用  習(xí)題  附錄 ASCII碼表  參考文獻

章節(jié)摘錄

  程序設(shè)計是按指定要求,編排計算機能識別的特定指令組合的過程,而程序設(shè)計語言是為方便人進行程序設(shè)計而提供的一種手段,是人與計算機交流的語言,而且這種程序設(shè)計語言也在隨著計算機技術(shù)的發(fā)展而不斷地發(fā)展?! ∮嬎銠C能直接識別的是由“0”和“1”組成的二進制數(shù),二進制是計算機語言的基礎(chǔ)。一開始,人們只能降貴紆尊,用計算機能直接理解的語言去命令計算機工作,通過寫出一串串由“0”和“1”組成的指令序列交給計算機執(zhí)行。這種語言稱為機器語言。使用機器語言編寫程序是一件十分痛苦的工作,特別是在程序有錯需要修改時,更是如此。而且,由于每臺計算機的指令系統(tǒng)往往各不相同,所以,在一臺計算機上執(zhí)行的程序,要想在另一臺計算機上執(zhí)行,必須重新修改程序,造成了重復(fù)工作。所以,現(xiàn)在已經(jīng)很少有人用機器語言直接寫程序。  為了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、有一定含義的符號串來替代一個特定指令的二進制串,比如,用“ADD”表示加法,“suB”表示減法,“Mov”表示數(shù)據(jù)傳遞等,這樣一來,人們很容易讀懂并理解程序在干什么,糾錯及維護都變得方便了。這種程序設(shè)計語言稱為匯編語言,即第二代計算機語言。然而對于計算機而言,它只認(rèn)識“0”和“1”組成的指令,并不認(rèn)識這些符號,這就需要一個專門的程序,來負(fù)責(zé)將這些符號翻譯成計算機能直接識別和理解的二進制數(shù)的機器語言,完成這種工作的程序被稱為匯編程序,它充當(dāng)?shù)木褪且粋€翻譯者的角色。匯編語言同樣十分依賴于機器硬件,移植性不好,但效率十分高。現(xiàn)代的桌面計算機,性能已經(jīng)非常強大,效率已經(jīng)不是首要關(guān)注目標(biāo)。所以,通常只有在資源受限的嵌入式環(huán)境或與硬件相關(guān)的程序設(shè)計時(如驅(qū)動程序),匯編語言才會作為一種首選的軟件開發(fā)語言。  雖然機器語言發(fā)展到匯編語言已經(jīng)有了很大的進步,但是由于每條指令完成的工作非常有限,因此編程過程仍然繁瑣,語義表達仍然比較費力。于是,人們期望有更加方便、功能更加強大的高級編程語言的出現(xiàn)。這種高級語言應(yīng)該接近于數(shù)學(xué)語言或人的自然語言,同時又不依賴于計算.機硬件,編出的程序能在所有機器上通用。c語言就是一種能滿足這種要求的語言,它由于既有高級語言的通用性又有底層語言的高效性而展示出了強大的生命力,幾十年來一直被廣泛應(yīng)用。許多高校也基本上將c語言當(dāng)作計算機專業(yè)和相關(guān)專業(yè)的重要必修課,作為高校學(xué)生接觸的第一門編程語言。同樣,計算機本身并不認(rèn)識c語言程序,因此我們需要將c語言程序先翻譯成匯編程序,再將匯編程序翻譯成機器語言,這個過程往往由編譯程序幫我們完成,而不需要我們自己來做。

編輯推薦

  《C語言程序設(shè)計與實踐》以程序設(shè)計為主線,在詳細(xì)闡述程序設(shè)計基本概念、原理和方法的基礎(chǔ)上,結(jié)合實踐教學(xué)和學(xué)科競賽的實際情況,通過經(jīng)典實例講解和實訓(xùn),使學(xué)生掌握利用c語言進行結(jié)構(gòu)化程序設(shè)計的技術(shù)和方法。注重培養(yǎng)良好的編程風(fēng)格,掌握常見的算法思路,真正提高學(xué)生運用C語言編程以解決實際問題的綜合能力,為后續(xù)課程實踐環(huán)節(jié)的教學(xué)打下良好基礎(chǔ)。  《C語言程序設(shè)計與實踐》特色  實例豐富。在介紹理論知識的同時,書中還給出了大量的實例和實訓(xùn)內(nèi)容,以提高學(xué)生的動手實踐能力。  重點突出。針對C語言語法龐雜、有些語句可以相互替代、有些語法不常使用的情況,《C語言程序設(shè)計與實踐》重點介紹了基本的、常用的C語言語法知識,使學(xué)生容易理解和掌握?! ∪跁炌?。著重介紹程序設(shè)計語言的共性,培養(yǎng)學(xué)生自學(xué)其他程序設(shè)計語言的能力。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    C語言程序設(shè)計與實踐 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7