C語言程序設計

-
【作 者】任正云 李素若 主編
【I S B N 】978-7-5084-4300-3
【責任編輯】陳潔
【適用讀者群】高職高專
【出版時間】2007-03-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數】284
【千字數】
【印 張】
【定 價】¥26
【叢 書】21世紀高職高專規劃教材
【備注信息】教育部高等學校高職高專計算機類專業教學指導委員會優秀教材
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書遵照C語言標準,結合作者多年的教學和科研實踐的經驗和體會,全面系統、深入淺出地闡述了C語言的基本概念、語法和語義,以及用C語言進行程序設計的基本方法和技巧。
本書的主要內容包括數據類型和表達式、流程控制、算法分析、函數與程序結構等。概念準確,結構合理,層次清晰,實例豐富,選材精心,語言通俗易懂。本章末都配有習題可供不同層次的讀者練習。
本書十分注重知識的應用,重點章節都給出了應用舉例。本書的一個亮點是給出了學生成績管理系統、大獎賽評分系統和萬年歷的程序,雖然所給出程序代碼不一定最優化,但可以引導讀者分析,給讀者以啟發,是學習編程人員一本很好的工具書。
本書是一本準確而又較全面反映標準C語言的教材,還配有《C語言程序設計上機指導與習題集解答》一書。既可供高等學校計算機專業本、專科或培訓班教學使用,也是廣大科技工作者和編程愛好者的一本很好的參考書。
1.概念準確,結構合理,層次清晰,實例豐富,選材精心,語言通俗易懂。本章末都配有習題可供不同層次的讀者練習
2.十分注重知識的應用,重點章節都給出了應用舉例。
3.本書的一個亮點是給出了學生成績管理系統、大獎賽評分系統和萬年歷的程序
C語言是一種結構化的程序設計語言。它功能豐富、表現力強、使用靈活、應用面廣、目標程序效率高、可移植性好,既具有高級語言的特點,又具有低級語言的功能,因此它成為當今的主流程序設計語言之一。由于它簡單易學,使用方便靈活,所以學習和使用C語言的人越來越多,國內高等院校理工科專業都開設了這門課程。同時,C語言也是全國計算機二級考試的指定考試科目之一。學好C 語言對進一步學習其他計算機語言具有積極的意義。
C語言程序設計是一門實踐性很強的課程,它包含理論學習、編程方法和程序調試三個方面的內容。由于它的語法現象比較復雜,數據類型轉換和表示靈活多變,因此,在學習和掌握C語言時,要把實踐分為三個層次和兩個方面。三個層次是:閱讀別人寫好的程序(或函數),理解程序所要完成的任務(也就是程序的功能),從中學習編程的方法和技巧;模仿編寫功能類似的程序;自己獨立設計和編寫完成指定任務的程序。兩個方面是:在條件有限的情況下,動手在紙上嚴格按語法規則一絲不茍地寫出程序;另一方面,在條件允許的情況下,應該盡量上機練習,調試自己所寫的程序。根據當前的形式和教學的需要,從C語言教學實際出發,我們編寫了這本《C語言程序設計》,希望本書能為廣大讀者提供有益的幫助。
針對C語言在計算機專業課程以及計算機公共基礎課程體系中的地位,本書從培養學生的理解、設計基本算法出發,結合掌握C語言的語法規則訓練,培養學生基本編程能力。本書在編寫過程中,著重體現以下特色:
(1)語言通俗易懂、結構符合教學規律。考慮到學習者的基礎,本書在編寫過程中從語言的角度盡量做到通俗易懂,避免按C語言說明書、操作手冊的內容安排和描述,內容及講解由淺入深,符合C語言的特點,符合程序設計語言學習的特點。
(2)理論講解力求體現“必需、夠用為度”。充分考慮學生的特點和C語言程序設計在課程體系中的地位,在內容的講解上,盡量形象地描述算法產生的過程,突出學習重點,理論教學力求體現必需、夠用為度,強調實際應用,有意回避一些C語言中出現頻率很低或與語言實現版本有關的內容,把重點放在語言本身的難點和程序設計的技巧方面,為以后從事軟件開發的學生提供良好的參考。
(3)堅持“兩個并重”,重視學生技能的形成過程。所謂兩個并重,就是程序設計語言和程序設計技巧并重、典型案例和實際編程并重。本書在講解理論后都有強化理論的例題,每章結束部分都安排有應用實例。這樣做的目的就是力求使讀者學完C語言程序設計之后,不僅能懂C語言的語法、語義,更重要的是具備編程解決實際問題的能力,通過給出的一些經典案例,讓學生能夠從中借鑒、模仿及改寫,從而提高學習者的編程能力。
特別值得一提的是:本書在講解必要的理論知識的同時,十分注重知識的應用,重點章節都給出了應用舉例,本書的一個亮點是給出了學生成績管理系統,大獎賽評分系統,萬年歷的程序,是學習編程人員的一本很好的工具書。本書還配有《C語言程序設計上機指導與習題集解答》一書,供不同層次的讀者練習。
本書由任正云、李素若任主編,胡玉榮、張牧、肖衡任副主編,具體分工如下:第1、2、3、5、7章由任正云編寫,第4、6章由胡玉榮編寫,第8章由李素若編寫,第9章由張牧編寫,第10章由肖衡編寫,全書由任正云統稿,所有的程序由張牧、胡玉榮負責調試,在編寫過程中得到了主審田原副教授和相關專家的指導,在此一并表示衷心的感謝。
本書存在一些不足之處,竭誠希望廣大讀者批評指正。
編 者
2006年12月
第1章 C語言程序設計基礎 1
1.1 程序設計及程序設計語言 1
1.1.1 程序設計語言的發展 1
1.1.2 C語言的發展過程 2
1.2 C語言的特點 3
1.3 源程序的編輯、編譯、連接與運行 4
1.4 C程序結構 5
1.4.1 簡單的C程序介紹 5
1.4.2 C程序結構 7
習題 8
第2章 C語言的數據類型與基本操作 10
2.1 常量與變量 10
2.1.1 常量 10
2.1.2 變量 13
2.2 標識符和關鍵字 15
2.3 整型數在計算機中的存儲方式 17
2.4 有符號的數據類型和無符號的數據類型 18
2.5 運算符和表達式 19
2.5.1 賦值運算符和賦值表達式 21
2.5.2 算術運算符和算術表達式 23
2.5.3 長度測試運算符sizeof 25
2.5.4 關系運算符和關系表達式 25
2.5.5 邏輯運算符與邏輯表達式 26
2.5.6 條件運算符與條件運算表達式 28
2.5.7 逗號運算符與逗號表達式 30
2.5.8 位運算 31
2.6 不同類型數據間的轉換 34
習題 37
第3章 順序結構程序設計 42
3.1 算法 42
3.1.1 算法的組成要素 42
3.1.2 算法的表示方法 43
3.1.3 算法設計舉例 46
3.2 C語句概述 51
3.2.1 控制語句 51
3.2.2 表達式語句 52
3.2.3 復合語句 52
3.3 數據的輸入和輸出 53
3.3.1 數據的輸出函數 53
3.3.2 scanf函數 58
3.4 getchar函數與putchar函數 62
3.4.1 字符輸出函數putchar() 62
3.4.2 字符輸入函數getchar() 63
習題 64
第4章 選擇結構程序設計 68
4.1 if語句 68
4.1.1 if語句的形式 68
4.1.2 if語句的嵌套 72
4.2 switch語句 75
4.3 程序舉例 77
習題 79
第5章 循環結構程序設計 84
5.1 while語句 84
5.2 do-while語句 90
5.3 for語句 92
5.4 三種循環語句的比較 96
5.5 循環的嵌套 96
5.6 break語句和continue語句 101
5.6.1 break語句 102
5.6.2 continue語句 102
5.7 綜合實例 103
習題 109
第6章 函數 115
6.1 函數概述 115
6.2 函數的定義與聲明 116
6.2.1 函數定義 117
6.2.2 函數的參數和返回值 118
6.2.3 函數的聲明 118
6.3 函數的調用 119
6.3.1 調用函數的一般形式 119
6.3.2 調用函數時數據的傳遞 119
6.3.3 函數的嵌套調用 121
6.3.4 函數的遞歸調用 122
6.4 局部變量和全局變量 126
6.4.1 局部變量 126
6.4.2 全局變量 128
6.5 變量的存儲屬性 131
6.5.1 自動變量(auto) 131
6.5.2 寄存器變量(register) 133
6.5.3 靜態變量(static) 133
6.5.4 外部變量 134
6.6 編譯預處理 136
6.6.1 宏定義 136
6.6.2 文件包含 141
6.6.3 條件編譯 142
習題 144
第7章 數組 148
7.1 一維數組 148
7.1.1 一維數組的定義 148
7.1.2 一維數組的初始化 149
7.1.3 一維數組元素的引用 149
7.1.4 一維數組的使用 149
7.2 二維數組和多維數組 155
7.2.1 二維數組和多維數組的概念及其定義 155
7.2.2 二維數組和多維數組的引用 157
7.2.3 二維數組的初始化 158
7.2.4 二維數組的經典實例 159
7.3 字符數組 162
7.3.1 字符數組的定義 162
7.3.2 字符數組的輸入輸出 163
7.3.3 常用字符串函數 164
7.3.4 字符數組的使用 167
7.4 數組應用實例 168
7.4.1 排序 168
7.4.2 二分查找 171
習題 173
第8章 指針 175
8.1 地址和指針 175
8.1.1 地址 175
8.1.2 指針 176
8.2 指針變量 177
8.2.1 指針變量的說明 177
8.2.2 指針變量的運算 178
8.3 指針作為函數參數 178
8.3.1 指針常量作為函數參數 178
8.3.2 程序實例 180
8.4 指針與數組 181
8.4.1 指向數組的指針變量 181
8.4.2 通過指針引用數組元素 182
8.4.3 通過指針引用數組元素時幾個注意的問題 182
8.4.4 數組名作函數參數 184
8.4.5 程序實例 185
8.5 指針的運算 186
8.6 用指針訪問字符串 186
8.6.1 指針和字符串的關系 186
8.6.2 用指針處理字符串 187
8.7 指針數組和指向指針的指針 190
8.7.1 指針數組 190
8.7.2 指向指針的指針 191
8.7.3 指向指針的指針的應用 191
8.7.4 帶形參的main函數 193
8.8 指向函數的指針 195
8.8.1 函數指針的概念 195
8.8.2 函數指針的應用 196
習題 198
第9章 結構體和共用體 201
9.1 概述 201
9.2 結構體與結構體類型變量 201
9.2.1 結構體類型的定義 201
9.2.2 結構體類型變量的定義 202
9.2.3 結構體變量的引用 204
9.2.4 結構體變量的初始化 205
9.3 結構體數組 205
9.4 指向結構體類型數據的指針 207
9.4.1 指向結構體變量的指針 207
9.4.2 指向結構體數組的指針 209
9.4.3 結構體指針變量作為函數的參數 210
9.4.4 結構體與函數的類型 212
9.5 鏈表 214
9.5.1 鏈表的概念 214
9.5.2 動態存儲分配 215
9.5.3 鏈表的基本操作 217
9.6 共用體 221
9.6.1 共用體的概念和定義 221
9.6.2 共用體變量的引用 223
9.7 枚舉類型 225
9.7.1 枚舉的定義與說明 225
9.7.2 枚舉類型變量的賦值與引用 226
9.8 用Typedef定義類型 227
9.9 應用實例——學生成績管理系統 228
習題 239
第10章 文件 242
10.1 文件的概念 242
10.1.1 文件的類型 242
10.1.2 文件的訪問方式 243
10.2 格式化數據文件操作 243
10.2.1 打開文件函數fopen() 244
10.2.2 關閉文件函數fclose() 245
10.2.3 從文件中格式化輸入數據fscanf() 246
10.2.4 向文件中格式化輸出函數fprintf() 246
10.2.5 文件建立 246
10.2.6 文件訪問 247
10.2.7 文件修改 248
10.3 字符數據文件操作 250
10.3.1 從指定文件中讀取一個字符 250
10.3.2 putc()函數——指向文件輸出一個字符 251
10.3.3 fgets()函數——從文件中讀一個字符串 251
10.3.4 fputs()函數——向指定文件輸出一個字符串 251
10.3.5 feof ()函數——文件操作是否到文件尾的檢測函數 252
10.4 fread()與fwrite()函數 253
10.5 文件位置定位與錯誤處理函數 254
10.5.1 rewind()函數——將文件讀寫指針定位于文件頭 254
10.5.2 fseek()函數——重新定位文件位置指針 255
10.5.3 ftell()函數——測試當前讀寫指針位置 255
10.5.4 ferror()函數——檢測文件流操作中的錯誤 256
10.5.5 clearerr()函數——清除出錯標志 256
10.6 應用實例——大獎賽評分系統 257
習題 261
附錄A ASCII字符編碼一覽表 266
附錄B C語言庫函數 267
參考文獻 274
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- C語言程序設計 [姜雪]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- C語言同步案例習題精解 [主編 肖朝暉]
- C語言程序設計(微課版) [主編 夏啟壽]
- C語言程序設計實踐教程 [夏啟壽]
- 單片機應用技術項目教程(C語言版)(第三版) [主編 郭志勇]
- 數據結構——C語言(微課版) [主編 梁海英]
- C程序設計簡明教程 [黃能耿 黃致遠 編著]
- C語言程序設計實驗指導與實訓 [主編 倪燃]
- 單片機原理及應用技術(C語言版) [周國運 魯慶賓 趙天翔 編著]
- C#程序設計教程 [主編 李祥琴]
- C#數據庫編程技術 [主編 顧家銘]
- 基于C#的可視化編程基礎 [主編 張蕾蕾 黃健]
- C語言程序設計 [主編 楊娟 萬青]
- 物聯網編程與應用(C#) [主編 王浩 王偉旗]
- C語言程序設計 [主編 王婧 劉政宇]
- Visual Basic程序設計教程 [主編 郭秀娟 于全通]
- C語言程序設計項目化教程 [主編 彭琦偉 周威]
- C語言程序設計案例教程 [主 編 劉素芬 張建軍 王宏斌]
- Visual Basic.NET程序設計上機實踐教程 [主編 何振林 羅奕]
- Visual Basic.NET程序設計 [主編 何振林 羅奕]
- C語言程序設計(第二版) [主編 丁紅 王輝]
- 數據結構(C語言版)習題解答及實訓指導 [李根強 謝月娥]
- 數據結構(C語言版) [主編 李根強 劉浩 謝月娥]
- C語言程序設計習題與實驗指導 [主編 甄增榮 張賓]
- C語言程序設計 [主編 甄增榮 呂曉華]
- C語言程序設計 [主編 吳國鳳]