C語言程序設計與實踐 版權信息
- ISBN:9787111310075
- 條形碼:9787111310075 ; 978-7-111-31007-5
- 裝幀:暫無
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
C語言程序設計與實踐 本書特色
《C語言程序設計與實踐》以程序設計為主線,在詳細闡述程序設計基本概念、原理和方法的基礎上,結合實踐教學和學科競賽的實際情況,通過經典實例講解和實訓,使學生掌握利用c語言進行結構化程序設計的技術和方法。注重培養良好的編程風格,掌握常見的算法思路,真正提高學生運用C語言編程以解決實際問題的綜合能力,為后續課程實踐環節的教學打下良好基礎。《C語言程序設計與實踐》特色實例豐富。在介紹理論知識的同時,書中還給出了大量的實例和實訓內容,以提高學生的動手實踐能力。重點突出。針對C語言語法龐雜、有些語句可以相互替代、有些語法不常使用的情況,《C語言程序設計與實踐》重點介紹了基本的、常用的C語言語法知識,使學生容易理解和掌握。融會貫通。著重介紹程序設計語言的共性,培養學生自學其他程序設計語言的能力。
C語言程序設計與實踐 目錄
出版者的話前言教學建議第1章 C語言與程序設計概述1.1 初見C語言程序1.2 計算機與程序設計1.2.1 指令與程序1.2.2 程序與程序設計1.2.3 程序設計和程序設計語言1.2.4 程序設計過程1.3 C語言學習與自然語言學習的關系1.4 C語言的發展歷史、現狀與特點1.4.1 C語言的發展歷史和現狀1.4.2 C語言的特點習題第2章 例子驅動的C語言語法元素概覽2.1 變量與表達式2.2 分支語句2.2.1 if語句2.2.2 switch語句.2.3 循環語句2.3.1 while循環語句2.3.2 for循環語句2.4 符號常量2.5 輸入輸出2.6 數組2.7 函數2.8 算法2.8.1 算法的概念2.8.2 流程圖與算法描述習題第3章 基本數據類型和表達式3.1 基本語法單位3.1.1 基本符號3.1.2 關鍵字3.1.3 標識符3.2 數據類型3.3 常量與變量3.3.1 常量3.3.2 變量3.3.3 變量的初始化3.4 表達式和運算符3.4.1 算術運算符3.4.2 賦值運算符3.4.3 關系運算符3.4.4 邏輯運算符3.4.5 位運算符3.4.6 逗號運算符3.4.7 條件運算符3.5 各類數值型數據間的混合運算習題第4章 輸入輸出語句4.1 putchar函數4.2 printf函數4.2.1 printf函數的格式4.2.2 格式說明字符4.3 getchar函數4.4 scanf函數4.4.1 一般形式4.4.2 格式說明4.4.3 scanf函數的執行中應注意的問題4.5 程序舉例習題第5章 C程序結構5.1 C語句5.2 程序設計基礎5.3 結構化程序設計的三種基本結構5.3.1 順序結構5.3.2 選擇結構5.3.3 循環結構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循環語句5.7 dowhile循環語句5.8 for循環語句5.9 break語句和continue語句5.9.1 break語句5.9.2 continue語句5.10 多重循環的嵌套5.11 程序舉例習題第6章 數組6.1 一維數組6.1.1 一維數組的定義6.1.2 一維數組元素的引用6.1.3 一維數組元素的初始化6.2 二維數組6.2.1 雙下標變量6.2.2 二維數組及其定義6.2.3 二維數組的初始化6.2.4 二維數組應用舉例6.3 綜合應用舉例6.4 字符數組6.4.1 字符串和字符串結束標志6.4.2 字符數組的輸入輸出6.4.3 字符串函數6.4.4 二維字符數組6.4.5 字符數組應用舉例習題第7章 函數7.1 函數的定義7.1.1 函數定義的格式7.1.2 形式參數和實際參數7.1.3 函數的返回值7.2 函數的一般調用7.2.1 函數調用的形式7.2.2 函數調用的方式7.2.3 主調函數和被調函數的相對位置關系7.2.4 函數調用時值的單向傳遞性7.2.5 函數調用示例7.3 函數的嵌套調用7.4 函數的遞歸調用7.4.1 概述7.4.2 函數的遞歸調用應用舉例7.5 數組作為函數的參數7.5.1 數組元素作為函數的實參7.5.2 數組名作為函數的參數7.5.3 多維數組作為函數的參數7.6 變量的作用域——局部變量和全局變量7.6.1 局部變量7.6.2 全局變量7.7 變量的存儲類別和生存期7.7.1 變量的存儲類別7.7.2 動態變量7.7.3 靜態變量7.7.4 外部變量7.8 內部函數和外部函數7.8.1 內部函數7.8.2 外部函數習題第8章 編譯預處理8.1 宏定義8.1.1 不帶參數的宏定義8.1.2 帶參數的宏定義8.2 文件包含8.3 條件編譯8.3.1 條件編譯語句18.3.2 條件編譯語句28.3.3 條件編譯語句3習題第9章 指針9.1 地址和指針的概念9.2 指針變量和地址運算符9.2.1 指針變量的定義9.2.2 指針變量的使用9.3 指針和數組9.3.1 通過指針存取數組元素9.3.2 字符串和指針9.4 指針和函數9.4.1 指針作為函數的參數9.4.2 指針作為函數的返回值9.4.3 指向函數的指針9.5 多級指針9.5.1 多級指針的概念和使用9.5.2 多級指針和多維數組9.5.3 命令行參數9.6 指針和動態存儲管理9.6.1 概述9.6.2 malloc函數和free函數9.6.3 動態存儲管理的應用9.7 指針和指針運算小結習題第10章 結構與聯合10.1 結構體類型變量的定義和引用10.1.1 結構體類型變量的定義10.1.2 結構體類型變量的引用10.1.3 結構體類型變量的初始化10.2 結構體數組的定義和引用10.3 結構體指針的定義和引用10.3.1 指向結構體類型變量的指針的使用10.3.2 指向結構體類型數組的指針的使用10.4 鏈表的定義和操作10.4.1 概述10.4.2 鏈表的建立10.4.3 輸出鏈表元素10.4.4 刪除鏈表元素10.4.5 插入鏈表元素10.4.6 查詢鏈表元素10.5 聯合10.5.1 聯合的定義10.5.2 聯合成員的使用10.5.3 應用舉例10.5.4 數組、結構和聯合三種數據類型的比較10.6 枚舉類型10.7 用typedef定義類型名習題第11章 文件操作11.1 文件的基本概念11.1.1 概述11.1.2 文件分類11.1.3 緩沖文件系統和非緩沖文件系統11.1.4 流式文件11.2 標準文件11.3 文件類型指針11.4 文件的打開與關閉11.4.1 文件的打開11.4.2 文件的關閉11.5 文件的順序讀寫11.6 常用文件順序讀寫函數11.7 文件順序讀寫的應用舉例11.8 文件的隨機讀寫11.8.1 文件的定位11.8.2 文件操作的出錯檢測11.9 非緩沖文件系統習題第12章 綜合實訓12.1 綜合實訓一:24點程序12.1.1 問題描述12.1.2 問題分析12.1.3 數據結構分析12.1.4 程序執行流程和設計分析12.1.5 程序運行和測試12.2 綜合實訓二:五子棋游戲12.2.1 問題描述12.2.2 問題分析12.2.3 數據結構分析12.2.4 程序執行流程和設計分析12.2.5 程序運行和測試12.3 綜合實訓三:通用的管理信息系統12.3.1 問題描述12.3.2 問題分析12.3.3 數據結構分析12.3.4 程序執行流程和設計分析12.3.5 程序運行和測試12.4 綜合實訓四:BASIC程序解釋器12.4.1 問題描述12.4.2 問題分析12.4.3 數據結構和程序設計分析12.4.4 程序運行和測試12.4.5 討論第13章 初涉ACM/ICPC13.1 ACM/ICPC概述13.2 小數近似值問題與枚舉算法13.2.1 問題描述13.2.2 問題分析與求解13.2.3 問題小結13.3 迷宮問題與深度優先搜索13.3.1 問題描述13.3.2 問題分析與求解13.3.3 問題小結13.4 經典01背包問題與動態規劃算法13.4.1 問題描述13.4.2 問題分析與求解13.4.3 問題小結13.5 經典部分背包問題與貪心算法13.5.1 問題描述13.5.2 問題分析與求解13.5.3 問題小結13.6 關系序列問題與圖的拓撲排序13.6.1 問題描述13.6.2 問題分析與求解13.6.3 問題小結13.7 公路建設圖與*小生成樹13.7.1 問題描述13.7.2 問題分析與求解13.7.3 問題小結13.8 青蛙跳石頭與圖的單源*短路徑13.8.1 問題描述13.8.2 問題分析與求解13.8.3 問題小結13.9 青蛙約會之解與模線性方程13.9.1 問題描述13.9.2 問題分析與求解13.9.3 問題小結13.10 練習參考網址第14章 程序設計風格與程序調試14.1 程序設計風格和程序設計方法14.2 C語言程序設計風格14.2.1 標識符的命名14.2.2 注釋14.2.3 清晰簡潔的表達14.2.4 書寫格式14.3 結構化程序設計14.3.1 自頂向下的程序設計方法14.3.2 程序的模塊化14.4 健全程序的風格標準14.5 程序錯誤類型和調試14.5.1 程序錯誤類型14.5.2 程序錯誤分析方法14.6 程序調試方法14.7 常見錯誤分析14.8 幫助的使用習題附錄 ASCII碼表參考文獻
展開全部
C語言程序設計與實踐 節選
《C語言程序設計與實踐》由淺入深地講授了C語言程序設計的技術與技巧。首先,介紹了c語言的基礎語法知識;其次,通過項目開發全過程的全方位指導,從需求分析、算法設計到程序編寫和過程調試,以項目實訓的形式引導和幫助學生解決實際問題,提高學生解決具體問題的能力,并對程序設計競賽中的常見算法及其應用進行了介紹;*后,介紹了編程風格與程序調試方法。《C語言程序設計與實踐》內容齊備、自成一體,可作為計算機及相關專業的本科或專科教材,也可以作為信息類或其他相關專業的輔助教材。
C語言程序設計與實踐 相關資料
插圖:程序設計是按指定要求,編排計算機能識別的特定指令組合的過程,而程序設計語言是為方便人進行程序設計而提供的一種手段,是人與計算機交流的語言,而且這種程序設計語言也在隨著計算機技術的發展而不斷地發展。計算機能直接識別的是由“0”和“1”組成的二進制數,二進制是計算機語言的基礎。一開始,人們只能降貴紆尊,用計算機能直接理解的語言去命令計算機工作,通過寫出一串串由“0”和“1”組成的指令序列交給計算機執行。這種語言稱為機器語言。使用機器語言編寫程序是一件十分痛苦的工作,特別是在程序有錯需要修改時,更是如此。而且,由于每臺計算機的指令系統往往各不相同,所以,在一臺計算機上執行的程序,要想在另一臺計算機上執行,必須重新修改程序,造成了重復工作。所以,現在已經很少有人用機器語言直接寫程序。為了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、有一定含義的符號串來替代一個特定指令的二進制串,比如,用“ADD”表示加法,“suB”表示減法,“Mov”表示數據傳遞等,這樣一來,人們很容易讀懂并理解程序在干什么,糾錯及維護都變得方便了。這種程序設計語言稱為匯編語言,即第二代計算機語言。然而對于計算機而言,它只認識“0”和“1”組成的指令,并不認識這些符號,這就需要一個專門的程序,來負責將這些符號翻譯成計算機能直接識別和理解的二進制數的機器語言,完成這種工作的程序被稱為匯編程序,它充當的就是一個翻譯者的角色。匯編語言同樣十分依賴于機器硬件,移植性不好,但效率十分高。現代的桌面計算機,性能已經非常強大,效率已經不是首要關注目標。所以,通常只有在資源受限的嵌入式環境或與硬件相關的程序設計時(如驅動程序),匯編語言才會作為一種首選的軟件開發語言。雖然機器語言發展到匯編語言已經有了很大的進步,但是由于每條指令完成的工作非常有限,因此編程過程仍然繁瑣,語義表達仍然比較費力。于是,人們期望有更加方便、功能更加強大的高級編程語言的出現。這種高級語言應該接近于數學語言或人的自然語言,同時又不依賴于計算.機硬件,編出的程序能在所有機器上通用。c語言就是一種能滿足這種要求的語言,它由于既有高級語言的通用性又有底層語言的高效性而展示出了強大的生命力,幾十年來一直被廣泛應用。許多高校也基本上將c語言當作計算機專業和相關專業的重要必修課,作為高校學生接觸的第一門編程語言。同樣,計算機本身并不認識c語言程序,因此我們需要將c語言程序先翻譯成匯編程序,再將匯編程序翻譯成機器語言,這個過程往往由編譯程序幫我們完成,而不需要我們自己來做。