C語言拾遺 C語言關鍵字 for

2021-09-24 21:53:50 字數 1704 閱讀 4570

摘要:除了while迴圈,c語言中還有 for 迴圈,它的使用更加靈活,完全可以取代while迴圈。

for 語句的一般形式為:

for (表示式1; 表示式2; 表示式3)

它的執行過程如下圖:

for 迴圈中的「表示式1(初始化條件)」、「表示式2(迴圈條件)」和「表示式3(自增或自減)」都是可選項。這三個表示式,可以都有,也可以都沒有,也可以有任意的一項或兩項,這就是for的靈活性所在。(但分號;必須保留)

1 修改「從1加到100的和」的**,省略「表示式1(初始化條件)」

int main()

}

可以看到,將i=1移到了 for 迴圈的外面。

2省略了「表示式2(迴圈條件)」,如果不做其它處理就會成為死迴圈。例如:

for(i=1; ; i++) sum=sum+i;
相當於:

i=1;

while(1)

3省略了「表示式3(自增或自減)」,就不會修改「表示式2(迴圈條件)」中的變數,這時可在迴圈體中加入修改變數的語句。例如:

for( i=1; i<=100; )

4省略了「表示式1(初始化語句)」和「表示式3(自增或自減)」。例如:

for( ; i<=100 ; )

相當於:

while(i<=100)

53個表示式可以同時省略。例如:

for( ; ; )  語句
相當於:

while(1)  語句
6「表示式1」可以是初始化語句,也可以是其他語句。例如:

for( sum=0; i<=100; i++ ) sum=sum+i;
7「表示式1」和「表示式3」可以是乙個簡單表示式也可以是逗號表示式

for( sum=0,i=1; i<=100; i++ ) sum=sum+i;
或:

for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
8「表示式2」一般是關係表示式或邏輯表示式,但也可是數值或字元,只要其值非零,就執行迴圈體。例如:

for( i=0; (c=getchar())!='\n'; i+=c );
又如:

for( ; (c=getchar())!='\n' ; )

printf("%c",c);

C語言拾遺 C語言關鍵字 extern

摘要 extern是c語言中四個儲存型別關鍵字之一,可修飾全域性變數和函式。乙個工程可以包含若干個原始檔,乙個原始檔可以包含若干個函式,定義在函式外的變數被稱為全域性變數。全域性變數可以為本檔案中的其他函式所共用,它的有效範圍為從定義變數的位置開始到本原始檔結束。如果乙個不在該全域性變數有效範圍內 ...

C語言拾遺 C語言關鍵字 register

摘要 register是c語言中四個儲存型別關鍵字之一,用register宣告的變數是暫存器變數。由於cpu對暫存器的訪問速度遠大於對記憶體的訪問速度,所以把一些頻繁被使用的變數宣告為暫存器變數會提高 的執行速度。但有一些問題需要注意。注意 早期的c編譯程式不會把變數儲存在暫存器中,除非你命令它這樣...

C語言拾遺 C語言關鍵字 return

摘要 函式的返回值是指函式被呼叫之後,執行函式體中的 所得到的結果,這個結果通過return語句返回。return 語句的一般形式為 return 表示式 1 沒有返回值的函式為空型別,用void表示。例如 void func 一旦函式的返回值型別被定義為 void,就不能再接收它的值了。例如,下面...