版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言中編程規(guī)范C語言中編程規(guī)范C語言提要語言提要oC語言的語法語言的語法oC語言的基本運算及語言的基本運算及流程控制語句流程控制語句o控制系統(tǒng)中常用的控制系統(tǒng)中常用的C語言函數(shù)語言函數(shù)oTC2.0 環(huán)境的使用環(huán)境的使用oC程序的編寫和要求程序的編寫和要求C語言的語法語言的語法-C語言的特點語言的特點oC程序的基本組成:omain三o 變量定義o 執(zhí)行語句組oo子函數(shù)名稱1(參數(shù))o 變量定義o 執(zhí)行語句組oo子函數(shù)名稱2(參數(shù))o C語言的語法語言的語法-C語言的特點語言的特點o程序以函數(shù)為單元,并且有且僅有一個主函程序以函數(shù)為單元,并且有且僅有一個主函數(shù)數(shù) main三;三;o函數(shù)由函數(shù)說明
2、和函數(shù)體兩部分組成;函數(shù)由函數(shù)說明和函數(shù)體兩部分組成;o變量的聲明和定義必須在函數(shù)頭部;變量的聲明和定義必須在函數(shù)頭部;o語句必須以語句必須以“;”結(jié)束;結(jié)束;o注釋:注釋:/*/oC語言允許直接訪問物理地址;可以直接對語言允許直接訪問物理地址;可以直接對硬件進行操作;能進行位(硬件進行操作;能進行位(bit)操作)操作C語言的語法語言的語法(2) -C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型o整型:整型:int、short、long(數(shù)據(jù)在內(nèi)存中以(數(shù)據(jù)在內(nèi)存中以2 2進制形式存放)進制形式存放)o字符型:字符型:charo浮點型:浮點型:float、doubleo指針:指針:char *、int *、
3、float *o數(shù)組:數(shù)組:int a10;o結(jié)構(gòu)體結(jié)構(gòu)體:structo公用體:公用體:uniono無符號數(shù)無符號數(shù):unsigned(unsigned int;unsigned char)C語言的基本運算語言的基本運算算術(shù)運算算術(shù)運算運算符名稱例子運算功能加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- -取負- a求a的負數(shù)C語言的基本運算語言的基本運算算術(shù)賦值運算算術(shù)賦值運算運算符名稱例子等效于加賦值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語言的基本運算語言的基本運算位運算位運算運算符名稱例子運算功能&位與a&ba和b按位與|位或a|ba和b位或位反 aa按位取反右移位a 2a右移2位左移位a4 0 x05位運算的應(yīng)用舉例(位運算的應(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思考:如何從一個字節(jié)思考:如何從一個字節(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語言的基本運算語言的基本運算關(guān)系運算關(guān)系運算運算符名稱例子運算功能大于aba大于b小于a=大于等于a = ba大于等于b=小于等于a = ba小于等于b!=不等于a != ba不等于bC語言的基本運算語言的基本運算邏輯運算邏輯運算運算符名稱例子運算功能&邏輯與a & ba與b邏輯或a ba或b!邏輯反!aa反C語言的流程控制語句語言的流程控制語句o選擇語句選擇語句nif (表達式表達式) 語句語句1 else 語句語句2nswitch(表達式)表達式) case 常量表達式常量表達式1:語句語句1;break; case 常量表達
7、式常量表達式2:語句語句2;break; case 常量表達式常量表達式n:語句語句n;break; default:語句語句n+1; 學(xué)生成績分段:90100為A,8089為B,6079為C,059為D,輸入學(xué)生成績,然后分類輸出。includeMain三int x;printf(“請輸入學(xué)生成績:/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語言的流程控制語句語言的流程控制語句o循環(huán)語句循環(huán)語句nwhile (表達式表達式) 循環(huán)體語句循環(huán)體語句ndo 語句語句 循環(huán)體語句循環(huán)體語句 while (表達式表達式);nfor (i=0;iN;i+) 循環(huán)體語句循環(huán)體語句C語言的流程控制語句語言的流程控制語句o轉(zhuǎn)移語句轉(zhuǎn)移語句nbreak;ncontinue;int n;for(n=10;n100;n+) if(n%3!=0) continue; printf(“%5d”,n);nreturn;ngoto表達式表達式NYYbreakcontinueNNYYNbreak語句退
9、出循環(huán)continue結(jié)束本次循環(huán)表達式表達式C語言中幾個常用的函數(shù)語言中幾個常用的函數(shù)o標準輸入輸出:標準輸入輸出: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個字節(jié)的整型數(shù),若沒有個字節(jié)的整型數(shù),若沒有鍵按下,則該函數(shù)一直等待,直到有鍵按下。當按下鍵按下,則該函數(shù)一直等待,直到有鍵按下。當按下時
10、,若返回值的低時,若返回值的低8 8位為非零,則表示為普通鍵,其位為非零,則表示為普通鍵,其值代表該鍵的值代表該鍵的ASCIIASCII碼。若返回值的低碼。若返回值的低8 8位表示為擴展位表示為擴展的的ASCIIASCII碼,表示按下的是特殊功能鍵。碼,表示按下的是特殊功能鍵。1 此時,該函數(shù)則用來查詢是否有鍵按下。若返回非此時,該函數(shù)則用來查詢是否有鍵按下。若返回非0 0值,則表示有鍵按下,若為值,則表示有鍵按下,若為0 0,表示沒鍵按下。,表示沒鍵按下。2此時此時, ,該函數(shù)將返回一些控制鍵的狀態(tài),各鍵狀態(tài)由該函數(shù)將返回一些控制鍵的狀態(tài),各鍵狀態(tài)由該函數(shù)返回的低該函數(shù)返回的低8 8位的各位
11、值來表示。位的各位值來表示。bioskey(int cmd) bioskey(int cmd) 它在頭文件中進行了說明,該函數(shù)實際它在頭文件中進行了說明,該函數(shù)實際上調(diào)用了上調(diào)用了BIOSBIOS的的INT16HINT16H中斷,參數(shù)用來確定中斷,參數(shù)用來確定bioskeybioskey三如何三如何操作操作 鍵盤控制C語言中幾個常用的函數(shù)語言中幾個常用的函數(shù)(2)o鍵盤輸入:鍵盤輸入:okbhit三三obioskey(0) /*返回鍵盤輸入返回鍵盤輸入*/owhile(!kbhit三三)/* 如果沒有按下任意鍵繼續(xù)如果沒有按下任意鍵繼續(xù) */o延時:延時:odelay(millisecond)
12、延時若干毫秒延時若干毫秒osleep(second) 延時若干秒延時若干秒Turbo C 2.0 環(huán)境的使用環(huán)境的使用oFile:管理文件和目錄管理文件和目錄, ,裝入或保存程序等裝入或保存程序等; ;oEdit:進入進入Turbo C 的編輯程序的編輯程序, ,輸入和修改源程序輸入和修改源程序; ;oRun:編譯、連接和運行裝入編譯、連接和運行裝入Turbo C 環(huán)境的當前程序;環(huán)境的當前程序;oCompile:編譯和連接裝入編譯和連接裝入Turbo C 環(huán)境的當前程序;環(huán)境的當前程序;oProject:管理多文件工程;管理多文件工程;oOptions:設(shè)置設(shè)置編譯程序和連接程序的各種選擇項
13、編譯程序和連接程序的各種選擇項;oDebug:設(shè)置設(shè)置各種調(diào)試選擇項各種調(diào)試選擇項;oBreak/Watch:設(shè)置設(shè)置斷點,在調(diào)試階段以便監(jiā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幾個常用的命令幾個常用的命令n打開:打開:F3n保存:保存:F2n編譯連接生成編譯連接生成EXE:F9;n運行運行:Ctrl+F9(用AltF5切換到用戶窗口切換到用戶窗口)n調(diào)試:調(diào)試:o單步:單步:F8 不可進入函數(shù)體不可進入函數(shù)體o單步單步: F7 可進入被調(diào)函數(shù)體可進入被調(diào)函數(shù)體o斷點斷點
14、:Ctrl+F8o觀察變量:觀察變量:Ctrl+F7n全屏全屏窗口窗口 模式切換模式切換:Alt+Entero編輯程序編輯程序n編寫程序:記事本,之后在編寫程序:記事本,之后在TC中打開調(diào)試中打開調(diào)試變量申明變量申明o全局變量與局部變量(作用域)全局變量與局部變量(作用域)oint x; /* x就是一個全局變量就是一個全局變量 */omain三三oo int y; /*y就是一個局部變量就是一個局部變量 */oo盡量少用全局變量,因為系統(tǒng)為其分配固定的永盡量少用全局變量,因為系統(tǒng)為其分配固定的永久存儲空間;而系統(tǒng)為局部變量分配動態(tài)存儲空久存儲空間;而系統(tǒng)為局部變量分配動態(tài)存儲空間。間。模塊化
15、編程模塊化編程o在主函數(shù)中的語句盡量的清晰明了,多用子在主函數(shù)中的語句盡量的清晰明了,多用子函數(shù)來完成功能模塊;函數(shù)來完成功能模塊;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);/*獲得光電對管被擋情況*/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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024雜志廣告刊登廣告合同
- 專題02成語、熟語辨析-2022-2023學(xué)年四年級語文上冊期末復(fù)習(xí)知識點精講精練(部編版)
- 2024河北勞動合同范本
- 深圳大學(xué)《音樂教學(xué)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 采購訂單終止合同模板(2篇)
- 香蕉轉(zhuǎn)讓合同范本(2篇)
- 養(yǎng)老院阿爾茲海默癥協(xié)議書(2篇)
- 關(guān)于考試的檢討書
- 出納人員年終工作總結(jié)
- 企業(yè)發(fā)生火災(zāi)應(yīng)急預(yù)案(6篇)
- 2025年高考數(shù)學(xué)專項題型點撥訓(xùn)練之初等數(shù)論
- 上海市浦東新區(qū)2024-2025學(xué)年六年級上學(xué)期11月期中數(shù)學(xué)試題(無答案)
- 教科版三年級科學(xué)上冊《第1單元第1課時 水到哪里去了》教學(xué)課件
- 通信技術(shù)工程師招聘筆試題與參考答案(某世界500強集團)2024年
- 國際貿(mào)易術(shù)語2020
- 國網(wǎng)新安規(guī)培訓(xùn)考試題及答案
- 2024至2030年中國節(jié)流孔板組數(shù)據(jù)監(jiān)測研究報告
- 黑龍江省哈爾濱市師大附中2024-2025學(xué)年高一上學(xué)期10月階段性考試英語試題含答案
- 第六單元測試卷-2024-2025學(xué)年統(tǒng)編版語文三年級上冊
- 【課件】Unit4+Section+B+(Project)課件人教版(2024)七年級英語上冊
- 青少年法治教育實踐基地建設(shè)活動實施方案
評論
0/150
提交評論