while循環(huán)在其它高級(jí)語(yǔ)言(如C、C++、C#、Java)中,被稱為“當(dāng)”型循環(huán)。即當(dāng)條件為真時(shí),執(zhí)行循環(huán)體中的相關(guān)語(yǔ)句。在R語(yǔ)言中,while循環(huán)與之相同。
在R語(yǔ)言中,while循環(huán)的語(yǔ)法格式如下:
while(cond){expr}
其中,cond是一個(gè)條件表達(dá)式,其值應(yīng)為TRUE或FALSE;expr是當(dāng)cond條件為TRUE時(shí)要執(zhí)行的表達(dá)式或若干語(yǔ)句。當(dāng)cond為TRUE時(shí),要反復(fù)執(zhí)行expr,否則停止循環(huán),進(jìn)入while循環(huán)后面的其它語(yǔ)句中去執(zhí)行。

下面舉幾個(gè)例子:
舉例1:使用while循環(huán)輸出向量中的元素
x <- c(11,12,13,14,15)
i <- 1
n <- length(x)
while( i <= n)
{
print(x[i])
i <- i + 1
}

舉例2:使用while循環(huán)求1~100所有整數(shù)之和。
i <- 1 #循環(huán)計(jì)數(shù)
sum <- 0 #保存用于存儲(chǔ)之和sum
while( i <= 100)
{
sum <- sum + i #將每個(gè)i加入到sum中
i <- i + 1 #循環(huán)計(jì)數(shù)量加1
}
print(sum) #輸出和

舉例3:求Fibonacci數(shù)列的前N項(xiàng)
i <- 3
N <- 20
F <- NA
F[1] <- F[2] <- 1
while(i <= N)
{
F[i] <- F[i - 2] + F[i - 1]
i <- i + 1
}
print(F)

新聞熱點(diǎn)
疑難解答