PIC單片機C語(yǔ)言程序設計(5)
九、C語(yǔ)言的運算符
C語(yǔ)言提供了30多個(gè)運算符,范圍很大,應用廣。除了控制語(yǔ)句和輸入、輸出之外,幾乎所有的基本操作,都是按照運算符來(lái)進(jìn)行處理的,可見(jiàn)其在C語(yǔ)言中的重要性。
1.C語(yǔ)言運算符的作用與分類(lèi)
C語(yǔ)言的運算符可以靈活地與運算對象組合成運算表達式。按其在表達式中的作用,運算符可分成基本運算符和其他運算符?;具\算符有8類(lèi),即算術(shù)運算符、關(guān)系運算符、邏輯運算符、自增運算符、自減運算符、字位運算符、賦值運算符、條件運算符、逗號運算符等。而其他運算符有指針運算符和雜項運算符等。每類(lèi)運算符又包含了多種運算符。
2.基本運算符
?。?)算術(shù)運算符及自增、自減運算符。
表4列出了加、減、乘、除、取模5種算術(shù)運算符,以及自增、自減運算符的操作說(shuō)明。其中,除法運算符又分兩種情況,一是整除, 口兩個(gè)整數相除,所得商舍尾數,僅取整數部分,如5/10等于0;二是實(shí)除,即兩個(gè)實(shí)數相除,所得商也是實(shí)數,如5.0/10等于0.5。
表4 算術(shù)和自增自減運算符
自增運算符++和白減運算符一一,是C語(yǔ)言中最具特色的單目(一個(gè)量)運算符,其操作對象必須是整型變量,而不能為常量或表達式,其功能分別是使變量增1或減1。自增運算符++和自減運算符一有前綴運算符和后綴運算符兩種應用方式,兩者產(chǎn)生的效果有些不同:前綴運算符,如++i或--j,在使用j之前,先使j的值+1或-1;后綴運算符j++或j-。
在使用i之后,才使i的值加1或減1。
例如,Y的原值等5,則:
語(yǔ)句X=++y, 表示y先加1再運算, 得y=y+1.6,x=y=6;語(yǔ)句×=y++, 表示Y先運算再加1, 得x=y=5,y=y+1=6。
在《電子制作》2009年第10期,《PIC單片機C語(yǔ)言程序(1)》的延時(shí)函數中,我們已用過(guò)后綴運算符i++,大家可以從中體會(huì )其用法。
?。?)邏輯運算符。
邏輯運算符是基本運算符中的一種。邏輯運算符有:與“&&”、或“||" 、非“!”等3三種。
邏輯運算符&&、||為雙目(兩個(gè)量)運算符,!為單目運算符。它們要求的操作對象是非0的整型值和整型0表示的邏輯量。其運算規則如下:
1)若兩個(gè)操作對象都為非0整型值(真),則相與的結果為1(真),否則為0(假);2)若兩個(gè)操作對象都為整型值0(假),則相或結果為0(假),否則為1(真);3)若操作對象為非0整型值(真),求非的結果為0(假),否則為1(真)。
這里補充一點(diǎn),算術(shù)運算符中的加、減和乘,與大家熟悉的算術(shù)運算規則完全相同,而除運算符應按上述規范使用。
C語(yǔ)言的運算符內容較多,限于篇幅,這里僅概況地加以介紹,希望讀者在學(xué)習時(shí),根據PIC單片機書(shū)籍,深入學(xué)習C語(yǔ)言的運算符,并通過(guò)編寫(xiě)C語(yǔ)言程序,掌握每個(gè)運算符的意義和使用規則。
3.可預置起始時(shí)刻的時(shí)鐘程序
?。?)硬件電路。
利用《電子制作》2010年第1期《PIC單片機C語(yǔ)言程序(4)》一文中的4位LED數碼管顯示電路(圖3),可以制成24小時(shí)或12小時(shí)循環(huán)顯示的時(shí)鐘電路。且該時(shí)鐘可以由人工預置起始時(shí)刻,即電路插上電源后,可根據當時(shí)的實(shí)時(shí)時(shí)刻,如手機或電視屏上顯示的時(shí)刻,進(jìn)行人工校時(shí),之后即可作時(shí)鐘用;若不進(jìn)行人工預置(校時(shí)),該電路就自動(dòng)從00,O0開(kāi)始,以分為單位起始計時(shí),此時(shí),該電路可作人工守候定時(shí)器。該時(shí)鐘電路不顯示秒,而是以分鐘開(kāi)始的顯示。
該電路仍采用PIC16F84A芯片,當寫(xiě)入本文下面給出的程序后,即可作24小時(shí)時(shí)鐘用。其使用方法如下:
插上電源,LED數碼管顯示OO.O0,按下圖3中的K1鍵,數碼管全滅,松開(kāi)K1鍵,再按下K1鍵,數碼管從0(分位)開(kāi)始計數,到達指定的分鐘顯示時(shí),放開(kāi)K1鍵,又按K1鍵,時(shí)位顯示,到達指定的時(shí)顯示時(shí),放開(kāi)K1,時(shí)鐘即按人工預置起始時(shí)刻工作,操作十分簡(jiǎn)單。
注意:如果預置時(shí)間的時(shí)位是從00開(kāi)始而僅有分鐘的有效值時(shí),當預置分鐘指定值后,仍要再按下K1鍵,使時(shí)位從00遞增又回到00,時(shí)鐘即可工作,否則時(shí)鐘電路不會(huì )工作。
?。?)24小時(shí)的時(shí)鐘C程序。
根據圖3編寫(xiě)的24小時(shí)時(shí)鐘電路的功能,可繪出相關(guān)流程圖(限于篇幅,這里從略,若需要,可根據《PlC單片機C語(yǔ)言程序(4)》一文的圖5,0~9999的計數流程圖,加上下面的C程序中的注釋?zhuān)瑪U展繪出),再由流程圖編寫(xiě)出24小時(shí)的時(shí)鐘C程序。該程序命名為pic0.5.C,其清單如下:
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
評論