-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
C語言程序設計案例教程 版權信息
- ISBN:9787568044714
- 條形碼:9787568044714 ; 978-7-5680-4471-4
- 裝幀:書寫紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
C語言程序設計案例教程 本書特色
C語言產生于20世紀70年代,經過40多年的發展,其不斷被完善和標準化,它因靈活、高效、運算符和數據類型豐富、可移植性好、跨平臺性好等特點深受廣大程序愛好者喜愛。C語言既可以編寫系統軟件,又能編寫應用軟件,目前廣泛應用于電子、計算機、通信、人工智能、嵌入式等領域,C語言在市場上處于優越的地位,各大高校也都將C語言作為程序設計的基礎語言。 本教材采用項目驅動、案例教學方法編寫,將一個“校園一卡通”管理系統項目劃分成8個組成部分,每部分都會涉及一些C語言的知識點,每個部分作為一個教學案例放在相應章節作為教學引例,引出本章知識點,章節中詳細介紹案例所需知識點和相關知識點,在教學資源中附有案例源程序代碼。 本書中的源程序運行環境全部采用Visual C++ 6.0。Visual C++ 6.0是一款C++程序開發的編譯器,能夠在目前主流的計算機平臺上安裝,在各類運行C++程序的環境中市場占有率高。該編譯器界面友好,易于操作,運行穩定。 為了方便教學,本書還配有電子課件等教學資源包,任課教師和學生可以登錄“我們愛讀書”網(www.ibook4us.com)免費注冊并瀏覽,或者發郵件至hustpeiit@163.com索取。
C語言程序設計案例教程 內容簡介
本書共分為C語言概述 ; 順序結構 ; 選擇結構 ; 循環結構 ; 數組 ; 函數 ; 指針 ; 結構體 ; 文件九章, 其主要內容包括: 計算機語言 ; C語言及其特點 ; 簡單的C語言程序 ; 運行C語言程序的步驟與方法等。
C語言程序設計案例教程 目錄
1.1計算機語言1
1.2C語言及其特點3
1.3簡單的C語言程序4
1.4運行C語言程序的步驟與方法7
1.5算法12
1.6結構化程序設計方法16
習題1 18
上機練習1 19
第2章順序結構20
2.1數據類型21
2.2常量和變量21
2.3整型數據23
2.4實型數據27
2.5字符型數據29
2.6運算符和表達式32
2.7輸入和輸出函數42
習題2 48
上機練習2 51
第3章選擇結構52
3.1簡單的選擇結構程序53
3.2if語句55
3.3用條件表達式實現選擇結構65
3.4switch語句67
3.5選擇結構程序綜合舉例70
習題3 73
上機練習3 76
第4章循環結構78
4.1循環結構簡介79
4.2while語句80
4.3dowhile語句82
4.4for語句85
4.5goto語句和if語句構成循環結構88
4.6幾種循環的比較89
4.7循環的嵌套89
4.8break語句和continue語句91
4.9循環結構程序綜合舉例93
習題4 99
上機練習4 101
第5章數組102
5.1什么是數組103
5.2一維數組103
5.3二維數組109
5.4字符數組114
習題5 124
上機練習5 127
第6章函數128
6.1什么是函數130
6.2函數的定義131
6.3函數的調用133
6.4函數的嵌套調用135
6.5函數的遞歸調用136
6.6函數應用程序綜合舉例140
6.7變量的作用域和生存期145
習題6 153
上機練習6 157
第7章指針158
7.1指針與指針變量160
7.2指針變量引用數組164
7.3指針變量引用字符串170
7.4指針變量作為函數參數174
習題7 179
上機練習7 183
第8章結構體184
8.1結構體的定義和使用185
8.2結構體數組的定義和使用191
8.3結構體指針193
8.4用指針處理鏈表195
8.5枚舉類型205
習題8 210
上機練習8 214
第9章文件215
9.1C文件概述216
9.2文件指針217
9.3文件的打開與關閉217
9.4文件的讀寫219
9.5文件的隨機讀寫228
9.6文件檢測函數230
9.7C語言庫文件230
習題9 232
上機練習9 239
附錄A 常用字符與ASCII碼對照表241
附錄B C語言中的關鍵字244
附錄C 運算符和結合性245
附錄D C語言常用語法提要247
附錄E C語言常用的庫函數251
C語言程序設計案例教程 節選
第1章C語言概述第1章C語言概述 1.1計算機語言 計算機語言是指用于人類與計算機之間通信的語言。計算機的工作過程主要是執行機器指令的過程,為了能使計算機能夠進行各種工作,就需要有一套指令的集合即程序。程序是為求解某個特定問題而設計的指令序列,程序中的一條指令規定機器完成一組基本操作。 計算機語言的發展是隨著計算機硬件的發展而發展的,其大致可分為兩個階段:低級語言階段和高級語言階段。其中,低級語言階段主要有機器語言和匯編語言,高級語言階段主要有FORTRAN語言、C語言、C++語言和Java語言等。 計算機語言低級語言機器語言 匯編語言 高級語言FORTRAN語言 C語言 C++語言 Java語言 1.機器語言 早期的計算機使用的是機器語言,機器語言是由二進制串組成的,直接操作機器硬件,計算機能夠直接識別和執行。 但其缺點諸多: ● 可讀性差,它的書面形式全是“密碼”,不便于交流和記憶。 ● 程序員編寫程序需要記住全部“密碼”形式的指令系統,編寫程序既難又繁,容易出錯,因而所編出的程序可靠性差,且開發周期長。同時,程序調試和修改難度巨大,不容易掌握和使用。 ● 機器語言直接依賴于中央處理器,所以用某種機器語言編寫的程序只能在相應的計算機上執行,無法在其他型號的計算機上執行,所以可移植性差。 ● 這些弊端造成機器語言難以被人們掌握和使用。 2.匯編語言 為了彌補使用機器語言編程的諸多不足,20世紀50年代初,出現了匯編語言。匯編語言用比較容易識別、記憶的助記符替代特定的二進制串,例如使用ADD 來替代加法的二進制指令,通過這種助記符,人們就能較容易地讀懂程序,調試和維護程序也更方便了。但這些助記符是計算機無法識別的,需要一個專門的程序將其翻譯成機器語言,這種翻譯程序被稱為匯編程序。匯編語言保留機器語言的特點,能夠對機器硬件進行精確控制,占用資源少,程序執行效率高。盡管匯編語言比機器語言方便,但匯編語言仍然具有許多不便之處: ● 程序編寫的效率不高,遠遠不能滿足需要。 ● 匯編語言直接操作硬件,因此匯編語言只針對特定的計算機處理器,幾乎沒有可移植性。 3.高級語言 高級語言與人類的語言相當接近,易懂,可讀性好,而且不依賴于計算機型號,通用性較好,可移植性好。高級語言的使用,大大提高了程序編寫的效率和程序的可讀性。1954年,第1個高級語言FORTRAN問世了,之后陸續出現了許多高級語言,如Basic語言、C語言等,這些語言又被稱為面向過程的高級語言。近年來又出現了一些面向對象的高級語言,如C++語言、Java語言等。 與匯編語言一樣,計算機無法直接識別和執行高級語言,必須翻譯成等價的機器語言程序(稱為目標程序)才能執行。高級語言源程序翻譯成機器語言程序的方法有“解釋”和“編譯”兩種。解釋方法采用邊解釋邊執行的方法。編譯方法采用相應語言的編譯程序,先把源程序編譯成指定機型的機器語言目標程序,然后再把目標程序和各種標準庫函數連接裝配成完整的目標程序,在相應的機型上執行。 1)結構化高級語言 結構化程序設計是一種程序設計的原則和方法。它主要側重對解決問題的方法和過程進行描述,即算法描述,它討論了如何避免使用GOTO語句,如何將大規模、復雜的流程圖轉換成一種標準的形式,使得它們能夠用幾種標準的控制結構(順序、分支和循環)通過重復和嵌套來表示。C語言就是一種結構化語言。一般來說,計算機語言要處理兩個概念——數據和算法(程序=數據+算法)。數據是程序使用和處理的信息,而算法是程序使用的方法。C語言是過程性語言,這意味著它強調的是編程的算法方面。 但是,到了20世紀70年代末期,隨著計算機應用領域的不斷擴大,對軟件技術的要求越來越高,結構化程序設計語言和結構化程序設計方法又無法滿足用戶需求的變化了,其缺點也日益顯露出來: ● 代碼的可重用性差。 ● 可維護性差。 ● 穩定性差。 ● 難以實現編寫大型應用軟件。 2)面向對象的高級語言 結構化程序設計方法與語言是面向過程的,存在較多的缺點,同時程序的執行是流水線式的,在一個模塊被執行完成前,不能干別的事,也無法動態地改變程序的執行方向。這和人們日常認識、處理事物的方式不一致。人們認為客觀世界是由各種各樣的對象(或稱實體、事物)組成的,每個對象都有自己的內部狀態和運動規律,不同對象間的相互聯系和相互作用構成了各種不同的系統,進而構成整個客觀世界;計算機軟件主要就是為了模擬現實世界中的不同系統,如物流系統、銀行系統、圖書管理系統、教學管理系統等。因此,計算機軟件可以認為是,現實世界中相互聯系的對象所組成的系統,在計算機中的模擬實現。 為了使計算機更易于模擬現實世界,1967年挪威科學家開發出了Simula 67語言,它提供了比子程序更高一級的抽象和封裝,引入了數據抽象和類的概念,被認為是第1個面向對象的程序設計語言。它對后來出現的面向對象語言,如C++、Java、C#產生了深遠的影響。 隨著面向對象語言的出現,面向對象程序設計方法也應運而生且得到迅速發展,面向對象的思想也不斷向其他方面滲透。1980年Grady Booch提出了面向對象設計的概念,之后面向對象分析的概念也被提出。面向對象程序設計在軟件開發領域掀起了巨大的變革,極大地提高了軟件開發效率。 程序語言越低級,對過程的描述越具體,指令也就越接近機器的硬件邏輯。相反,程序語言越高級,就越接近對問題的描述與表達,因而更直觀,更容易被人們所理解。 1.2C語言及其特點 1.2.1C語言的發展過程 C語言初的原型是ALGOL 60語言,1963年,劍橋大學將ALGOL 60語言發展成為CPL(combined programming language)語言。1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,由此產生了BCPL語言。1970年,美國貝爾實驗室的Ken Thompson對BCPL進行了修改,并取名為“B語言”,他用B語言寫了第1個UNIX操作系統。1973年,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,就是C語言。1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行非常廣泛的高級程序設計語言。1988年,隨著微型計算機的日益普及,出現了許多C語言版本。沒有統一的標準,使得這些C語言之間出現了一些不一致的地方。為了改變這種狀況,美國國家標準學會ANSI為C語言制定了一套ANSI標準,成為現行的C語言標準。 早期的C語言主要用于UNIX系統。由于C語言的強大功能和各方面的優點逐漸為人們所認識,到了19世紀80年代,C語言開始進入其他操作系統,并很快在各類大、中、小和微型計算機上廣泛使用。 1.2.2C語言的特點 C語言能夠發展迅速,并且成為受歡迎的語言之一,主要因為它具有強大的功能。C語言具有豐富的數據類型,并引入了指針概念,可直接操作內存,程序的執行速度快而且高效;此外,C語言運算符豐富,能夠進行各種運算等。C語言的特點歸納如下: (1)C語言簡潔、緊湊,使用方便、靈活。ANSI C一共有32個關鍵字: autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedstaticsizeofstructswitchtypedefunionunsignedvoidvolatilewhile注意:在C語言中,關鍵字都是小寫的。(2)運算符豐富,共34種。C語言把括號、賦值、逗號等都作為運算符處理,從而使C語言的運算類型極為豐富,可以實現其他高級語言難以實現的運算。C語言運算符見附錄C。 (3)數據類型豐富。C語言的數據類型有整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等,能實現各種復雜的數據類型運算。C語言引入了指針概念,使程序效率更高。另外,C語言具有強大的圖形功能,支持多種顯示器和驅動器,且計算功能、邏輯判斷功能強大。 (4)具有結構化的控制語句。C語言中有9種控制語句,程序書寫自由,主要用小寫字母表示,壓縮了一切不必要的成分。 (5)語法限制不太嚴格,程序設計自由度大。一般的高級語言語法檢查比較嚴格,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。 (6)C語言允許直接訪問物理地址,能進行位(bit)操作,可以直接對硬件進行操作,能實現匯編語言的大部分功能。因為C語言既具有高級語言的特點,又具有低級語言的許多功能,所以有人把它稱為高級語言中的低級語言。 (7)生成目標代碼質量高,程序執行效率高。 (8)使用C語言編寫的程序可移植性好。 (9)C語言有一個突出的優點,就是適合于多種操作系統,如DOS、UNIX,且適用于多種機型。 1.3簡單的C語言程序 為了說明C語言源程序結構的特點,先看以下兩個程序。這兩個程序由簡到難,表現了C語言源程序在組成結構上的特點。雖然有關內容還未介紹,但可從這些例子中了解到組成一個C語言源程序的基本部分和書寫格式。 例1.1簡單的信息輸出。 #include int main()/*主函數*/ { printf("Hello C!\\n");/*輸出信息*/ return 0; } 運行結果: Hello C! 說明: ● main是主函數名,是程序執行的開始處,每一個C語言源程序都必須有且只能有一個主函數main。 ● printf函數的功能是把要輸出的內容送到顯示器上顯示輸出。printf函數是一個由系統定義的標準函數,可在程序中直接調用。 ● #include:include稱為文件包含命令,擴展名為.h的文件稱為頭文件,本句功能是將文件“stdio.h”包含到當前程序中來,目的是想使用其中的一些函數,如printf函數。 例1.2求兩個數的大值。 #include void main()/*主函數*/ { int x,y,z;/*變量說明*/ int max(int a,int b);/*函數原形聲明*/ printf("input two numbers:\\n"); scanf("%d%d",&x,&y);/*輸入x,y值*/ z=max(x,y);/*調用max函數*/ printf("maxmum=%d\\n",z);/*輸出結果*/ } int max(int a,int b)/*定義max函數*/ { if(a>b) return a; else return b;/*把結果返回主調函數*/ } 運行結果: input two numbers: 35↙ maxmum=5 例1.2所示程序的功能是由用戶輸入兩個整數,程序執行后輸出其中較大的數。 例1.2中程序的執行過程是:首先在屏幕上顯示提示信息,請用戶輸入兩個數,回車后由scanf函數語句接收這兩個數并送入變量x,y中;然后調用max函數,并把x,y的值傳送給max函數的參數a,b,在max函數中比較a,b的大小,把大者返回給主函數的變量z;后在屏幕上輸出z的值。 說明: ● 本程序由兩個函數組成,即主函數和max函數。 ● 函數之間是并列關系。可從主函數中調用其他函數。max 函數的功能是比較兩個數,然后把較大的數返回給主函數。 ● max函數是一個用戶自定義函數,因此在主函數中要給出函數原形聲明。可見,在程序的說明部分中,不僅可以有變量說明,還可以有函數說明。關于函數的詳細內容將在后面的章節中介紹。 ● 在程序的每行后用/*和*/括起來的內容為注釋部分,程序不執行注釋部分。 1.3.1C語言程序的構成 (1)一個C語言源程序可以由一個或多個源文件組成。 (2)每個源文件可由一個或多個函數組成。 (3)一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。 (4)一個函數由兩部分構成:函數首部和函數體。 函數首部即函數的第1行,包括函數名、函數類型、函數參數(形式參數)名和參數類型。例如: int max(int a,int b) 一個函數也可以沒有形式參數,例如: int main( ) 函數體是在函數頭部后面用一對大括號括起來的部分。函數體一般包括聲明部分和執行部分。聲明部分是對有關變量和函數的聲明,例如: int x,y,z; int max(int a,int b); 執行部分是一些C語言的執行語句,例如: printf("input two numbers:\\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d",z); 一些特殊的函數可以沒有函數體,例如: void fun( ){} 這是一個空函數,什么也不做,有時在編寫程序時暫時沒想好如何實現函數的功能,可以先寫一個空函數,待以后進行擴充。 ● 源程序中可以有預處理命令“#include”,預處理命令通常應放在源文件或源程序的前面。 ● C語言中每一個語句都必須以分號結尾。但預處理命令、函數首部和花括號“}”之后不能加分號。 ● C語言中沒有輸入、輸出語句,它的輸入、輸出操作是由庫函數scanf和printf等函數實現的。
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
龍榆生:詞曲概論/大家小書
- >
山海經
- >
有舍有得是人生
- >
【精裝繪本】畫給孩子的中國神話
- >
李白與唐代文化
- >
月亮虎
- >
月亮與六便士