c語言延時函數(shù)和if語句 c語言程序if語句

C語言延時函數(shù)

C語言的延遲函數(shù)一般是利用無意義程序運(yùn)行來控制時間從而達(dá)到延時的目的

成都創(chuàng)新互聯(lián)公司:于2013年成立為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為1000+公司企業(yè)提供了專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 定制網(wǎng)站設(shè)計由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。

舉個例子:

for(i=0;ix;i++)

for(j=0;j120;j++);

這是延時x毫秒的for循環(huán)語句。

值得注意的是記得最后的;一定得記得寫。

單片機(jī)C語言中,怎么通過循環(huán)次數(shù)計算延遲函數(shù)的延遲時間?

首先你要知道一個指令周期是幾秒

算法是1/(晶振頻率除以12)

然后你要知道循環(huán)究竟執(zhí)行了幾個指令周期

你可以用keil里在線反匯編命令看看你的循環(huán)編譯成機(jī)器語言后到底是幾個指令周期

這樣就知道了延遲時間

當(dāng)然你取近似值也可以的

比如

for(i=0,i255,i++){x=2}

這里x=2是一個指令周期

而執(zhí)行了255次

假如你的晶振是12MHZ的

則你執(zhí)行一個指令周期是1us

255次是0.255ms

學(xué)過c語言,但是沒有不懂那個#if #dlif 還在延時函數(shù)里面用(☆_☆)

這個是預(yù)編譯的寫法,符合#if后面的條件后編譯器才會編譯,否則不會占用FALSH空間,

#if 相當(dāng)于 if

#elif 相當(dāng)于 else

#endif 表示上面的判斷結(jié)束。

你這個程序的意思是當(dāng)晶振頻率是那個值則編譯那個for循環(huán),來達(dá)到不同頻率都可以使用這一個函數(shù)來達(dá)到更精確的延時。

if語句的用法c語言是什么?

c語言提供了三種形式的if語句:

1、if(表達(dá)式)語句。

例如:if(xy)printf("%d",x);

此時,如果表達(dá)式為真,則執(zhí)行printf語句。

2、if(表達(dá)式)語句1 else 語句2

例如:

if(xy)printf("%d",x);

else?printf("%d",y);

此時,如果xy成立為真,則執(zhí)行語句printf("%d",x),然后直接跳過else,同時也跳過語句printf("%d",y),去執(zhí)行之后的語句。

如果xy不成立為假,則不執(zhí)行語句printf("%d",x),執(zhí)行語句printf("%d",x)。

3、if(表達(dá)式1)語句1

else if(表達(dá)式2)語句2

else if(表達(dá)式3)語句3

else if(表達(dá)式m)語句m

else 語句 n

此時,哪個表達(dá)式為真,則運(yùn)行哪個if后面的語句。如表達(dá)式3成立為真,執(zhí)行語句3。

在每個語句中,可以有多個語句,但需要加上大括號

例:if(xy){printf("%d",x);break;}

IF函數(shù)的參數(shù):

(1)Logical_test 表示計算結(jié)果為 TRUE 或 FALSE 的任意值或表達(dá)式。

例如,A10=100 就是一個邏輯表達(dá)式,如果單元格 A10 中的值等于 100,表達(dá)式即為 TRUE,否則為 FALSE。本參數(shù)可使用任何比較運(yùn)算符(=(等于)、(大于)、=(大于等于)、=(小于等于等運(yùn)算符))。

(2)Value_if_true表示 logical_test 為 TRUE 時返回的值。

例如,如果本參數(shù)為文本字符串“預(yù)算內(nèi)”而且

logical_test 參數(shù)值為 TRUE,則 IF 函數(shù)將顯示文本“預(yù)算內(nèi)”。如果 logical_test 為 TRUE 而

value_if_true 為空,則本參數(shù)返回 0。

(3)Value_if_false表示 logical_test 為 FALSE 時返回的值。

例如,如果本參數(shù)為文本字符串“超出預(yù)算”而且

logical_test 參數(shù)值為 FALSE,則 IF 函數(shù)將顯示文本“超出預(yù)算”。如果 logical_test 為 FALSE 且忽略了

value_if_false(即 value_if_true 后沒有逗號)。

單片機(jī)C語言為什么這個程序執(zhí)行到IF語句時沒有延時呢?

一般單片機(jī)在c語言中很難得到精確的延時,所以一般對時間要求高的都用計時器中斷來做了。如果時間要求不嚴(yán)格可以用for循環(huán)來做,你可以實(shí)際測試一下,把時間延時到大概一秒左右,然后燒進(jìn)單片機(jī)里運(yùn)行,比如一個燈亮燈滅的程序,看著燈計數(shù),同時用秒表計時,幾個幾十次后取平均值就能知道大概時間了。

c語言程序中while循環(huán)語句中有兩個if條件語句,兩個條件語句中都有延遲

while (i = 100) {

if (i == 50) {

Sleep(1000);

break;

}

if (i != 50)

Sleep(2000);

i++;

}

兩個 if 語句,不管程序會不會執(zhí)行者兩個 if 語句,程序都會在一次循環(huán)中檢查兩個 if 語句,而不會一定執(zhí)行這兩個語句,如上所述,兩個 if 語句在一個 while 循環(huán)中并不會同時執(zhí)行,上述代碼中的第二個 if 語句完全可以使用 else代替,但是為了保持你問題的效果,我用了 if 語句,兩個產(chǎn)生效果是相同的。

總之:

1. if 語句不會同時執(zhí)行,你可以將條件同時寫入 if 語句分參數(shù)中來達(dá)到同時執(zhí)行的目的。

2. 在循環(huán)中的 if 語句,不論有幾個 if 語句,編譯器都會檢查這幾個 if 語句而非執(zhí)行,如你所知,只有當(dāng)條件判斷符合是才會執(zhí)行 if 語句

當(dāng)前題目:c語言延時函數(shù)和if語句 c語言程序if語句
URL地址:http://muchs.cn/article2/hjdgic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站維護(hù)App設(shè)計、網(wǎng)站排名面包屑導(dǎo)航、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)