《C程序設計案例與提高教程(第2版)/高等院校信息技術規(guī)劃教材》共分3部分。第1篇共7章,是基本C編程精要,概括基本C語言中最重要的一些知識點,總結大量的編程技巧和經(jīng)驗,并指出編程中易犯的錯誤;第2篇共8章,講述擴展C語言的一些實用編程知識:內(nèi)存管理機制、DOS和BIOS調(diào)用、I/O接口的輸入輸出、中斷處理程序的編寫、鼠標和鍵盤操作、C作圖、漢字處理以及數(shù)據(jù)結構基礎等;第3篇共7章,是實例解析,匯集了大量典型實例,并對這些實例進行分析講解,給出了源代碼。
《C程序設計案例與提高教程(第2版)/高等院校信息技術規(guī)劃教材》既可作為深入學習C語言的教材,也可作為基本C語言學習的輔助教材和參考書。
ForewordC語言是高等學校計算機及相關專業(yè)的必修專業(yè)課,是培養(yǎng)學生編程思想、動手能力的主要課程和工具,也是面向?qū)ο蟪绦蛟O計、數(shù)據(jù)結構等后續(xù)課程的先導課。對C語言的掌握情況將很大程度上決定著學生大學4年的學習情況。
鑒于C語言的重要地位,優(yōu)秀的C語言教材層出不窮,廣泛用于課堂教學。但限于篇幅,絕大多數(shù)教材都只列出了基本語法規(guī)則和基本知識點,對于實際編程中用到的一些編程技巧和經(jīng)驗涉獵不多,而對于基本C語言(即一般C語言教材介紹的內(nèi)容)之外的擴展知識和實用技術則更少提及,這使得學生在學完C語言后,在面對實際問題時依然感覺無從下手。針對這種情況,我們編寫了本書。
本書共分3篇。第1篇是對基本C語言中一些重要內(nèi)容的總結和補充,概括基本C語言的精要和編程經(jīng)驗,指出編程中易出現(xiàn)的問題并介紹一些編程技巧;第2篇講述擴展C語言的一些實用編程技術: 內(nèi)存管理機制、DOS和BIOS調(diào)用、I/O接口的輸入輸出、中斷處理程序的編寫、鼠標和鍵盤操作、C作圖、漢字處理以及數(shù)據(jù)結構基礎等;第3篇是實例解析,匯集大量典型實例,并對這些實例進行講解,給出源代碼。
編寫本書的目的是培養(yǎng)編程思想,擴展知識面,提高編程能力,為后續(xù)課程的學習和今后的工作打下堅實的基礎。
本書適用對象: 一是已經(jīng)學過C語言,想繼續(xù)深入學習,以更好地掌握C語言的讀者,可將本書作為深入學習的教材;二是正在學習C語言的讀者,可將本書作為輔助教材或?qū)W習參考書。
關于本書有以下幾點說明。
1. 內(nèi)容
本書是面向有C語言基礎的讀者編寫的,所以對第1篇基本C語言的內(nèi)容不再系統(tǒng)地、面面俱到地講述,而是根據(jù)多數(shù)人的掌握情況,針對學習中出現(xiàn)的問題,只歸納其中的重點和要點,介紹編程經(jīng)驗,指出常犯的錯誤。對于第2篇擴展C語言的一些實用編程知識,因多數(shù)人比較陌生,故做了較詳細的敘述。第3篇是實例解析,對其中簡單的例子,本書在正文中講解算法和思路;而對于較大的程序,限于篇幅,僅在代碼中用注釋的方式解釋。代碼在本書配套資源中,可從清華大學出版社網(wǎng)站下載。
◆C程序設計案例與提高教程(第2版)前言2. 編譯器
目前課堂教學常用的編譯器有Turbo C 2.0(簡稱TC)和Visual C++ 6.0(簡稱VC)、CodeBlocks等,這些編譯器各有優(yōu)缺點。本書選擇的是TC,因為它小巧、簡單,對于學習C語言的知識來講已經(jīng)足夠。書中的例子在TC下全部調(diào)試通過,大部分都可以在VC下運行(程序中的clrscr和getch需要去掉),但少量程序的運行結果可能會與在TC下不同。還有一些程序(如作圖程序等)因使用了VC所沒有的庫函數(shù),故只能在TC中運行。有一點需要注意:部分程序在TC下可能不需要包含相應的頭文件,而在VC中則需要包含。
3. 例題和源代碼
書中的所有例題和實例都在本書配套資源中提供了源代碼,例題編號與源代碼文件的編號一一對應。比如,例2.1的代碼對應配套資源中的源文件s2_1.c,若該例題有3種解法,則對應的源文件分別是s2_1_1.c、s2_1_2.c、s2_1_3.c。
4. 代碼的書寫格式
(1)對于縮進格式中的大括號位置,書中的代碼采用了國外教材通用的寫法:for(i=1; i<=10; i++) {//左大括號的位置在本行最后
}//右大括號與for對齊而多數(shù)讀者更習慣下面這種寫法:for(i=1; i<=10; i++)
{
}為了照顧部分讀者的習慣,便于調(diào)試程序,我們在配套資源的源代碼中采用了后一種寫法。
。2) 對于注釋,本書多采用“//注釋內(nèi)容”的方式,主要是為了方便書寫;而在配套資源的源代碼中使用“/*注釋內(nèi)容*/”的方式,以便能在TC中運行。
。3) 對于輸出結果中的提示性語言,如:printf("輸出結果是%d\\n",result),書中多使用中文,是為了便于閱讀,但TC本身不支持中文,因此運行時輸出的不是漢字,而是亂碼。這些提示性文字對理解程序影響并不大,讀者若不希望出現(xiàn)這種亂碼,可以先調(diào)用中文DOS再運行TC,或者將其中的漢字改為英文,如改為: printf("The result is %d\\n",result)。
本書第18、19、21章的全部以及第17章的實例12~19、第22章的實例3由肖進杰編寫,其余部分由王金鵬編寫。全書由王金鵬統(tǒng)稿。
在本書編寫過程中,得到了原達教授的熱情指導與大力支持,杜萍、程大鵬兩位老師給了我們很大的幫助并參與了部分內(nèi)容的編寫,石艷榮老師提供了很多有價值的素材,在此一并向以上幾位老師致謝。此外,本書的編寫參考了大量的文獻資料,謹向這些文獻資料的作者表示感謝。
由于時間倉促和編者水平所限,書中難免疏漏和欠妥之處,懇請各位專家、讀者不吝指正。
編者2015年3月
第一篇 基本C語言編程精要
第1章 C語言標準及常用編譯器介紹
1.1 C語言標準介紹
1.1.1經(jīng)典C語言
1.1.2 C89
1.1.3 C99
1.2 Turbo C 2.0編程環(huán)境及常用操作簡介
1.2.1 TC的安裝和配置
1.2.2 TC的調(diào)用
1.2.3 在TC中編輯、運行程序并查看結果
1.2.4 在DOS命令行中運行程序
1.2.5 在TC中調(diào)試程序
1.2.6 多文件程序的創(chuàng)建和運行
1.3 Visual C十十6.0編程環(huán)境及常用操作簡介
1.3.1 工程及源文件的建立
1.3.2 程序的編譯、連接和運行
1.3.3 程序的調(diào)試
習題1
第2章 輸入輸出
2.1 printf()和scanf()的常見問題
2.1.1 printf()函數(shù)
2.1.2 scanf()函數(shù)
2.2 輸入數(shù)據(jù)時的回車換行問題
2.3 輸出時常用的幾個函數(shù)
2 3.1 clrscr()
2.3.2 getch()和getche()
2.4 輸入輸出重定向
習題2
第3章 程序的流程控制
3.1 選擇結構
3.1.1 if語句和if—else語句
3.1.2 嵌套的if語句
3.1.3 if語句常見錯誤
3.1.4 if語句中的短路效應
3.1.5 switch語句
3.1.6 選擇結構程序舉例
3.2 循環(huán)結構
3.2.1 3種循環(huán)語句
3.2.2 計數(shù)器控制循環(huán)和其他條件控制循環(huán)
3.2.3 break和continue
3.2.4 循環(huán)結束時循環(huán)變量的值
3.2.5 循環(huán)舉例
習題3
第4章 數(shù)組與指針
……
第二篇 擴展C編程技術
第三篇 實例解析
附錄A 常用的視頻BIOS調(diào)用
附錄B INT 21H常用功能調(diào)用一覽表
附錄C ASCII碼表
參考文獻