程式控制結構(2)
阿新 • • 發佈:2018-12-10
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; }`