版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 交互式程序設(shè)計(jì),內(nèi)容簡(jiǎn)介,程序設(shè)計(jì)的目標(biāo)及原則 交互式C語(yǔ)言的編程環(huán)境 交互式C語(yǔ)言的學(xué)習(xí)(參照標(biāo)準(zhǔn)C),程序設(shè)計(jì),軟件項(xiàng)目開發(fā)的目標(biāo) 在給定成本、進(jìn)度的前提下,開發(fā)出具有: 正確性、可靠性、有效性、 可理解性、可修改性、可維護(hù)性、可移植性、 可重用性和可追蹤性 的軟件產(chǎn)品,1.關(guān)于軟件的運(yùn)行特征,正確性:軟件滿足規(guī)格說(shuō)明及完成用戶目標(biāo)的程度 可靠性:在給定時(shí)間間隔內(nèi),軟件成功運(yùn)行的概率 有效性:軟件的時(shí)空效率 完整性:控制未被授權(quán)人員訪問程序和數(shù)據(jù)的程度 可用性:使用軟件的難易程度,2.關(guān)于軟件承受修改的能力,可理解性:結(jié)構(gòu)清晰,直接反映問題需求,易理解 可維護(hù)性:軟件交付使用后進(jìn)行
2、修改的難易程度 靈活性:改變軟件的功能或行為所需的工作量,3.關(guān)于軟件對(duì)新環(huán)境的適應(yīng)能力,可移植性:軟件從一個(gè)環(huán)境移到另一個(gè)的難易程度 可重用性:軟件可以在多種場(chǎng)合應(yīng)用的程度 可互操作性:多個(gè)軟件交換信息并相互使用已交換信息的能力,程序設(shè)計(jì)規(guī)則:,統(tǒng)一的、有意義的變量命名與函數(shù)命名方法 統(tǒng)一的編碼風(fēng)格與格式 統(tǒng)一的、準(zhǔn)確的、完整的程序注解 變量與函數(shù)的作用域盡量小 盡量采用簡(jiǎn)單的算法,算法,冒泡算法(例題1)與快速排序算法(例題2),交互式c語(yǔ)言編程環(huán)境,JC由兩部分組成:編譯環(huán)境(包含交互式命令行編輯和調(diào)試功能)、能力風(fēng)暴操作系統(tǒng)。 JC 語(yǔ)句交互運(yùn)行方式,可以不用編寫完整程序,在機(jī)器人上直
3、接運(yùn)行一條或多條JC 語(yǔ)句,觀察執(zhí)行結(jié)果。此功能可用于快速學(xué)習(xí)JC 語(yǔ)言,同時(shí)這也是強(qiáng)大的調(diào)試手段,可以在機(jī)器人運(yùn)行時(shí)調(diào)試程序。,交互式c語(yǔ)言編程環(huán)境,在JC 代碼編輯界面中可以看到,交互信息窗口上方有一行編輯框,是JC 語(yǔ)句的交互輸入?yún)^(qū)。在JC 語(yǔ)句輸入?yún)^(qū)可以直接輸入JC 語(yǔ)句和調(diào)用庫(kù)函數(shù),語(yǔ)句數(shù)量不限。輸入好后敲一下回車鍵,連接好串口通信線,打開機(jī)器人電源開關(guān), VJC 會(huì)把語(yǔ)句編譯后下載到機(jī)器人上立即運(yùn)行。運(yùn)行結(jié)果會(huì)在交互信息窗口中顯示,如果輸入語(yǔ)句有語(yǔ)法錯(cuò)誤,也會(huì)顯示出來(lái)。,例1:輸入beep(),并回車。機(jī)器人馬上執(zhí)行這一語(yǔ)句,響一聲,在交互信息窗口顯示出運(yùn)行結(jié)果。本例中顯示:表示b
4、eep()無(wú)返回值。,例2:輸入photo(1),并回車。photo(1)是檢測(cè)左光敏的值,本例機(jī)器人返回?cái)?shù)值 203,說(shuō)明這一時(shí)刻左光敏傳感器檢測(cè)到的光強(qiáng)值是203。,例3:輸入int p=0; p=photo(1); printf(%dn,p);并回車。這個(gè)例子稍復(fù)雜點(diǎn),執(zhí)行3 條JC 語(yǔ)句,最后機(jī)器人在LCD 上顯示出檢測(cè)到的光強(qiáng)值。,JC的編譯,編譯方式:不直接編譯生成針對(duì)特定處理器的機(jī)器代碼,而是先編譯生成基于堆棧虛擬機(jī)的偽代碼,然后由能力風(fēng)暴操作系統(tǒng)解釋執(zhí)行。 這種編譯方式的優(yōu)點(diǎn)是: 解釋執(zhí)行:允許檢查運(yùn)行錯(cuò)誤。例如:JC在運(yùn)行時(shí),數(shù)組下標(biāo)的檢查。,設(shè)計(jì)方便:一方面為一個(gè)堆棧編寫編
5、譯器比為特定處理器編寫編譯器更容易;另一方面因?yàn)镴C偽代碼與機(jī)器硬件無(wú)關(guān),所以從一種機(jī)器移植到另一種機(jī)器上,只需重寫操作系統(tǒng)解釋模塊,而不是重寫編譯器。 代碼更精簡(jiǎn):偽代碼比機(jī)器代碼更簡(jiǎn)短。,JC的編譯,JC的編譯,便于多任務(wù)設(shè)置:由于偽代碼是完全基于堆棧的,進(jìn)程狀態(tài)完全由它的堆棧和程序計(jì)數(shù)器所決定。因此只需要裝載新的堆棧指針和程序計(jì)數(shù)器就可以方便地實(shí)現(xiàn)任務(wù)切換。任務(wù)切換由操作系統(tǒng)處理,而不是編譯器。 但上述優(yōu)點(diǎn)的代價(jià)是犧牲了一部分的執(zhí)行速度,JC 語(yǔ)言的學(xué)習(xí)(參照標(biāo)準(zhǔn) C),C 語(yǔ)言的復(fù)習(xí)內(nèi)容: 1、函數(shù) 2、條件判斷語(yǔ)句:if 、 if else 、 if else if 3、while
6、、 for 、 break 和 continue 4、局部變量和全局變量 5、數(shù)組與指針 6、位運(yùn)算,JC 語(yǔ)言的學(xué)習(xí),函數(shù) 一個(gè)C程序可由一個(gè)主函數(shù)和若干個(gè)函數(shù)構(gòu)成。由主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意多次。 函數(shù)調(diào)用(例題3)函數(shù)遞歸調(diào)用(例題4),void main() int i; for(i=0 ; i4 ; i+) drive( 80 , 0 ); wait( 0.500000 ); stop(); drive( 0 , 80 ); wait( 0.100000 ); stop(); ,void main() int b; b = s
7、ound(10); printf(“%dn”,b); int sound(int n) int i; for(i=0;in;i+) beep(); return(micphone(); ,JC 語(yǔ)言的學(xué)習(xí),代碼調(diào)用了sound 函數(shù),讓機(jī)器人叫10 下,并將sound(10)的返回值在機(jī)器人液晶屏上顯示出來(lái)。,JC 語(yǔ)言的學(xué)習(xí),變量的定義、作用域范圍(參見) ; 例:int a; 定義了一個(gè)整型變量a。 或 =; 例:float P=1.5; 定義了一個(gè)浮點(diǎn)型變量P,并初始化為1.5。,JC 語(yǔ)言的學(xué)習(xí),變量的初始化(P) 局部變量和全局變量可在定義時(shí)初始化。若不給出初始值,變量初始化為零。
8、所有的全局變量必須初始化為常量。局部變量可被初始化為任意表達(dá)式的值,包括任意的全局變量、函數(shù)調(diào)用、函數(shù)參數(shù)或已初始化的局部變量。,JC 語(yǔ)言的學(xué)習(xí),在JC中,可為整型(int)、長(zhǎng)整型(long)、浮點(diǎn)數(shù)型(float)、字符型(char)或指針類型,它決定所定義變量的存儲(chǔ)方式和運(yùn)算方法 在定義指針和數(shù)組時(shí),形式會(huì)有所改變,這將在后面說(shuō)明。,JC 語(yǔ)言的學(xué)習(xí),任何時(shí)候只要運(yùn)行函數(shù),該函數(shù)中包含的局部變量將被初始化。 任何時(shí)候只要復(fù)位情況出現(xiàn),全局變量將會(huì)初始化。復(fù)位情況包括: 代碼下載; 主程序main()運(yùn)行; 系統(tǒng)硬件復(fù)位(按能力風(fēng)暴上的復(fù)位按鈕或打開電源開關(guān)時(shí))。,JC 語(yǔ)言的學(xué)習(xí),常量
9、:程序運(yùn)行過(guò)程,其值不能被改變的量稱為常量。(P10) a) 整型常量 整型常量可定義為十進(jìn)制形式、使用0 x前綴的十六進(jìn)制形式、使用“0b”前綴的二進(jìn)制形式、但不支持使用零前綴的八進(jìn)制常量。 b) 長(zhǎng)整型常量 通過(guò)在十進(jìn)制整數(shù)后加上后綴“ L ” ,可創(chuàng)建長(zhǎng)整型常量。例如,0L是長(zhǎng)整型的零。,JC 語(yǔ)言的學(xué)習(xí),c) 浮點(diǎn)數(shù)型常量 浮點(diǎn)數(shù)可使用科學(xué)計(jì)數(shù)法 (例, “ 10e3” 或“10E3”) 或用小數(shù)點(diǎn)分段。例如,浮點(diǎn)數(shù)零可以“0.”,“0.0”或“0E1”的形式給出,而不能僅僅用“0”。由于能力風(fēng)暴智能機(jī)器人無(wú)浮點(diǎn)運(yùn)算硬件,浮點(diǎn)運(yùn)算將比整型運(yùn)算慢,要節(jié)省地使用浮點(diǎn)運(yùn)算。 d) 字符型與字
10、符串型常量 單引號(hào)括起的字符型常量的值是其 ASCII 碼值 。字符串型常量用成對(duì)的雙引號(hào)定義。,e) NULL NULL是一個(gè)特殊常量,NULL具有零值,可對(duì)指針或數(shù)組變量賦值,或進(jìn)行比較。通常,其它常量是不能轉(zhuǎn)成指針類型,所以很多情況下要用到NULL。 例如,為檢查指針是否已初始化,需要將其與NULL進(jìn)行比較,避免試圖對(duì)空指針讀寫。 又如,在一個(gè)鏈表結(jié)構(gòu)中,每個(gè)元素包含一個(gè)數(shù)值和指向下一個(gè)元素的指針,為了找到鏈表的結(jié)尾,就需將指向下一個(gè)元素的指針與NULL進(jìn)行比較。,JC 語(yǔ)言的學(xué)習(xí),數(shù)據(jù)類型(P10) JC支持以下的數(shù)據(jù)類型: 16位整型 16位整型由int類型標(biāo)識(shí)符表示。其取值范圍從-
11、32,768到+32,767(十進(jìn)制數(shù))。 32位整型 32位整型由long類型標(biāo)識(shí)符表示。其取值范圍從-2,147,483,648到+2,147,483,647(十進(jìn)制數(shù))。,JC 語(yǔ)言的學(xué)習(xí),32位浮點(diǎn)型 32位浮點(diǎn)型由float類型標(biāo)識(shí)符表示。約有七位有效數(shù)字,其范圍從10-38到1038。 8位字符型 8位字符型是由char類型標(biāo)識(shí)符表示,字符的取值一般是標(biāo)準(zhǔn)ASCII字符集中的可打印字符,但不是絕對(duì)的。字符型變量可表示任意的8位整數(shù)。,C語(yǔ)言回顧:數(shù)組與指針,數(shù)組:數(shù)組是有序數(shù)據(jù)的集合,是一組相關(guān)的存儲(chǔ)單元,這些存儲(chǔ)單元具有相同的名字和數(shù)據(jù)類型。通過(guò)一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來(lái)唯一地確定
12、數(shù)組中的元素。 例:int n =1,2,3,4,5,6 例題5(P14),6,C語(yǔ)言回顧:數(shù)組,數(shù)組元素可以作為函數(shù)實(shí)參,其用法與變量相同。 數(shù)組名也可以作為函數(shù)實(shí)參,傳遞的是數(shù)組首地址,而不是其中的一個(gè)元素,所以用數(shù)組名做函數(shù)參數(shù),實(shí)參和形參都應(yīng)用數(shù)組名。,C語(yǔ)言回顧:數(shù)組,JC中數(shù)組不能變?yōu)橹羔?,也不可以進(jìn)行指針運(yùn)算。 數(shù)組名作為參數(shù)傳遞,如果函數(shù)修改了作為參數(shù)的數(shù)組,則原數(shù)組亦被修改,這是因?yàn)樵趦?nèi)存中只有數(shù)組的一個(gè)實(shí)例。,C語(yǔ)言回顧:數(shù)組,在標(biāo)準(zhǔn)中,有兩種途徑來(lái)聲明一個(gè)數(shù)組型參數(shù):數(shù)組或數(shù)組元素類型的指針。在JC中數(shù)組指針與一個(gè)數(shù)組元素的指針是不兼容的,因此參數(shù)只能聲明為數(shù)組。 當(dāng)傳遞
13、一個(gè)數(shù)組變量給一個(gè)函數(shù)時(shí),實(shí)際上是傳遞了數(shù)組首地址的值而不是其中的一個(gè)元素,所以不用方括號(hào)。 例題7 ,數(shù)組元素作為函數(shù)參數(shù)。 (例題6,全局變量增加函數(shù)間數(shù)據(jù)聯(lián)系的渠道、數(shù)組名作為函數(shù)參數(shù)),C語(yǔ)言回顧:指針,指針是C語(yǔ)言中的一個(gè)重要的概念,也是C語(yǔ)言的一個(gè)重要特色。 正確而靈活的運(yùn)用指針,可以有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);能動(dòng)態(tài)分配內(nèi)存;能方便的使用字符串;有效而方便地使用數(shù)組;在調(diào)用函數(shù)時(shí)能得到多于1個(gè)的值;能直接處理內(nèi)存地址等,這對(duì)設(shè)計(jì)系統(tǒng)軟件是很必要的。,指針詳述,指針:一個(gè)變量的地址稱為指針。 指針變量:存放變量地址的變量稱為指針變量。 int a=100,b=10 int *i_1,
14、*i_2 i_1= int *p; a=7; p= ,運(yùn)行程序,當(dāng) f(a); Void f(int n) n=n+2; 問題:運(yùn)行以下程序,a、n的值各為多少? 傳值調(diào)用還是傳引用調(diào)用?,10,a,copy,n,10+2=12,傳值調(diào)用與傳引用調(diào)用(三),例: int b=10; f( 問題:運(yùn)行以下程序,b的值為多少? 傳值調(diào)用還是傳引用調(diào)用?,傳值調(diào)用與傳引用調(diào)用,例題9,2個(gè)輸入的整數(shù)按大小順序輸出。 例題10,3個(gè)輸入的整數(shù)按大小順序輸出。,JC中的指針,對(duì)給定類型對(duì)象的指針定義,類似于一般對(duì)象的類型定義,只是在變量名前加上*。 存取指針指向的變量的值需在表達(dá)式前加上* 操作符以計(jì)算
15、指針值。該操作稱為“間接引用”。在變量、數(shù)組元素前加上/*定義一個(gè)長(zhǎng)整型變量X*/ long *pW;/pW是一個(gè)指針變量, *pW是pW所指的對(duì)象*/ X=50L; *pW=50L; 第一條語(yǔ)句是有效的:它將x的值設(shè)為50L。第二條語(yǔ)句不正確,pW還沒有正確初始化,該語(yǔ)句會(huì)破壞內(nèi)存。,JC中的指針,使用給定類型變量與給定類型變量的指針有兩個(gè)主要的區(qū)別: (1) 存儲(chǔ)空間分配 定義某一類型的對(duì)象(如長(zhǎng)整型的x)意味著分配存儲(chǔ)變量所需的內(nèi)存空間。由于JC中長(zhǎng)整型數(shù)在內(nèi)存中占四個(gè)字節(jié),所以x占了四個(gè)字節(jié)。然而,像pW這樣的指針不需要占用與所指對(duì)象一樣的字節(jié)數(shù)。所以使用指針可以節(jié)省內(nèi)存空間。,JC中
16、的指針,(2) 初始值 即使未初始化,引用指針以外的變量通常是安全的。但在安全使用指針之前必須賦給合法的地址值,否則可能產(chǎn)生錯(cuò)誤。,int X=50; int *Xptr; Xptr=,50,100,200,JC中的指針,下例定義了一個(gè)檢測(cè)光線亮度的函數(shù)getlight,參數(shù)為一整型指針 maxlight。該函數(shù)比較檢測(cè)到的亮度值和傳遞進(jìn)來(lái)的歷史上最亮的亮度值,并把最亮的值存在指針?biāo)傅淖兞?多次調(diào)用該函數(shù)后,變量*maxlight里保存的就是多次檢測(cè)結(jié)果中最亮的值。,int getlight(int *maxlight) int light= 0; /*定義一個(gè)整型變量light*/ lig
17、ht = photo(1); /*將左光敏檢測(cè)值存在light*/ if(light *maxlight) * maxlight = light; /* 光敏檢測(cè)值小代表亮*/ return light; /*函數(shù)getlight返回左光敏檢測(cè)值*/ ,JC中的指針,指向函數(shù)的指針。函數(shù)名代表該函數(shù)的入口地址??梢杂靡粋€(gè)指針變量指向函數(shù),然后通過(guò)該指針變量調(diào)用此函數(shù)。 一般定義形式: 數(shù)據(jù)類型 (*指針變量名)(函數(shù)參數(shù)列表) (例題3,改寫。) 返回指針值的函數(shù) 一般定義形式:類型名 *函數(shù)名(函數(shù)參數(shù)列表),JC中的指針,int left, right, other; int *dirpt
18、r(int dir) /* dirptr 是函數(shù),返回值是指針 */ if(dir=1) return( ,JC 語(yǔ)言的學(xué)習(xí),支持大部分標(biāo)準(zhǔn)C語(yǔ)言的控制語(yǔ)句,如IF ELSE、WHILE、FOR、BREAK,但不支持SWICH控制語(yǔ)句。 屏幕顯示、格式化字符匯總、注意事項(xiàng)(P19) int a,b; printf(A=%x B=%xn, a, b);,格式化字符匯總 %d:輸出類型:int 描述:十進(jìn)制整數(shù) %x:輸出類型:int 描述:十六進(jìn)制整數(shù) %b:輸出類型:int 描述:低位字節(jié)為二進(jìn)制數(shù) %c:輸出類型:int 描述:低位字節(jié)為ASCII字符 %f:輸出類型:float 描述:浮點(diǎn)
19、數(shù) %s:輸出類型:char 描述:字符數(shù)組(字符串),JC 語(yǔ)言的學(xué)習(xí),注意事項(xiàng) a) LCD液晶屏幕上的最右下字符位置被作為系統(tǒng)的狀態(tài)指示。當(dāng)能力風(fēng)暴操作系統(tǒng)運(yùn)行正常時(shí),該處的太極字符持續(xù)閃爍。若停止閃爍,則說(shuō)明能力風(fēng)暴操作系統(tǒng)運(yùn)行出錯(cuò)。這時(shí)需更新操作系統(tǒng)。 b) 若顯示字符超出31個(gè),則被截?cái)?,超出部分不顯示。,JC 語(yǔ)言的學(xué)習(xí),c) 顯示字符長(zhǎng)度大于16時(shí),長(zhǎng)出部分折到下一行顯示。 d) 目前不支持長(zhǎng)整數(shù)(32位)輸出。 e) 如果顯示格式化字符與顯示類型不匹配,會(huì)有意外錯(cuò)誤。,C語(yǔ)言的位運(yùn)算,位運(yùn)算是指按二進(jìn)制進(jìn)行的運(yùn)算。ba;ab;,:按位異或, 執(zhí)行前兩個(gè)賦值語(yǔ)句:和相當(dāng)于b=b
20、(ab)。bb=0,a0=a,最終值為a。 再執(zhí)行第三個(gè)賦值語(yǔ)句: 。由于a的值等于(),b的值等于(), 因此,相當(dāng)于a=,即a的值等于,等于。,:按位取反,一元運(yùn)算符,用于求整數(shù)的二進(jìn)制反碼,即分別將操作數(shù)各二進(jìn)制位上的1變?yōu)?,0變?yōu)?。, 左移,用來(lái)將一個(gè)數(shù)的各二進(jìn)制位左移若干位,移動(dòng)的位數(shù)由右操作數(shù)指定(右操作數(shù)必須是非負(fù)值),其右邊空出的位用0填補(bǔ),高位左移溢出則舍棄該高位。 左移1位相當(dāng)于該數(shù)乘以2,左移n位相當(dāng)于該數(shù)乘以2n,(152=60。但此結(jié)論只適用于該數(shù)左移時(shí)被溢出舍棄的高位中不包含1的情況。, 右移,用來(lái)將一個(gè)數(shù)的各二進(jìn)制位右移若干位,移動(dòng)的位數(shù)由右操作數(shù)指定。右移n
21、位,相當(dāng)于除以2n 。 無(wú)符號(hào)數(shù)(有符號(hào)數(shù)的正數(shù)),右移時(shí)左邊高位移入0。 有符號(hào)數(shù)的負(fù)數(shù),移入0的為邏輯右移,移入 1的 為算術(shù)右移。,JC的庫(kù)函數(shù),JC的庫(kù)函數(shù),JC中的多任務(wù),JC 的一個(gè)強(qiáng)大的功能是支持多任務(wù)。在用戶程序運(yùn)行期間,進(jìn)程可以動(dòng)態(tài)地建立和撤消,一個(gè)進(jìn)程就是一個(gè)獨(dú)立運(yùn)行的任務(wù)。 任何函數(shù)都可以作為一個(gè)獨(dú)立的進(jìn)程使用。可以創(chuàng)建多個(gè)進(jìn)程運(yùn)行同一段代碼(如調(diào)用同一個(gè)函數(shù)),在每個(gè)進(jìn)程中此代碼都有對(duì)應(yīng)的局部變量。,進(jìn)程通過(guò)全局變量進(jìn)行通訊:在一個(gè)進(jìn)程中給全局變量賦值,在另外一個(gè)進(jìn)程中可以讀這個(gè)全局變量的值。 多個(gè)進(jìn)程運(yùn)行是通過(guò)分配時(shí)間片實(shí)現(xiàn)的。每個(gè)進(jìn)程一次只執(zhí)行一定數(shù)量的時(shí)間片(以毫
22、秒為單位)。這個(gè)值在每個(gè)進(jìn)程創(chuàng)建時(shí)確定。缺省的片數(shù)為,因此,在一個(gè)“輪次”中,一個(gè)進(jìn)程將運(yùn)行毫秒,然后交給下一個(gè)進(jìn)程運(yùn)行。所有的進(jìn)程依次放在一個(gè)進(jìn)程表中,系統(tǒng)從頭到尾每輪一遍進(jìn)程表,每個(gè)進(jìn)程都運(yùn)行一次(運(yùn)行時(shí)間對(duì)應(yīng)于各自的時(shí)間片長(zhǎng)度)。,JC中的多任務(wù),每個(gè)進(jìn)程都有自己的棧,用于函數(shù)調(diào)用傳遞參數(shù),存放局部變量,存放函數(shù)調(diào)用的返回地址。棧的大小在進(jìn)程創(chuàng)建時(shí)確定。一個(gè)進(jìn)程棧的缺省大小為256 字節(jié)。,進(jìn)程的創(chuàng)建、撤消(P27-28 、 P53) int start_process(function-call( ),ticks,stack-size) 是 創(chuàng) 建 進(jìn)程函數(shù), 可以用來(lái)創(chuàng)建新進(jìn)程。st
23、ar_process 取得一個(gè)進(jìn)程標(biāo)識(shí),function-call(.)是進(jìn)程函數(shù)。創(chuàng)建進(jìn)程有兩個(gè)可選參數(shù):進(jìn)程的時(shí)間片數(shù)TICKS和棧大小STACK-SIZE。如果只給定一個(gè)參數(shù),它被認(rèn)為是時(shí)間片數(shù),棧的大小為缺省值。start_process 返回一個(gè)整數(shù),它就是新進(jìn)程的進(jìn)程標(biāo)識(shí)ID。,用 start_process 函數(shù)加上可選參數(shù),可以很方便地創(chuàng)建一個(gè)非缺省時(shí)間片數(shù)和非缺省棧大小的進(jìn)程,例如: start_process(check_sensor(2), 1, 50); 將創(chuàng)建一個(gè) check_sensor 進(jìn)程,它每次運(yùn)行毫秒,棧大小為50 個(gè)字節(jié)(此處check_sensor 使用較小的棧更有效)。,void check_sensor(int n) /*定義進(jìn)程函數(shù),檢測(cè)和顯示模擬口n的值*/ while (1) printf(Sensor %d is %dn, n, analogport(n); wait(0.1); void main() start_process(check_sensor(2); /*創(chuàng)建進(jìn)程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 賈生名誼文言文詳解課件
- 2026年電氣節(jié)能技術(shù)的市場(chǎng)競(jìng)爭(zhēng)力與經(jīng)濟(jì)效益評(píng)估
- 2026春招:新媒體筆試題及答案
- 2026年電氣設(shè)備的選型與安全評(píng)估
- 貨運(yùn)交通安全
- 醫(yī)療人員職業(yè)素養(yǎng)與職業(yè)規(guī)劃
- 護(hù)理教育與護(hù)理人文關(guān)懷
- 貨梯安全培訓(xùn)考核內(nèi)容
- 醫(yī)療護(hù)理禮儀在醫(yī)患關(guān)系中的意義
- 醫(yī)療行業(yè)品牌推廣與營(yíng)銷
- 2025年電子工程師年度工作總結(jié)
- 2026年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)考試題庫(kù)500道及完整答案(各地真題)
- 2026年電信運(yùn)營(yíng)商物資管理崗位面試題
- 2025年高職會(huì)計(jì)(成本核算)試題及答案
- 蟲鼠害培訓(xùn)課件
- 2025學(xué)年上海市七年級(jí)語(yǔ)文上冊(cè)作文題目匯編及解析
- 2026年河南經(jīng)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案詳解
- ai寫作與公文寫作培訓(xùn)課件
- 欄桿安裝施工方案示例
- JJF 2333-2025 恒溫金屬浴校準(zhǔn)規(guī)范
- 2025年水工金屬結(jié)構(gòu)行業(yè)分析報(bào)告及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)
評(píng)論
0/150
提交評(píng)論