C語言程序設(shè)計(jì)課件:綜合案例設(shè)計(jì)_第1頁
C語言程序設(shè)計(jì)課件:綜合案例設(shè)計(jì)_第2頁
C語言程序設(shè)計(jì)課件:綜合案例設(shè)計(jì)_第3頁
C語言程序設(shè)計(jì)課件:綜合案例設(shè)計(jì)_第4頁
C語言程序設(shè)計(jì)課件:綜合案例設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C語言程序設(shè)計(jì)

綜合案例設(shè)計(jì)13.1鏈表

13.2隊(duì)列

13.3棧

13.4存儲管理

13.5進(jìn)程調(diào)度

13.6簡單計(jì)算器實(shí)現(xiàn)

13.7算數(shù)表達(dá)式求值

13.8迷宮問題

13.9貪吃蛇游戲

13.10黑白棋游戲

13.1鏈表13.2隊(duì)列

13.3棧

棧是限定僅在表的一端進(jìn)行插入或刪除操作的線性表。

插入或刪除尾端稱為棧頂,另一端稱為棧底。

假設(shè)棧中元素按a1,a2,…,an的次序進(jìn)棧,退棧的第一個元素應(yīng)為棧頂元素an。

因此棧又稱為后進(jìn)先出的線性表。13.4存儲管理

13.5進(jìn)程調(diào)度

進(jìn)程管理是分時操作系統(tǒng)的核心算法。

進(jìn)程共有三個狀態(tài):就緒、運(yùn)行和等待。

如果進(jìn)程已具備執(zhí)行條件,但是因?yàn)樘幚頇C(jī)已由其它進(jìn)程占用,暫時不能執(zhí)行而等待分配處理機(jī),稱此種進(jìn)程處于就緒狀態(tài)。

當(dāng)一個進(jìn)程已分配到處理機(jī),它的程序正由處理機(jī)執(zhí)行時,稱此進(jìn)程處于執(zhí)行狀態(tài)。

進(jìn)程因等待某一事件(如等待某一輸入或輸出操作完成)而暫時不能運(yùn)行的狀態(tài)稱為等待狀態(tài)。

當(dāng)進(jìn)程由于時間片到期而被內(nèi)核中斷時,直接進(jìn)入就緒態(tài)狀態(tài)。13.6簡單計(jì)算器實(shí)現(xiàn)

從鍵盤上輸入數(shù)據(jù)進(jìn)行加、減、乘、除四則運(yùn)算(以“a運(yùn)算符b”的形式輸入),判斷輸入的數(shù)據(jù)是否可以進(jìn)行計(jì)算,若能計(jì)算,則輸出計(jì)算結(jié)果。程序代碼如下:#include<stdio.h>voidmain(){floata,b;charc;printf(“請輸入運(yùn)算格式:a+(-,*,/)b\n”);scanf(“%f%c%f”,&a,&c,&b);switch(c){case‘+’:printf(“%f\n”,a+b);break;case‘-‘:printf(“%f\n”,a-b);break;case‘*‘:printf(“%f\n”,a*b);break;case‘/’:if(!b)printf(“除數(shù)不能是零\n”);elseprintf(“%f\n”,a/b);break;default:printf(“輸入有誤!\n”);}}13.7算數(shù)表達(dá)式求值

表達(dá)式求值是程序設(shè)計(jì)語言編譯中的一個最基本問題。

它的實(shí)現(xiàn)是棧應(yīng)用的一個典型例子。

表達(dá)式的普通記法被稱為中綴法,就是操作數(shù)分放在操作符的兩邊。操作數(shù)放在操作符前面的表示方法,稱為前綴表達(dá)式或波蘭表達(dá)式;

操作數(shù)放在操作符后面的表示方法,稱為后綴表達(dá)式或逆波蘭表達(dá)式。棧求值中最常用的是波蘭記法,

例如,7,4,+相當(dāng)于7+4。在波蘭記法中,從左向右,遇到操作符便立即執(zhí)行。

因此,25,7,4,*,+相當(dāng)于25+(7*4)。13.8迷宮問題

走迷宮是實(shí)驗(yàn)心理學(xué)中一個古典問題。

用計(jì)算機(jī)解迷宮路徑的程序,就是仿照人走迷宮而設(shè)計(jì)的,也是對盲人走路的一個機(jī)械模仿。

假設(shè)迷宮是一個矩形,把它分成許多小方格,在每個小方格上或者已筑成墻或者沒有,這就成為一個迷宮。

走迷宮就是從一個小方格沿上、右上、右、右下、下、左下、左和左上八個方向到鄰近的方格,當(dāng)然不能穿墻。設(shè)迷宮的入口是在左上角那個方格,而出口是右下角那個方格。在計(jì)算機(jī)中,迷宮可用一個二維的數(shù)組來表示。若某小方格是墻,則相應(yīng)數(shù)組元素為1,否則為0,表示可走的路。

走迷宮的基本思想是:在當(dāng)前位置上,從上方開始,沿順時針方向依次向八個方向探測前進(jìn)路徑,向探測到的通路方向前進(jìn)一步,如此循環(huán),直到迷宮的"出口",或判斷后宣布這是一個不存在通路的死迷宮。13.9貪吃蛇游戲

貪吃蛇游戲是一個非常經(jīng)典的游戲.

在游戲中,貪吃蛇按用戶所按的方向鍵折行,蛇頭吃到各種食物后蛇身變長,如果貪吃蛇碰上墻壁或者自身的話,游戲結(jié)束。13.10黑白棋游戲

黑白棋是一個古典游戲。棋盤是一個有8×8方格的棋盤。

落子的方法是把自己顏色的棋子放在棋盤的空格上,當(dāng)自己放下的棋子在橫、豎、斜八個方向內(nèi)有一個自己的棋子,則被夾在中間的全部會成為自己的棋子。

只有在可以翻轉(zhuǎn)棋子的地方才可以落子。如果棋盤上沒有地方可以落子,則該對手連下。當(dāng)棋盤下滿時或一方的棋子數(shù)為零時棋局結(jié)束,棋子多的一方獲勝。

本章小結(jié)本章介紹了10個實(shí)訓(xùn)案例程序,其中不僅包括常用數(shù)據(jù)結(jié)構(gòu)的綜合練習(xí),如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論