




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言中編程規(guī)范C語(yǔ)言中編程規(guī)范C語(yǔ)言提要語(yǔ)言提要oC語(yǔ)言的語(yǔ)法語(yǔ)言的語(yǔ)法oC語(yǔ)言的基本運(yùn)算及語(yǔ)言的基本運(yùn)算及流程控制語(yǔ)句流程控制語(yǔ)句o控制系統(tǒng)中常用的控制系統(tǒng)中常用的C語(yǔ)言函數(shù)語(yǔ)言函數(shù)oTC2.0 環(huán)境的使用環(huán)境的使用oC程序的編寫和要求程序的編寫和要求C語(yǔ)言的語(yǔ)法語(yǔ)言的語(yǔ)法-C語(yǔ)言的特點(diǎn)語(yǔ)言的特點(diǎn)oC程序的基本組成:omain三o 變量定義o 執(zhí)行語(yǔ)句組oo子函數(shù)名稱1(參數(shù))o 變量定義o 執(zhí)行語(yǔ)句組oo子函數(shù)名稱2(參數(shù))o C語(yǔ)言的語(yǔ)法語(yǔ)言的語(yǔ)法-C語(yǔ)言的特點(diǎn)語(yǔ)言的特點(diǎn)o程序以函數(shù)為單元,并且有且僅有一個(gè)主函程序以函數(shù)為單元,并且有且僅有一個(gè)主函數(shù)數(shù) main三;三;o函數(shù)由函數(shù)說(shuō)明
2、和函數(shù)體兩部分組成;函數(shù)由函數(shù)說(shuō)明和函數(shù)體兩部分組成;o變量的聲明和定義必須在函數(shù)頭部;變量的聲明和定義必須在函數(shù)頭部;o語(yǔ)句必須以語(yǔ)句必須以“;”結(jié)束;結(jié)束;o注釋:注釋:/*/oC語(yǔ)言允許直接訪問(wèn)物理地址;可以直接對(duì)語(yǔ)言允許直接訪問(wèn)物理地址;可以直接對(duì)硬件進(jìn)行操作;能進(jìn)行位(硬件進(jìn)行操作;能進(jìn)行位(bit)操作)操作C語(yǔ)言的語(yǔ)法語(yǔ)言的語(yǔ)法(2) -C語(yǔ)言的數(shù)據(jù)類型語(yǔ)言的數(shù)據(jù)類型o整型:整型:int、short、long(數(shù)據(jù)在內(nèi)存中以(數(shù)據(jù)在內(nèi)存中以2 2進(jìn)制形式存放)進(jìn)制形式存放)o字符型:字符型:charo浮點(diǎn)型:浮點(diǎn)型:float、doubleo指針:指針:char *、int *、
3、float *o數(shù)組:數(shù)組:int a10;o結(jié)構(gòu)體結(jié)構(gòu)體:structo公用體:公用體:uniono無(wú)符號(hào)數(shù)無(wú)符號(hào)數(shù):unsigned(unsigned int;unsigned char)C語(yǔ)言的基本運(yùn)算語(yǔ)言的基本運(yùn)算算術(shù)運(yùn)算算術(shù)運(yùn)算運(yùn)算符名稱例子運(yùn)算功能加a+b求a與b的和減a-b求a與b的差*乘a*b求a與b的積/除a/b求a除以b的商%取余a%b求a除以b的余數(shù)+自增a +a的值加1-自減a - a的值減1- -取負(fù)- a求a的負(fù)數(shù)C語(yǔ)言的基本運(yùn)算語(yǔ)言的基本運(yùn)算算術(shù)賦值運(yùn)算算術(shù)賦值運(yùn)算運(yùn)算符名稱例子等效于加賦值a+b a a+ b減賦值a-b a a b*乘賦值a*b a a* b/
4、除賦值a/b a a/b%取余賦值a%b a a%bC語(yǔ)言的基本運(yùn)算語(yǔ)言的基本運(yùn)算位運(yùn)算位運(yùn)算運(yùn)算符名稱例子運(yùn)算功能&位與a&ba和b按位與|位或a|ba和b位或位反 aa按位取反右移位a 2a右移2位左移位a4 0 x05位運(yùn)算的應(yīng)用舉例(位運(yùn)算的應(yīng)用舉例(1)o方法方法1:先右移:先右移n位,再與位,再與“0 x01”bit = (byten)&0 x01;o方法方法2:使用屏蔽字:使用屏蔽字unsigned char MASK8 = 0 x01, 0 x02, 0 x04, 0 x08, 0 x10, 0 x20, 0 x40, 0 x80;bit = byte
5、& MASKn;0 0 0 0 1 1 1 01思考:如何從一個(gè)字節(jié)思考:如何從一個(gè)字節(jié)bytebyte中取出第中取出第n n位?位? ovoid byte_bit(int *bits,char byte)ooint i;o for(i=0;ii) & 0 x01;oomain三三oochar byte;oint bit8=0;oprintf(nplease input byten);oscanf(%c,&byte);obyte_bit(bit,byte);oprintf(nbit=%d,%d,%d,%d,%d,%d,%d,%d ,bit7,bit6,bit5,bit4
6、,bit3,bit2,bit1,bit0);oC語(yǔ)言的基本運(yùn)算語(yǔ)言的基本運(yùn)算關(guān)系運(yùn)算關(guān)系運(yùn)算運(yùn)算符名稱例子運(yùn)算功能大于aba大于b小于a=大于等于a = ba大于等于b=小于等于a = ba小于等于b!=不等于a != ba不等于bC語(yǔ)言的基本運(yùn)算語(yǔ)言的基本運(yùn)算邏輯運(yùn)算邏輯運(yùn)算運(yùn)算符名稱例子運(yùn)算功能&邏輯與a & ba與b邏輯或a ba或b!邏輯反!aa反C語(yǔ)言的流程控制語(yǔ)句語(yǔ)言的流程控制語(yǔ)句o選擇語(yǔ)句選擇語(yǔ)句nif (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句1 else 語(yǔ)句語(yǔ)句2nswitch(表達(dá)式)表達(dá)式) case 常量表達(dá)式常量表達(dá)式1:語(yǔ)句語(yǔ)句1;break; case 常量表達(dá)
7、式常量表達(dá)式2:語(yǔ)句語(yǔ)句2;break; case 常量表達(dá)式常量表達(dá)式n:語(yǔ)句語(yǔ)句n;break; default:語(yǔ)句語(yǔ)句n+1; 學(xué)生成績(jī)分段:90100為A,8089為B,6079為C,059為D,輸入學(xué)生成績(jī),然后分類輸出。includeMain三int x;printf(“請(qǐng)輸入學(xué)生成績(jī):/n”);scanf(“%d”,&x)switch(x/10) case 10: printf(“x=%d-A”,x);break; case 9: printf(“x=%d-A”,x);break; case 8: printf(“x=%d-B”,x);break; defaut: pr
8、intf(“x=%d number error!”,x); C語(yǔ)言的流程控制語(yǔ)句語(yǔ)言的流程控制語(yǔ)句o循環(huán)語(yǔ)句循環(huán)語(yǔ)句nwhile (表達(dá)式表達(dá)式) 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句ndo 語(yǔ)句語(yǔ)句 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句 while (表達(dá)式表達(dá)式);nfor (i=0;iN;i+) 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句C語(yǔ)言的流程控制語(yǔ)句語(yǔ)言的流程控制語(yǔ)句o轉(zhuǎn)移語(yǔ)句轉(zhuǎn)移語(yǔ)句nbreak;ncontinue;int n;for(n=10;n100;n+) if(n%3!=0) continue; printf(“%5d”,n);nreturn;ngoto表達(dá)式表達(dá)式NYYbreakcontinueNNYYNbreak語(yǔ)句退
9、出循環(huán)continue結(jié)束本次循環(huán)表達(dá)式表達(dá)式C語(yǔ)言中幾個(gè)常用的函數(shù)語(yǔ)言中幾個(gè)常用的函數(shù)o標(biāo)準(zhǔn)輸入輸出:標(biāo)準(zhǔn)輸入輸出:oscanf(“%d”,&n);oprintf(“Thiss a test!n %d”, n);ogetchar三三;ogets三三;oI/O 端口讀寫:端口讀寫:oinportb(BASEADDR+6);ooutportb(BASEADDR+13, 0 x05);cmd 操作操作0 返回按鍵的鍵值,該值是返回按鍵的鍵值,該值是2 2個(gè)字節(jié)的整型數(shù),若沒(méi)有個(gè)字節(jié)的整型數(shù),若沒(méi)有鍵按下,則該函數(shù)一直等待,直到有鍵按下。當(dāng)按下鍵按下,則該函數(shù)一直等待,直到有鍵按下。當(dāng)按下時(shí)
10、,若返回值的低時(shí),若返回值的低8 8位為非零,則表示為普通鍵,其位為非零,則表示為普通鍵,其值代表該鍵的值代表該鍵的ASCIIASCII碼。若返回值的低碼。若返回值的低8 8位表示為擴(kuò)展位表示為擴(kuò)展的的ASCIIASCII碼,表示按下的是特殊功能鍵。碼,表示按下的是特殊功能鍵。1 此時(shí),該函數(shù)則用來(lái)查詢是否有鍵按下。若返回非此時(shí),該函數(shù)則用來(lái)查詢是否有鍵按下。若返回非0 0值,則表示有鍵按下,若為值,則表示有鍵按下,若為0 0,表示沒(méi)鍵按下。,表示沒(méi)鍵按下。2此時(shí)此時(shí), ,該函數(shù)將返回一些控制鍵的狀態(tài),各鍵狀態(tài)由該函數(shù)將返回一些控制鍵的狀態(tài),各鍵狀態(tài)由該函數(shù)返回的低該函數(shù)返回的低8 8位的各位
11、值來(lái)表示。位的各位值來(lái)表示。bioskey(int cmd) bioskey(int cmd) 它在頭文件中進(jìn)行了說(shuō)明,該函數(shù)實(shí)際它在頭文件中進(jìn)行了說(shuō)明,該函數(shù)實(shí)際上調(diào)用了上調(diào)用了BIOSBIOS的的INT16HINT16H中斷,參數(shù)用來(lái)確定中斷,參數(shù)用來(lái)確定bioskeybioskey三如何三如何操作操作 鍵盤控制C語(yǔ)言中幾個(gè)常用的函數(shù)語(yǔ)言中幾個(gè)常用的函數(shù)(2)o鍵盤輸入:鍵盤輸入:okbhit三三obioskey(0) /*返回鍵盤輸入返回鍵盤輸入*/owhile(!kbhit三三)/* 如果沒(méi)有按下任意鍵繼續(xù)如果沒(méi)有按下任意鍵繼續(xù) */o延時(shí):延時(shí):odelay(millisecond)
12、延時(shí)若干毫秒延時(shí)若干毫秒osleep(second) 延時(shí)若干秒延時(shí)若干秒Turbo C 2.0 環(huán)境的使用環(huán)境的使用oFile:管理文件和目錄管理文件和目錄, ,裝入或保存程序等裝入或保存程序等; ;oEdit:進(jìn)入進(jìn)入Turbo C 的編輯程序的編輯程序, ,輸入和修改源程序輸入和修改源程序; ;oRun:編譯、連接和運(yùn)行裝入編譯、連接和運(yùn)行裝入Turbo C 環(huán)境的當(dāng)前程序;環(huán)境的當(dāng)前程序;oCompile:編譯和連接裝入編譯和連接裝入Turbo C 環(huán)境的當(dāng)前程序;環(huán)境的當(dāng)前程序;oProject:管理多文件工程;管理多文件工程;oOptions:設(shè)置設(shè)置編譯程序和連接程序的各種選擇項(xiàng)
13、編譯程序和連接程序的各種選擇項(xiàng);oDebug:設(shè)置設(shè)置各種調(diào)試選擇項(xiàng)各種調(diào)試選擇項(xiàng);oBreak/Watch:設(shè)置設(shè)置斷點(diǎn),在調(diào)試階段以便監(jiān)視所需的斷點(diǎn),在調(diào)試階段以便監(jiān)視所需的 變量變量;環(huán)境環(huán)境(1)環(huán)境設(shè)置環(huán)境設(shè)置Turbo C 2.0 環(huán)境的使用環(huán)境的使用o菜單欄菜單欄: Alt+F F10o幾個(gè)常用的命令幾個(gè)常用的命令n打開:打開:F3n保存:保存:F2n編譯連接生成編譯連接生成EXE:F9;n運(yùn)行運(yùn)行:Ctrl+F9(用AltF5切換到用戶窗口切換到用戶窗口)n調(diào)試:調(diào)試:o單步:?jiǎn)尾剑篎8 不可進(jìn)入函數(shù)體不可進(jìn)入函數(shù)體o單步單步: F7 可進(jìn)入被調(diào)函數(shù)體可進(jìn)入被調(diào)函數(shù)體o斷點(diǎn)斷點(diǎn)
14、:Ctrl+F8o觀察變量:觀察變量:Ctrl+F7n全屏全屏窗口窗口 模式切換模式切換:Alt+Entero編輯程序編輯程序n編寫程序:記事本,之后在編寫程序:記事本,之后在TC中打開調(diào)試中打開調(diào)試變量申明變量申明o全局變量與局部變量(作用域)全局變量與局部變量(作用域)oint x; /* x就是一個(gè)全局變量就是一個(gè)全局變量 */omain三三oo int y; /*y就是一個(gè)局部變量就是一個(gè)局部變量 */oo盡量少用全局變量,因?yàn)橄到y(tǒng)為其分配固定的永盡量少用全局變量,因?yàn)橄到y(tǒng)為其分配固定的永久存儲(chǔ)空間;而系統(tǒng)為局部變量分配動(dòng)態(tài)存儲(chǔ)空久存儲(chǔ)空間;而系統(tǒng)為局部變量分配動(dòng)態(tài)存儲(chǔ)空間。間。模塊化
15、編程模塊化編程o在主函數(shù)中的語(yǔ)句盡量的清晰明了,多用子在主函數(shù)中的語(yǔ)句盡量的清晰明了,多用子函數(shù)來(lái)完成功能模塊;函數(shù)來(lái)完成功能模塊;ovoid DI(int channel, int *DI_in)oo .o模塊化編程(模塊化編程(1)ovoid DO(int channel, int *DO_Out)oo .o模塊化編程(模塊化編程(2)omain三oo int DI_in6,DO_out6,i;o DI(0,DI_in);/*獲得光電對(duì)管被擋情況*/o o o DO(0,DO_out); /*輸出DO*/ooInt I /* 全局變量*/omain三oo int DI_in6,DO_out6,i; /* 局部變量*/o DataInput(參數(shù))o ReadPort(參數(shù))o WritePort(參數(shù))o Control(參數(shù))o DataOutput(參數(shù))o程序規(guī)范程序規(guī)范( (例例) )/ /* *屏幕輸入模塊屏幕輸入模塊* */ /*I/O端口輸入模塊端口輸入模塊*/*I/O端口輸出模塊端口輸出模塊*/ /* *控制模塊控制模塊* */ / /* *屏幕輸出模塊屏幕輸出模塊* */ /1.
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)定明確的工作優(yōu)先級(jí)計(jì)劃
- 財(cái)務(wù)分析在企業(yè)評(píng)估中的應(yīng)用計(jì)劃
- 教學(xué)創(chuàng)新與成果分享機(jī)制計(jì)劃
- 防止職業(yè)倦怠的小技巧計(jì)劃
- 醫(yī)學(xué)影像科醫(yī)生工作計(jì)劃
- 建立員工反饋與建議機(jī)制計(jì)劃
- 2025年電動(dòng)晾衣機(jī)項(xiàng)目合作計(jì)劃書
- 景區(qū)承包合同
- 珠寶定制服務(wù)特殊條款協(xié)議
- 農(nóng)產(chǎn)品電商項(xiàng)目開發(fā)合作框架協(xié)議
- JT-T-775-2016大跨度斜拉橋平行鋼絲拉索
- 裝飾工程室內(nèi)拆除專項(xiàng)施工方案
- 員工服務(wù)意識(shí)提升提高服務(wù)意識(shí)培訓(xùn)課件
- 2024年河北省石家莊市裕華區(qū)中考二模語(yǔ)文試題
- 客服考試題目
- 2024年公務(wù)員(國(guó)考)之行政職業(yè)能力測(cè)驗(yàn)真題附參考答案(完整版)
- 2024年高考改革新方案
- 社會(huì)主義發(fā)展史智慧樹知到期末考試答案2024年
- 人教版五年級(jí)上冊(cè)小數(shù)除法豎式計(jì)算練習(xí)練習(xí)300題及答案
- 模塊1鐵道線路養(yǎng)護(hù)與維修認(rèn)知《鐵道線路養(yǎng)護(hù)與維修》教學(xué)課件
- 城市軌道交通列車網(wǎng)絡(luò)控制及應(yīng)用 課件 項(xiàng)目6、7 列車網(wǎng)絡(luò)控制管理系統(tǒng)、城軌列車網(wǎng)絡(luò)控制及應(yīng)用
評(píng)論
0/150
提交評(píng)論