——黑馬程序員——C語言中程序結構(二)

-----------android培訓java培訓、java學習型技術博客、期待與您交流!-----------

C語言基礎--while語句、do...while語句和for語句

三、循環結構

在C語言程序設計中除了,會遇到需要重複的事情需要處理所以除了(一)中提到的順序結構和分支結構之外還有循環結構。

1、while 語句

while (表達式)
{
語句塊
}
表達式 稱爲循環條件表式,它的值只有兩種情況真或者假, { } 中語句稱作循環體
條件:(1)循環控制條件(2)循環體 (3)讓循環控制條件爲假的語句,否則會死循環
特點:(1)是當型循環,先判斷條件表達式,後執行循環體語句,當表達式爲真時,執行循環
   (2)循環體語句只有一句時可以省略;
           (3)如果條件表達式爲假,循環體語句一次也不執行
           (4)while()之後加了分號“;”之後相當於空語句
    (5)最簡單的死循環 while(1),因爲表達式永遠都成立。
#include <stdio.h>
#include <stdlib.h>
int main()
{
		//定義變量
    int i = 1;
    //判斷i的值
    while(i < 5)
        {
	//打印出信息
	 printf("這是第%d次打印:黑馬程序員\n",i);
	//讓i加1
         i++;
        }
	system("pause");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    //定義變量
    int i = 1;
    //判斷i的值
    while(i > 5)
        {
	        //打印出信息
		printf("這是第%d次打印:黑馬程序員\n",i);
	       //讓i加1
               i++;
        }
     //while條件不成立時程序執行這句
     printf("while循環體沒有執行\n");  
	system("pause");
	return 0;
}


2、do...while 語句

一般形式爲:
do
{
語句塊
}
while (表達式);
表達式 稱爲循環條件表式,它的值只有兩種情況真或者假,do之後的 { } 中語句稱作循環體
特點:(1)是直到型循環,先無條件地執行循環體,然後再判斷循環條件是否爲真,
   (2)不管表達式真假,循環體語句至少會執行一次。
   (3)在do...while(表大式)中while(表達式)之後必須加上分號“;” 不加時會報錯
#include <stdio.h>
#include <stdlib.h>
int main()
{
		//定義變量
    int i = 1;
    //判斷i的值
    do
    {
			//打印出信息
			printf("這是第%d次打印:黑馬程序員\n",i);
			//讓i加1
            i++;
     }
     while(i > 5); 
	system("pause");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
		//定義變量
    int i = 1;
    //判斷i的值
    do
    {
			//打印出信息
			printf("這是第%d次打印:黑馬程序員\n",i);
			//讓i加1
            i++;
     }
     while(i < 5); 
	system("pause");
	return 0;
}

while()之後未加分號“;”是報錯


3、while 和do...while之間的區別:

(1)當循環控制條件第一次判斷不爲假的時候while和do...while 執行的次數相同
(2)當循環控制條件第一次判斷爲假的時候,while循環體執行0次,而do...while 循環執行1次
(3)while先判斷後執行,do...while先執行後判斷

4、for 循環語句

在C語言中for循環是用的最多的也是最靈活的循環,可用於循環次數不確定而只給出循環結束條件的情況,他完全可以代替while語句
一般形式:
for(表達式1;表達式2;表達式)
{
語句塊
}
過程:先求解表達式1的值;再求解表達式2,若其值爲真,則執行{ }中的語句塊,然後返回求解表達式3;若表達式2的值爲假則不執行{ }中的語句塊,程序繼續向下執行
特點:(1)表達式1也稱初始化語句,可以寫在for循環之外,在執行過程中只執行一次
   (2)當條件表達式2不滿足是,則循環結束
   (3)表達式3省略後,會造成for 語句的死循環
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i;
    //調用for循環
    for( i = 0; i < 5; i++)
    {
    //打印結果
    printf("這是第%d次打印:黑馬程序員\n", i);
	}
	system("pause");
	return 0;
}


for循環語句省略格式1

for(;表達式2;表達式3)
{
語句塊
}
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i = 0;
    //調用for循環
    for( ; i < 5; i++)
    {
    //打印結果
    printf("這是第%d次打印:黑馬程序員\n", i);
     }
	system("pause");
	return 0;
}

for循環語句省略格式2

for(;表達式2;)
{
語句塊
}
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i = 0;
    //調用for循環
    for( ; i < 5;  )
    {
    //打印結果
    printf("這是第%d次打印:黑馬程序員\n", i);
   //讓i自增
    i++;
     }
	system("pause");
	return 0;
}

for循環語句省略格式3

for(;;)
{
語句塊
}
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i = 0;
    //調用for循環
    for( ; ; )
    {
    //用if語句判斷i的值
	  if(i < 5)
      //i的值小於5時執行
        {
		//打印結果
		printf("這是第%d次打印:黑馬程序員\n", i);
		//讓i自增
		i++;
        }
        //當i的值不小於5時結束語句
       else
        {
			break;
        }
    }
	system("pause");
	return 0;
}

for語句死循環

#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i;
    //調用for循環
    for( i = 0; i < 5; )
    {
		//打印結果
		printf("這是第%d次打印:黑馬程序員\n", i);	
    }
	system("pause");
	return 0;
}


未完待續。。。。。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章