控制語句:程式預設是順序執行,但在實際項目中需要選擇、迴圈。 1 選擇控制語句if 1.1 if語句的形式 1 if(條件表達式) 2 {//複合語句,若幹條語句的集合 3 語句一; 4 語句二; 5 } 註意:如果條件成立執行大括弧里的所有語句,不成立的話大括弧里的語句都不執行。 if(條件表達式 ...
控制語句:程式預設是順序執行,但在實際項目中需要選擇、迴圈。
1 選擇控制語句if
1.1 if語句的形式
1 if(條件表達式) 2 {//複合語句,若幹條語句的集合 3 語句一; 4 語句二; 5 }
註意:如果條件成立執行大括弧里的所有語句,不成立的話大括弧里的語句都不執行。
if(條件表達式) //如果if沒有{} 只能作用一條語句(if只能識別語句一)
語句一;
語句二;
案例一:判斷data是否被3整除
int data =12;
if(data%3 == 0)
{
cout<<data<<"能被3整除"<<endl;
}
1.2 if else
案例二:對一個int數據取餘數
int data =0; cout<<"請輸入一個整數"; cin>>data; if(data%2 ==0) { cout<<"餘數為0"; } else {
cout<<"餘數為1"; } }
註意:如果項目有兩種結果,且不會同時出現,就選擇if...else...
1.3 if...else if...else語句
if(表達式1) { 語句1; } else if(表達式2) { 語句2; } ... else() { 語句n; }
- 如果表達式1為真 執行語句1,其他條件將不會再判斷。只有當表達式1為假時 才會去判斷表達式2的真假。
- 如果表達式2為真執行語句2,其他條件將不會再判斷。只有當表達式2為假時才會去判斷表達式3的真假。(依此類推)只有所有表達式都為假時,最後才會執行else中的語句n。
- 註意:如果項目有多個結果,但是只會出現一個,請選擇if...else if
- 案例一:輸入int數據求餘數:
int data =0; cout<<"請輸入一個整數"; cin>>data; if(data%3 ==0) { cout<<"餘數為0"; } else if(data%3==1) { cout<<"餘數為1"; } else { cout<<"餘數為2"; }
2 選擇控制語句 switch
switch(表達式) //
表達式只能是字元型(char)或整形的(short int int long int)
{ case 常量表達式1: 語句1: break; case 常量表達式2: 語句2: break; default: 語句3; break; }
將表達式的結果與case後的常量表達式的值一 一對比,相等就從當前case語句處進入執行,直到遇到break跳出switch語句。(表達式只能是字元型(char)或整形的(short int int long int))
案例二:鍵盤輸入1~7的數值判斷是星期幾
int data =0; cout<<"請輸入一個0~7之內的整數:"; cin>>data; if(data>7||data<1) { cout<<"輸入無效"; // return; } switch(data) { case(1): cout<<"周一"<<endl; break; case(2): cout<<"周二"<<endl; break; case(3): cout<<"周三"<<endl; break; case(4): cout<<"周四"<<endl; break; case(5): cout<<"周五"<<endl; break; case(6): cout<<"周六"<<endl; break; case(7): cout<<"周日"<<endl; break; }
if 和switch的區別:①if語句表達式沒有所謂的類型限定,switch限定字元型或者整型
②if語句能完成的事情包含switch語句做的事情 ③switch是對結果值的判斷,if是對錶達式真假的判斷
3 迴圈控制語句 for
for(初始化語句;迴圈條件;步進語句) { //複合語句 迴圈體; }
初始化語句:只會在進入for迴圈前執行一次初始化動作
迴圈條件:每次迴圈都會執行,只有當迴圈條件為真時才會進入迴圈體
步進語句:每次迴圈體執行完成後會自動執行步進語句
案例三:for迴圈求0~100的和
//對0~100求和 int i =0; int sum = 0; for(i=0;i<=100;i++) { sum+=i; } cout<<"和="<<sum<<endl;
for迴圈中,break:跳出所在的迴圈,continue:後邊的語句將不會執行,進入下一次迴圈。
迴圈嵌套迴圈
for(i=0;i<10;i++) { for(j=0;j<10;j++) { 語句一; } }
先寫內層迴圈 然後再寫外層迴圈
案例四:輸出九九乘法表
int i=0; int j=0; //輸出九九乘法表 for(i=1;i<=9;i++) {cout<<endl; for(j=1;j<=i;j++) { cout<<j<<" × "<<i<<" = "<<i*j<<" "; } }
4 迴圈控制語句while
//1、外部實現初始化 2、內部實現步進語句 while(迴圈條件)
{
迴圈語句;
}
案例五:while實現1~100求和
//1到100求和 int i = 1; int sum = 0; while(i<=100) { sum+=i;
i++;
} cout<<"sum= "<<sum<<endl; }