循環分支語句

循環語句:數組

1:for循環spa

格式:code

for(語句1;判斷語句;語句2) {循環體;}

執行順序: 先執行語句一,接着進入判斷語句,若不知足判斷語句則不執行語句二直接退出循環.  若知足判斷語句, 則執行語句二,再接着進行判斷語句.直至不知足判斷語句退出循環.blog

特色: 語句一隻執行一次 , for 循環中的語句均可覺得空(此時爲一個死循環),可是格式(; ; ;)不能少.同時要注意判斷語句中的變量,要在語句二中進行自增或自減.input

死循環格式:it

for(語句一; ; 語句二){循環體;}//注意";"不能少.

 

2:while循環io

格式:for循環

while(判斷語句)
{
     循環體;           
}

執行順序:先執行判斷語句,若爲真則將進入循環體,每執行一次循環體須要進行一次判斷,不知足則退出循環.class

死循環格式: 變量

while(1){循環體;}

 

3: do while循環

格式:

do
{
    循環體;
}while(判斷語句)

特色: 先進入循環體,再進行判斷正好和while 循環相反.

死循環格式:

do
{循環體;}
while(1);

分支語句:

1:if  else 分支語句

格式:

if(判斷語句)
{ 語句1;}
else
{ 語句2;}

進入分支語句時看是否知足判斷語句,若知足則執行語句一,不然執行語句二.

注: 當多個if else 語句嵌套時,else 老是向上和未和else結合的if相結合

2:switch 分支語句

格式:

switch (整型變量表達式)//switch的參數類型不能float,double等類型,只能爲整型類型.
{
case 常量1 : 語句1; break;//break用於跳出switch語句.
case 常量2 : 語句2; break;//case的標籤必須爲常量表達式,且必須惟一 //如  case a>b: ... (error,不是常量表達式)
                          // case 常量1:...
                          // case 常量1:..(將報錯,常量表達式不惟一)
case 常量3 : 語句3; break;
...
default : 語句n;break;//若都不符合則進入default.

}

整型變量表達式知足常量 i ,則執行 語句 i,若全都不知足則進入default,執行語句n.

注:由於switch要求參數類型只能爲整型類型,因此極大的限制了switch的使用狀況.當數據類型不知足時須要使用if語句.

 

趣味練習:定義一個二維數組,經過循環和分支語句,實如今屏幕上打印0-9.

代碼以下:

#include<stdio.h>
#include<assert.h>
void
Init_ar(int br[5][3],int row ,int col,int*cr)//利用循環對數組進行賦值 { assert(br != nullptr); int t = 0; for (int i = 0; i < row; i++)// { for (int j = 0; j < col; j++) { if (cr[t]==1)//經過判斷是否爲1,來對數組元素進行賦值操做 { br[i][j] = '*'; t++; } else { br[i][j] = ' '; t++; } } } } void Print_ar(const int br[5][3], int row, int col)//利用循環打印二維數組 { assert(br != nullptr); for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { printf("%c", br[i][j]);//打印數組元素對應的字符 } printf("\n");//控制換行 } printf("\n"); } int main() { int ar[5][3] = {}; int cr0[] = { 1,1,1,1,0,1,1,0,1,1,0,1,1,1,1 };//經過指定0和1,打印出咱們想要的效果. int cr1[] = { 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0 }; int cr2[] = { 1,1,1,0,0,1,1,1,1,1,0,0,1,1,1 }; int cr3[] = { 1,1,1,0,0,1,1,1,1,0,0,1,1,1,1 }; int cr4[] = { 1,0,1,1,0,1,1,1,1,0,0,1,0,0,1 }; int cr5[] = { 1,1,1,1,0,0,1,1,1,0,0,1,1,1,1 }; int cr6[] = { 1,1,1,1,0,0,1,1,1,1,0,1,1,1,1 }; int cr7[] = { 1,1,1,0,0,1,0,0,1,0,0,1,0,0,1 }; int cr8[] = { 1,1,1,1,0,1,1,1,1,1,0,1,1,1,1 }; int cr9[] = { 1,1,1,1,0,1,1,1,1,0,0,1,1,1,1 }; int n = 0; printf("input a number(0-9):");//輸入想打印的數字 scanf_s("%d", &n); switch (n)//switch 多分支語句 { case 0:Init_ar(ar, 5, 3, cr0); Print_ar(ar, 5, 3); break; case 1:Init_ar(ar, 5, 3, cr1); Print_ar(ar, 5, 3); break; case 2:Init_ar(ar, 5, 3, cr2); Print_ar(ar, 5, 3); break; case 3:Init_ar(ar, 5, 3, cr3); Print_ar(ar, 5, 3); break; case 4:Init_ar(ar, 5, 3, cr4); Print_ar(ar, 5, 3); break; case 5:Init_ar(ar, 5, 3, cr5); Print_ar(ar, 5, 3); break; case 6:Init_ar(ar, 5, 3, cr6); Print_ar(ar, 5, 3); break; case 7:Init_ar(ar, 5, 3, cr7); Print_ar(ar, 5, 3); break; case 8:Init_ar(ar, 5, 3, cr8); Print_ar(ar, 5, 3); break; case 9:Init_ar(ar, 5, 3, cr9); Print_ar(ar, 5, 3); break; default: return -1; } return 0; }

 

運行結果:

輸入5: 

 

相關文章
相關標籤/搜索