C語言程式設計譚浩強版 八

2021-07-15 23:05:39 字數 2888 閱讀 2429



6.1  迴圈控制概述

迴圈結構是程式中一種很重要的結構。其特點是,在給定條件成立時,反覆執行某

程式段,

直到條件不成立為止。給定的條件稱為迴圈條件,反覆執行的程式段稱為

迴圈體。c語言

提供了多種迴圈語句,可以組成各種不同形式的迴圈結構。

1) 、用goto語句和if語句構成迴圈;

2) 、用while語句;

3) 、用do-while語句;

4) 、用for語句;

6.2  goto語句以及用goto語句構成迴圈

goto語句是一種無條件轉移語句,其一般形式為:goto 語句標號;

語句標號用識別符號表示,它的定名規則與變數名相同,即由字母,數字和下劃線組成,

其第乙個字元必須是字母或者下劃線,不能用整數來做標號。

goto語句通常不用,主要因為它將使程式層次不清,且不易讀,但在多層巢狀退出時, 用

goto語句則比較合理。

例6.1  用goto語句和if語句構成迴圈,

#includeint main(void)

printf("%d\n",sum);

}

6.3  while語句

while語句的一般形式為:while(表示式)語句

其中表示式是迴圈條件,語句為迴圈體。

while語句的語義是:計算表示式的值,當值為真(非0)時, 執行迴圈體語句。

例6.2  用while語句求

#includeint main(void)

printf("%d\n",sum);

}

使用while語句應注意以下幾點:

1)、while語句中的表示式一般是關係表達或邏輯表示式,只要表示式的

值為真(非0)即可繼續迴圈。

2)、迴圈體如包括有乙個以上的語句,則必須用{}括起來,組成復合語句。

例6.3  統計從鍵盤輸入一行字元的個數。

#includeint main(void)

printf("%d\n",n);

}

使用while語句應注意以下幾點:

1)、while語句中的表示式一般是關係表達或邏輯表示式,只要表示式的

值為真(非0)即可繼續迴圈。

2)、迴圈體如包括有乙個以上的語句,則必須用{}括起來,組成復合語句。

6.4  do-while語句

do-while語句的一般形式為: do

語句while(表示式);

與while迴圈的不同在於:它先執行迴圈中的語句,然後再判斷表示式是否為真,

如果為真則繼續迴圈;如果為假, 則終止迴圈。因此, do-while迴圈至少要執

行一次迴圈語句。

例6.5  用do-while語句求

#includeint main(void)

while(i <= 100);

printf("%d\n",sum);

}

6.5  for語句

在c語言中,for語句使用最為靈活,它完全可以取代 while 語句。

它的一般形式為:for(表示式1;表示式2;表示式3) 語句 f

or語句最簡單的應用形式也是最容易理解的形式如下:

for(迴圈變數賦初值;迴圈條件;迴圈變數增量) 語句

例如: for(i=1; i<=100; i++)

6.6  迴圈的巢狀

例6.7  迴圈的巢狀

#includeint main(void)

6.7  幾種迴圈的比較

1) 、四種迴圈都可以用來處理同乙個問題,一般可以互相代替。

但一般不提倡用goto型迴圈。

2)、 while和do-while迴圈,迴圈體中應包括使迴圈趨於結束的語句。

for語句功能最強。

3) 、用while和do-while迴圈時,迴圈變數初始化的操作應在while和

do-while語句之前完成,而for語句可以在表示式1中實現迴圈變

量的初始化。

6.8 break和continue語句

6.8.1  break語句

break語句可以使流程跳出switch結構,繼續執行switch語句下面的乙個語句,

實際上,break語句還可以用來從迴圈體內跳出迴圈體。

例6.8

#includeint main(void)

if(c == 27)

break;

i++;

printf("the no. is %d\n",i);

} printf("the end");

}

6.8.2  continue 語句

continue其作用為結束本次迴圈,即跳出迴圈體中下面尚未執行的語句,接著

進行下一次是否執行迴圈的判定。

continue語句和break語句的區別是:

continue語句只結束本次迴圈,而不是終止整個迴圈的執行

break語句是結束整個迴圈過程,不再判斷執行迴圈的條件是否成立。

例6.9

#includeint main(void)

}



C語言程式設計譚浩強版 一

本章的一些概況這裡就不說了,直接進入細節的學習!3.1 c的資料型別 資料型別分為 基本型別 構造型別 指標型別 空型別 基本型別又分為 整型 字元型 實型 浮點型 又分為單精度型 雙精度型 列舉型別 構造型別又分為 陣列型別 結構體型別 共用體型別 3.2 常量和符號常量 在程式執行過程中,其值不...

C語言程式設計譚浩強版 三

3.5 字元型資料 3.5.1 字元常量 字元常量是用單引號括起來的乙個字元。例如 a b 都是合法字元常量。在 語言中,字元常量有以下特點 1 字元常量只能用單引號括起來,不能用雙引號或其它括號。2 字元常量只能是單個字元,不能是字串。3 字元可以是字符集中任意字元。但數字被定義為字元型之後就不能...

C語言程式設計譚浩強版 四

3.6 變數賦初值 語言程式中可有多種方法為變數提供初值。本小節先介紹在作變數定義的同時給變數賦以 初值的方法。這種方法稱為初始化。變數初始化不是在編譯階段完成的,而是在程式執行 時執行本函式時賦予初值的。在變數定義中賦初值的一般形式為 型別說明符變數1 值1,變數2 值2,例如 int a 3 i...