1. 程式人生 > >程式控制結構(2)

程式控制結構(2)

                                                                switch語句

1.語句格式
switch(表示式)
{
case 常量表達式1:
語句序列1;
break;
case 常量表達式2:
語句序列2;
break;

case 常量表達式 n:
語句序列n;
break;
default:
語句序列 n+1;
}
例:整型及字元型
(1)case標籤只是行標籤,不是選項之間的界限。也就是說,程式跳到switch中特定程式碼行後,將依次執行之後的所有語句,除非有明確的其他指示。程式不會執行到
下一個case處自動停止,要讓程式執行完一組特定語句後停止,必須使用break語句,這將導致程式跳到switch後面的語句處執行。
(2)switch並不是為處理取值範圍而設計的,switch語句中的每一個case標籤都必須是一個單獨的值。如果選項涉及取值範圍、浮點測試或兩個變數的比較,則應使用if
else語句。
迴圈控制


一.while語句
格式1:
while(條件表示式)
語句1;
格式2:
while(條件表示式)
{ 語句1;
語句2;

}
語句執行過程
⑴計算作為迴圈控制條件表示式的值,得到邏輯真或假,假定用M表示
⑵若M為真,則執行了一遍迴圈體,否則離開迴圈,結束整個while語句的執行
⑶迴圈體的所有語句執行結束後,自動轉向第一步執行
例:求兩個正整數的最小公倍數

#include <iostream>

using namespace std;

int main()
{
    int i,m,n;
    cin>>m>>n;
    i=n>m?n:m;
    while(i%n!=0||i%m!=0)
    i++;
        cout<<i<<endl;




    return 0;
}
二,for語句
格式1:
for(控制變數初始化表示式;條件表示式;增量表達式)
 語句1;
格式2:
for(控制變數初始化表示式;條件表示式;增量表達式)
{語句1;
語句2;
}
例:給出一組樣本資料,計算其均值
`#include <iostream>
#include<stdio.h>
using namespace std;

int main()
{
    int n,i;
    double a[100],j=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {cin>>a[i];
     j+=a[i];}
     printf("%.4lf",j/n);

    return 0;
}`