<span style="font-family: 宋體;font-size:14px;">------</span><a target=_blank href="http://www.itheima.com/" target="blank" style="font-family: 宋體;font-size:14px;">Java培訓、Android培訓、iOS培訓、.Net培訓</a><span style="font-family: 宋體;font-size:14px;">、期待與您交流!------</span>
<span style="font-size:18px;">一、選擇結構</span>
1.if語句
1>常見的形式
(1)if(表達式)
A;
else
B;
(2)if(表達式)
{A ; B ; C ; }
else
{E ; F ; G}
(3)if (表達式)
A;
else
{ B; C ; D ;}
(4)if (表達式)
{A ; B ;C ;}
else
D;
2>流程:
表達式成立,則執行語句1;不成立,則執行語句2
注:else與if是一個整體,即else不能單獨出現
3>選擇的嵌套
(1)if(表達式)
{……}
else
{……}
(2)if(表達式)
if(表達式)
{…… }
else
{……}
else
{……}
(3)if (表達式)
{……}
else
if (表達式)
{……}
(4) if (表達式)
{……}
else
if (表達式)
{……}
else
{……}
case 常量1:
語句1;
語句2;
break;
case 常量2:
語句1;
語句2;
break;
...
default:
break;
}
表達式的類型只能是類型或字符型
表達式的後邊無任何符號
case與常量表達式之間必須有空格
常量表達式必須是常數,並且它只能是整型數或字符型
常量表達式間不能相同
常量表達式後必須緊跟冒號
default語句可有可無,書寫位置任意:當switch無相關匹配項時,則執行default語句,若此時,也沒有default,則程序跳過switch,執行後面的內容。
流程:首先,計算表達式,然後根據表達式的結果選擇相應匹配項,並且程序從當前匹配項開始,依次向下執行,直到switch結束。
<注>:遇到break語句除外。break跳出的是本層switch
二、循環結構
while( 條件)
{
語句1;
語句2;
....
}
如果條件成立,就會執行循環體中的語句(“循環體”就是while後面大括號{}中的內容)。然後再次判斷條件,重複上述過程,直到條件不成立就結束while循環
while循環的特點:如果while中的條件一開始就不成立,那麼循環體中的語句永遠不會被執行
do{
語句1;
語句2;
....
}while (條件 );
當執行到do-while循環時,首先會執行一遍循環體中的語句(“循環體”就是do後面大括號{}中的內容)。接着判斷while中的條件,如果條件成立,就執行循環體中的語句。然後再次判斷條件,重複上述過程,直到條件不成立就結束while循環
do-while循環的特點:不管while中的條件是否成立,循環體中的語句至少會被執行一遍
for(初始化表達式;循環條件表達式;循環後的操作表達式)
{
執行語句;
}
for循環開始時,會先執行初始化表達式,而且在整個循環過程中只執行一次初始化表達式
接着判斷循環條件表達式,如果條件成立,就會執行循環體中的語句(“循環體”就是for後面大括號{}中的內容)
循環體執行完畢後,接下來會執行循環後的操作表達式,然後再次判斷條件,重複上述過程,直到條件不成立就結束for循
注:死循環 for(;;);
eg:輸出99乘法表
int main()
{
int i,j;
for(i=1; i<=9 ; i++)//整體執行n遍
{ for( j = 1; j <= i ; j++) //每一遍具體的執行
printf("%d * %d = %d ", j ,i , j*i) ;
}
printf("\n")
}
break和continue語句
break在循環體中的作用:結束整個循環。若break出現在循環體的switch中,則跳出switch。若在循環中,則跳出整體循環
continue只在循環體起作用,它的作用是:結束本次循環。在循環體中,若執行continue,則其後面的內容不再執行。對於while和do-while而言,轉去計算表達式。對於for而言,先轉去計算表達式3,然後再計算表達式2.