




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)應(yīng)用技術(shù) (C語(yǔ)言版)第4章 C51程序設(shè)計(jì)入門(mén)7/27/20221第4章 單片機(jī)C語(yǔ)言及程序設(shè)計(jì)4.1 C51的基本數(shù)據(jù)類(lèi)型4.2 C51變量的存儲(chǔ)區(qū)域4.3 C51的運(yùn)算符4.4 數(shù)組4.5 指針4.6 結(jié)構(gòu)4.7 C51程序設(shè)計(jì)4.8 函數(shù)的定義與調(diào)用目錄7/27/20222 本章內(nèi)容完全是結(jié)合單片機(jī)來(lái)講解,也就是補(bǔ)充C語(yǔ)言在單片機(jī)方面的概念、數(shù)據(jù)定義和函數(shù)定義等。通過(guò)本章學(xué)習(xí),使讀者能夠比較順利地編寫(xiě)C51程序。 7/27/20223 “C51”概念:把“單片機(jī)C語(yǔ)言”稱(chēng)為“C51”,也稱(chēng)為“Keil C”。 用C51編寫(xiě)單片機(jī)程序,與用ANSI C編寫(xiě)程序的不同之處是,需要根據(jù)
2、單片機(jī)存儲(chǔ)器結(jié)構(gòu)及內(nèi)部資源,定義相應(yīng)的數(shù)據(jù)類(lèi)型和變量。 其它的語(yǔ)法規(guī)定、程序結(jié)構(gòu)及程序設(shè)計(jì)方法,都與ANSI C相同。1、 C51概述7/27/202242、 C語(yǔ)言編程的優(yōu)勢(shì)在編程方面,使用C51較匯編語(yǔ)言有諸多優(yōu)勢(shì):1)編程容易 2)容易實(shí)現(xiàn)復(fù)雜的數(shù)值計(jì)算3)容易閱讀與交流4)容易調(diào)試與維護(hù)程序5)容易實(shí)現(xiàn)模塊化開(kāi)發(fā) 6)程序可移植性好 7/27/20225用匯編語(yǔ)言編寫(xiě)程序時(shí),必須考慮其存儲(chǔ)器的結(jié)構(gòu),尤其要考慮其片內(nèi)數(shù)據(jù)存儲(chǔ)器、特殊功能寄存器是否正確合理的使用,以及按照實(shí)際地址端口數(shù)據(jù)的處理。7/27/202263、 C51擴(kuò)展的關(guān)鍵字由于單片機(jī)在結(jié)構(gòu)及編程上的特殊要求,C51有自己的特
3、殊關(guān)鍵字,稱(chēng)之為C51擴(kuò)展的關(guān)鍵字,下面給出常用的C51擴(kuò)展的關(guān)鍵字。_at_bdata bit codedataidata interruptpdatareentrant sbitsfrsfr16xdata這些關(guān)鍵字在后面會(huì)陸續(xù)接觸到,此處先不給出它們的含義。 7/27/202274.1 C51基本數(shù)據(jù)類(lèi)型1、數(shù)據(jù)類(lèi)型:數(shù)據(jù)的不同格式。2、數(shù)據(jù)類(lèi)型分類(lèi):基本型(表4.1)、構(gòu)造類(lèi)型(數(shù)組、結(jié)構(gòu)體、共同體、枚舉)、指針類(lèi)型和空類(lèi)型7/27/20228 在計(jì)算機(jī)中不能隨意給一個(gè)變量賦任意的值,因?yàn)樽兞吭趩纹瑱C(jī)的內(nèi)存中要占空間的,變量不同,所占的空間不同。 為了合理利用單片機(jī)的內(nèi)存空間,在編程時(shí)要
4、設(shè)定合適的數(shù)據(jù)類(lèi)型。7/27/20229表4-1 C51數(shù)據(jù)類(lèi)型、長(zhǎng)度和數(shù)值范圍數(shù)據(jù)類(lèi)型表示方法長(zhǎng) 度數(shù) 值 范 圍無(wú)符號(hào)字符型unsigned char1字節(jié)0255有符號(hào)字符型signed char1字節(jié)-128127無(wú)符號(hào)整型unsigned int2字節(jié)065535有符號(hào)整型signed int2字節(jié)-3276832767無(wú)符號(hào)長(zhǎng)整型unsigned long4字節(jié)04294967295有符號(hào)長(zhǎng)整型signed long4字節(jié)-21474836482147483647 浮點(diǎn)型float4字節(jié)1.1755E-383.40E+38特殊功能寄存器型sfrsfr161字節(jié)2字節(jié)02550655
5、35位類(lèi)型bit、sbit1位0或17/27/202210補(bǔ)充: C51特殊功能寄存器與位變量的定義(P82)主要內(nèi)容1、 8位特殊功能寄存器的定義2、 16位特殊功能寄存器的定義3、 sbit型位變量的定義4、 bit型位變量的定義7/27/2022111、 8位特殊功能寄存器的定義定義的一般格式為:sfr特殊功能寄存器名 地址常數(shù)地址常數(shù)范圍:0 x800 xff。特殊功能寄存器定義例子(見(jiàn)reg51.h、reg52.h等文件):sfrP0=0 x80;/定義P0寄存器sfrP1=0 x90;/定義P1口寄存器sfrPSW=0 xd0;/定義PSWsfrIE=0 xa8;/定義IE 7/2
6、7/2022122、 16位特殊功能寄存器的定義定義的一般格式為:sfr16 特殊功能寄存器名地址常數(shù)地址常數(shù)范圍:0 x800 xff。例如(見(jiàn)reg51.h、reg52.h等文件):sfr16 DPTR=0 x82;sfr16 T2=0 xcc; /含TL2和TH27/27/202213幾點(diǎn)說(shuō)明:1)定義特殊功能寄存器中的地址必須在0 x800 xff范圍內(nèi)。2)定義特殊功能寄存器,必須放在函數(shù)外面作為全局變量。3)用sfr或sfr16每次只能定義一個(gè)特殊功能寄存器。4)用sfr或sfr16定義的是絕對(duì)定位的變量(因?yàn)槊质桥c確定地址對(duì)應(yīng)的),具有特定的意義,在應(yīng)用時(shí)不能像一般變量那樣隨便
7、使用。 7/27/2022143、 sbit型位變量的定義特殊功能寄存器的位聲明 一般格式為:sbit 位變量名 位地址表達(dá)式這里的位地址表達(dá)式有三種形式:直接位地址特殊功能寄存器名帶位號(hào)字節(jié)地址帶位號(hào)7/27/202215 a、用直接位地址定義位變量定義特殊功能寄存器的位。例如:sbitP0_0=0 x80; sbitP1_1=0 x91;sbitRS0=0 xd3; /定義PSW的第3位sbitET0=0 xa9; /定義IE的第1位 7/27/202216b、特殊功能寄存器名帶位號(hào)定義定義格式為:sbit位變量名 特殊功能寄存器名位號(hào)常數(shù)這里的位號(hào)常數(shù)為07。例如:sbitP0_3=P0
8、3; sbitP1_4=P14;sbitOV=PSW2; /定義PSW的第2位sbitES=IE4; /定義IE的第4位 7/27/202217c、寄存器地址帶位號(hào)定義位變量定義格式為:sbit位變量名 特殊功能寄存器地址位號(hào)常數(shù)這里的位號(hào)常數(shù)同上,為07。例如:sbitP0_6=0 x806; sbitP1_7=0 x907;sbitOV=0 xd02; /定義PSW的第2位sbitES=0 xa84;/定義IE的第4位 7/27/202218d、幾點(diǎn)說(shuō)明1)用sbit定義的位變量,必須能夠按位操作,而不能夠?qū)o(wú)位操作功能的位定義位變量。2)用sbit定義位變量,必須放在函數(shù)外面作為全局位變
9、量,而不能在函數(shù)內(nèi)部定義。3)用sbit每次只能定義一個(gè)位變量。4)用sbit定義的是一種絕對(duì)定位的位變量(因?yàn)槊质桥c確定位地址對(duì)應(yīng)的),具有特定的意義,不能隨便使用。7/27/2022194、 bit型位變量的定義常說(shuō)的位變量指的就是bit型位變量。C51的bit型位變量定義的一般格式為:存儲(chǔ)類(lèi)型 bit位變量名1=初值 ,位變量名2=初值 ,bit位變量被保存在RAM中的位尋址區(qū)域例如:bitflag_run=0;static bitsend_bit; 7/27/202220數(shù)據(jù)類(lèi)型轉(zhuǎn)換(p56)1)自動(dòng)轉(zhuǎn)換把賦值號(hào)右邊的類(lèi)型轉(zhuǎn)換成左邊的類(lèi)型。A: 實(shí)型賦予整型B: 整型賦予實(shí)型C: 字
10、符型賦予整型D: 整型賦予字符型7/27/2022212)強(qiáng)制轉(zhuǎn)換像ANSI C一樣,通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換的方式進(jìn)行轉(zhuǎn)換。如:unsignedintb;floatc; b=(int)c; 7/27/2022224.2 C51變量存儲(chǔ)區(qū)域1、 C51變量的定義2、 C51變量的存儲(chǔ)類(lèi)型3、 C51變量的存儲(chǔ)區(qū)域4、 C51變量定義舉例5、 C51變量的存儲(chǔ)模式7/27/2022231、 C51變量的定義C51變量定義的一般格式為:存儲(chǔ)類(lèi)型數(shù)據(jù)類(lèi)型 存儲(chǔ)區(qū)域變量名1=初值 ,變量名2=初值 ,或 存儲(chǔ)類(lèi)型存儲(chǔ)區(qū)域 數(shù)據(jù)類(lèi)型 變量名1=初值 ,變量名2=初值 , static unsigned char
11、 data i=0; 7/27/2022242、 C51變量的存儲(chǔ)類(lèi)型按照ANSI C,C語(yǔ)言的變量有4種存儲(chǔ)類(lèi)型: (P71)動(dòng)態(tài)存儲(chǔ)(auto)靜態(tài)存儲(chǔ)(static)全局存儲(chǔ)(extern)寄存器存儲(chǔ)(register) 7/27/202225(1)動(dòng)態(tài)變量動(dòng)態(tài)(存儲(chǔ))變量:用auto定義的為動(dòng)態(tài)變量,也叫自動(dòng)變量。作用范圍:在定義它的函數(shù)內(nèi)或復(fù)合語(yǔ)句內(nèi)部。執(zhí)行時(shí),分配存儲(chǔ)空間,結(jié)束時(shí)釋放存儲(chǔ)空間。定義變量時(shí),auto可以省略7/27/202226(2)靜態(tài)變量靜態(tài)(存儲(chǔ))變量:用static定義的為靜態(tài)變量。函數(shù)退出時(shí),變量的值不消失。分為靜態(tài)局部和靜態(tài)全局變量。靜態(tài)局部變量:在函數(shù)體
12、內(nèi)定義靜態(tài)全局變量:在函數(shù)體外部定義 若非必要,不要多用靜態(tài)變量7/27/202227(3)外部變量外部(存儲(chǔ))變量:用extern聲明的變量為外部變量,是在其它文件定義過(guò)的全局變量。用extern聲明后,便可以在所聲明的文件中使用。7/27/202228補(bǔ)充: 函數(shù)的定義:函數(shù)功能的確立,包括制定函數(shù)名、函數(shù)值類(lèi)型、形參及其類(lèi)型、函數(shù)體等,是一個(gè)完整的、獨(dú)立的函數(shù)單位。函數(shù)的聲明:把函數(shù)的名字、函數(shù)類(lèi)型以及形參類(lèi)型、個(gè)數(shù)和順序通知編譯系統(tǒng),以便在調(diào)用該函數(shù)時(shí)系統(tǒng)按此進(jìn)行對(duì)照檢查。7/27/202229#includevoid main()int max(int,int);/對(duì)被調(diào)函數(shù)的聲明
13、int A=13,B=3;定義外部變量printf(“%dn”,max(A,B);int max(int x,int y)/定義子函數(shù)int z;z=xy?x:y;return(z);7/27/202230(4)寄存器變量寄存器(存儲(chǔ))變量:用register定義的變量為寄存器變量。寄存器變量存放在CPU的寄存器中,這種變量處理速度快,但數(shù)目少。C51中的寄存器變量: C51的編譯器在編譯時(shí),能夠自動(dòng)識(shí)別程序中使用頻率高的變量,并將其安排為寄存器變量,用戶(hù)不用專(zhuān)門(mén)聲明,對(duì)C51無(wú)實(shí)際意義。7/27/2022313、 C51變量的存儲(chǔ)區(qū)域(P57)變量的存儲(chǔ)區(qū)屬性是單片機(jī)擴(kuò)展的概念,非常重要,它
14、涉及到6個(gè)新的關(guān)鍵字。MCS-51單片機(jī)有四個(gè)存儲(chǔ)空間,分成三類(lèi),它們是片內(nèi)RAM、片外RAM和ROM。 7/27/202232表4.2 C51存儲(chǔ)區(qū)與存儲(chǔ)空間的對(duì)應(yīng)關(guān)系關(guān)鍵字對(duì)應(yīng)的存儲(chǔ)空間及范圍data片內(nèi)RAM,直接尋址,低128字節(jié)bdata片內(nèi)RAM,位尋址區(qū)0 x200 x2f,可字節(jié)訪問(wèn)idata 片內(nèi)RAM,間接尋址,256字節(jié),與 Ri 對(duì)應(yīng)pdata片外RAM,低256字節(jié),與MOVX Ri 對(duì)應(yīng)xdata片外RAM,64KB全空間codeROM空間,64KB全空間7/27/2022334、 C51變量定義舉例1)定義存儲(chǔ)在data區(qū)域的動(dòng)態(tài)unsigned char變量:u
15、nsigned char data sec=0, min=0, hou=0;2)定義存儲(chǔ)在data區(qū)域的靜態(tài)unsigned char變量:static unsigned char data scan_code=0 xfe;3)定義存儲(chǔ)在data區(qū)域的靜態(tài)unsigned int變量:static unsigned int data d;7/27/2022344)定義存儲(chǔ)在bdata區(qū)域的動(dòng)態(tài)unsigned char變量:unsigned char bdata operate, operate1; 5)定義存儲(chǔ)在idata區(qū)域的動(dòng)態(tài)unsigned char數(shù)組:unsigned char
16、idata temp20; 6)定義在pdata區(qū)域的動(dòng)態(tài)有符號(hào)int數(shù)組:int pdata send_data30; 7/27/2022357)定義存儲(chǔ)在xdata區(qū)域的動(dòng)態(tài)unsigned int數(shù)組:unsigned int xdata receiv_buf50;8)定義存儲(chǔ)在code區(qū)域的unsigned char數(shù)組:unsigned char code a10=0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /定義共陰極數(shù)碼管段碼數(shù)組7/27/2022365、 C51變量的存儲(chǔ)模式(P58)存儲(chǔ)模式
17、:如果在定義變量時(shí)缺省了存儲(chǔ)區(qū),則編譯器會(huì)自動(dòng)選擇默認(rèn)的存儲(chǔ)區(qū)域,也就是存儲(chǔ)模式。存儲(chǔ)模式分為三種:小模式(small)、緊湊模式(compact)和大模式(large)。編譯模式由編譯控制命令決定。存儲(chǔ)模式(編譯模式)決定了變量的默認(rèn)存儲(chǔ)區(qū)域和參數(shù)的傳遞方法。 7/27/202237(1)small模式在small模式下,變量的默認(rèn)存儲(chǔ)區(qū)域是“data”、“idata”,并且堆棧也安排在該區(qū)域中。small模式的特點(diǎn):存儲(chǔ)容量小,但速度快。 默認(rèn)存儲(chǔ)模式:如果文件或函數(shù)未指明存儲(chǔ)模式,則編譯器按small模式處理。7/27/202238 (2)compact模式在compact模式下,變量的
18、默認(rèn)存儲(chǔ)區(qū)域是“pdata”,最大變量數(shù)為256字節(jié),并且堆棧也安排在該區(qū)域中。compact模式的其特點(diǎn):是存儲(chǔ)容量較small模式大,速度較small模式稍慢,但比large模式要快。7/27/202239(3) large模式在large模式下,變量的默認(rèn)存儲(chǔ)區(qū)域是“xdata”,最大變量數(shù)可達(dá)64KB。large模式的特點(diǎn):存儲(chǔ)容量大,速度慢7/27/202240默認(rèn)存儲(chǔ)模式:如果文件或函數(shù)未指明存儲(chǔ)模式,則編譯器按small模式處理。存儲(chǔ)模式控制命令: “#pragma small(或compact、large)”應(yīng)放在文件的開(kāi)始。 7/27/2022414.3 C51的運(yùn)算符7/2
19、7/202242思考題1:10/3=?10/3.0=?10/3.00=?7/27/202243思考題2:j+;j-;+j;-j;例:char c=1; char a;求:(1)a=c+;后,a,c值是多少? (2)a=+c;后,a,c值是多少?7/27/2022441|1=?4|5=?7/27/2022457/27/202246復(fù)合運(yùn)算符: a+=b; x*=a+b; 復(fù)合運(yùn)算的表達(dá)方式有利于提高編譯效率,產(chǎn)生質(zhì)量較高的目標(biāo)代碼。但可讀性相對(duì)較差。7/27/2022474.4 數(shù)組1、數(shù)組:同一類(lèi)型變量的有序組合。注:數(shù)組和普通變量一樣,要先定義再使用。2、定義方式:數(shù)據(jù)類(lèi)型 數(shù)組名 常量表達(dá)
20、式unsigned int a10;4.4.1 一維數(shù)組7/27/2022483、賦值方式:數(shù)據(jù)類(lèi)型 存儲(chǔ)區(qū)域 數(shù)組名 常量表達(dá)式=常量表達(dá)式;unsigned char b2=1,2;unsigned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;7/27/2022494.4.2 字符數(shù)組1、字符數(shù)組:基本類(lèi)型為字符類(lèi)型的數(shù)組。用來(lái)存放字符的。2、定義:方法同一般數(shù)組。如:char a5=h,e,l,l,o;for(
21、i=0;i5;i+)printf(“%c”,ai);7/27/2022503、字符串:在C語(yǔ)言中,將字符串作為字符數(shù)組來(lái)處理的。用字符串常量來(lái)使字符數(shù)組初始化:char a =“hello”;或: char a =“hello”;問(wèn):在內(nèi)存中怎么存儲(chǔ)的?7/27/202251 注: C語(yǔ)言規(guī)定以0作為字符串結(jié)束的標(biāo)志,在程序中依靠檢測(cè)的位置來(lái)判定字符串是否結(jié)束。char a =“hello”;i = 0;while(ai != 0) write_data(ai); i+;7/27/2022524.5 指針主要內(nèi)容4.5.1 指針概念4.5.2 指針變量的定義、賦值與引用4.5.3 Keil C
22、51的指針類(lèi)型7/27/202253指針:對(duì)于一個(gè)存儲(chǔ)單元來(lái)講,單元的地址即為指針。指針變量:存放指針的變量,用來(lái)指向另一個(gè)變量。區(qū)別:一個(gè)指針是指一個(gè)地址,是一個(gè)常量; 一個(gè)指針變量可以被賦予不同的指針(地址),是一個(gè)變量。4.5.1 指針概念7/27/2022544.5.2 指針的定義、賦值與引用1、定義其格式為:存儲(chǔ)類(lèi)型 數(shù)據(jù)類(lèi)型 *指針名1,*指針名2 ,例如: char *cpt;/定義了一個(gè)指針變量cpt,它所指向的是一個(gè)字符型的數(shù)據(jù)。或定義cpt為指向字符型變量的指針變量指針說(shuō)明符7/27/2022552、賦值(指針變量使用前必須賦值)指針變量只能賦予地址。int c;int *
23、p=&c; (int *p; p =&c;)7/27/2022563、指針變量的引用注意:指針變量的定義和引用中*的意義不同!在指針變量定義中:*是類(lèi)型說(shuō)明符,說(shuō)明其后的變量是指針類(lèi)型在指針變量的引用中:*是運(yùn)算符,(取內(nèi)容)int *p=&a, int a,c;c=*p;7/27/2022574.7 C51的程序設(shè)計(jì)4.7.1 C51程序結(jié)構(gòu)常用C51的頭文件:reg51.h (定義特殊功能寄存器等);math.h (數(shù)學(xué)函數(shù)); ctype.h (字符函數(shù)); stdio.h (一般IO函數(shù)); stdlib.h (標(biāo)準(zhǔn)函數(shù)); absacc.h (絕對(duì)地址訪問(wèn)); string.h (串
24、函數(shù)) .func1() 局部變量定義 funcN() 局部變量定義 main() 局部變量定義 包含 函數(shù)聲明全局變量、參數(shù)定義7/27/202258#include sbit LED1=P32; /定義SFR中引腳的“位”sbit LED2=P33;sbit LED3=P34;void delayms(unsigned int x); /毫秒延時(shí)函數(shù) void main(void) /主程序 while(1) / 非0為真,此為無(wú)限循環(huán) LED1=0;LED2=1;LED3=1; delayms(1000); LED1=1;LED2=0;LED3=1; delayms(1000); LED
25、1=1;LED2=1;LED3=0; delayms(1000); void delayms(unsigned int x) /毫秒延時(shí)函數(shù) unsigned char j; while(x-) /非0,為真,即x=0時(shí)退出循環(huán) for(j=0;j123;j+); 包含文件 全程變量、參數(shù)定義函數(shù)聲明主函數(shù)子函數(shù)7/27/2022594.7.2 C51流程控制1.選擇語(yǔ)句ifif(表達(dá)式) 語(yǔ)句; 例:if(p1!=0) c=30; if (條件表達(dá)式) 語(yǔ)句1; else 語(yǔ)句2;例:if (a=b) a+; else a-;當(dāng) a 等于 b 時(shí), a=a+1,否則 a=a-1 if (表達(dá)
26、式1) 語(yǔ)句1; else if (表達(dá)式2) 語(yǔ)句2; else if (表達(dá)式3) 語(yǔ)句3; else if (表達(dá)式m) 語(yǔ)句m; else 語(yǔ)句n;注:語(yǔ)句中為單一語(yǔ)句, 可以不用花括弧。 7/27/202260if (表達(dá)式1) if( ) 語(yǔ)句1; else( ) 語(yǔ)句2; else if( ) 語(yǔ)句1; else( ) 語(yǔ)句2; 嵌套7/27/202261 if(k1=0)num+;if(num=10)num=0;舉例:7/27/202262switch (表達(dá)式) case 常量表達(dá)式1:語(yǔ)句1;break; case 常量表達(dá)式2:語(yǔ)句2;break; case 常量表達(dá)式3
27、:語(yǔ)句3;break; case 常量表達(dá)式n:語(yǔ)句n;break; default:語(yǔ)句n+1;2. switch/case語(yǔ)句也不是必須的7/27/2022633. while語(yǔ)句while (條件表達(dá)式真) 語(yǔ)句; while(P0!=0) x=P0;先判斷后循環(huán)例非零為真7/27/202264補(bǔ)充:(a) while(1) ;/無(wú)限循環(huán)(b) while(1) . break; /退出大循環(huán)(c) . while(1);/停止(等待)7/27/202265do 語(yǔ)句; while (條件表達(dá)式真) ; int sum=0, i=0;do i+; sum= sum+i ; while(i
28、=10) 先循環(huán)后判斷例7/27/2022664.for語(yǔ)句 for (初值設(shè)定表達(dá)式;循環(huán)條件表達(dá)式;條件更新表達(dá)式) 循環(huán)語(yǔ)句; 例:int i, sum=0 ; for (i=0; i0;i-) for(j=110;j0;j-); 外層是多少,延時(shí)大約多少ms7/27/202268本課程不是專(zhuān)門(mén)學(xué)習(xí)C語(yǔ)言的課程,相關(guān)c語(yǔ)言的系統(tǒng)知識(shí)請(qǐng)同學(xué)們自行復(fù)(學(xué))習(xí)。7/27/2022694.8 函數(shù)的定義與調(diào)用主要內(nèi)容4.8.1 函數(shù)4.8.3 C51中調(diào)用匯編4.8.4 預(yù)處理命令4.8.5 頭文件 7/27/202270C51函數(shù)定義的一般格式如下:函數(shù)類(lèi)型 函數(shù)名(形參表)局部變量定義執(zhí)行語(yǔ)句 7/27/202271延時(shí)若干ms的子函數(shù):void delay(usigned int z)usigned int x,y;for(x=z;x0;x-) for(y=110;y0;y-);子函數(shù)的調(diào)用:delay(500);7/27/202272主函數(shù):void main()7/27/202273注:1、 里也可以什么不寫(xiě),為空函數(shù)。2、調(diào)用函數(shù)時(shí),多個(gè)參數(shù)要用逗號(hào)隔開(kāi),且每個(gè)實(shí)參的類(lèi)型、位置與形參一一對(duì)應(yīng)。3、調(diào)用的函數(shù)是無(wú)參函數(shù)時(shí),后面的括號(hào)不能省。4、帶參數(shù)的函數(shù)聲明時(shí),必須將參數(shù)類(lèi)型寫(xiě)上,類(lèi)型后面的變量名可有可無(wú)。5、主函數(shù)不能被其他函數(shù)調(diào)用。7/27/2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)可編程全自動(dòng)軟水器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2 2025年小學(xué)教師資格考試復(fù)習(xí)寶典及試題
- 遺產(chǎn)繼承協(xié)議仲裁合同
- 2023年新疆公務(wù)員《行政職業(yè)能力測(cè)驗(yàn)》試題真題及答案
- 纖維專(zhuān)業(yè)知識(shí)培訓(xùn)課件
- 公司活動(dòng)策劃與執(zhí)行進(jìn)度報(bào)告
- 機(jī)械工程材料與設(shè)計(jì)實(shí)踐試題庫(kù)
- 公司加盟連鎖經(jīng)營(yíng)合同書(shū)
- 江蘇省南通市如皋市2024-2025學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量調(diào)研生物學(xué)試卷(必修)(含答案)
- 新聞媒體新聞稿件授權(quán)發(fā)布協(xié)議
- 七年級(jí)歷史下冊(cè) 第一單元 綜合測(cè)試卷(人教福建版 2025年春)
- 2025年湘教版初中地理七年級(jí)下冊(cè)重點(diǎn)知識(shí)點(diǎn)梳理與歸納
- 軌道鋪設(shè)施工專(zhuān)項(xiàng)方案
- 七下地理《俄羅斯》PPT課件
- 員工勞動(dòng)合同(易才簽訂要求)
- 第七章 住院患者營(yíng)養(yǎng)風(fēng)險(xiǎn)篩查與評(píng)價(jià)
- 惠威音箱圖紙
- 職工食堂工作流程圖(共1頁(yè))
- 急性腎盂腎炎護(hù)理查房ppt課件
- 脫水機(jī)房設(shè)備安裝方案
- 致愛(ài)麗絲鋼琴曲五線譜
評(píng)論
0/150
提交評(píng)論