第二章重點知識整理
第二章重點知識整理
一.if語句
1、if(表示式)語句。
例如:
if(x>y)printf("%d",x);
2、if(表示式)語句1 else 語句2
例如:
if(x>y)printf("%d",x); else printf("%d",y);
3、if(表示式1)語句1
else if(表示式2)語句2
else if(表示式3)語句3
else if(表示式m)語句m
else 語句 n
在每個語句中,可以有多個語句,但需要加上大括號
例:求一個數的絕對值
if(x>y){printf("%d",x);break;}
例:
#include
usingnamespacestd;
voidmain()
{intx,y;
cout<<“Enteraninteger:”;
cin>>x;
if(x<0)
y=-x;
else
y=x;
cout<<“integer:”<<x<<"–>absolutevalue:"<<y;
}
4.if語句的巢狀
例:編寫一個程式,輸出x,y的值。
#include
usingnamespacestd;
voidmain()
{
intx,y;
cin>>x);
if(x>=0)
if(x>0)y=1;
elsey=0;
elsey=-1;
cout<<“x=”<<x<<“y=”<<y;
}
二.switch語句
switch語句的語法如下(switch,case和default是關鍵字):
switch ( 常量表達式 )
{
case 常量1 :語句;
case 常量2 :語句;
case 常量3 :語句;
…
case 常量n:語句;
default :語句;
}
C++例項
int a=NULL; while(a<10) { a++;//自加 if(a>5)//不等while退出迴圈,直接判斷迴圈 { break;//跳出迴圈 } }
結果: 結束後 a的值為6 。
例 根據輸入字母輸出字串
#include
usingnamespacestd;
voidmain()
{charc;
cout<<“Entermornorhorother:”;
cin>>c;
switch©
{case’m’:cout<<"\nGoodmorning!\n;break;
case’n’:cout<<"\nGoodnight!\n";break;
case’h’:cout<<"\nHello!\n";break;
default:cout<<"\n???\n";break;
}
}
例 編寫一個程式,判斷某年是否為閏年。
要判別某一年(year)是否為閏年。
閏年的條件是符合下面兩者之一:
①能被4整除,但不能被100整除。
②能被100整除,又能被400整除。
用一個邏輯表示式來表示:
(year%40&&year%100!=0)||year%4000
當給定year為某一整數值時,如果上述表示式值為真(1),
則year為閏年;否則year為非閏年。
#include
usingnamespacestd;
intmain()
{
intyear;
boolleap;
cout<<“pleaseenteryear”;
cin>>year;
if((year%40&&year%100!=0)||(year%400
leap=true;
elseleap=false;
if(leap)
cout<<year<<“is”;
else
cout<<year<<“isnot”;
cout<<“aleapyear.”<<endl;
return0;
}
三.迴圈控制
1)while語句
while(<條件>) <語句>;
do <語句> while(<條件>);
例 求一到十的平方
#include
usingnamespacestd;
voidmain()
{inti=1,j;
while(i<=10)
{
j=ii;
cout<<i<<""<<i<<"="<<j;
i++;
}
}
2)do-while語句
do-while 迴圈語法 格式:
do
{
迴圈體;
}
while (條件表達); //條件表達,可以引用外感測器返回值。
以上迴圈將先執行一次,因為經過第一次do迴圈後,當檢查條件表示式的值時,其值為 不成立時而會退出迴圈。保證了至少執行do{ }內的語句一次。
例 用do-while語句求1-100的和
#include
usingnamespacestd;
voidmain()
{inti,sum=0;
i=1;
do
{sum+=i;
i++;
}while(i<=100);
cout<<sum;
}
3)for語句※
for 迴圈的語法:
for ( init; condition; increment )
{
statement(s);
}
例 用for語句求1-100的和
#include
usingnamespacestd;
voidmain()
{inti,sum=0;
for(i=1;i<=100;i++)
sum+=i;
cout<<sum;
}
總結 幾種迴圈的比較
1.三種迴圈均可處理同一問題;
2.for和while語句為先判斷後執行,do-while語句則
先執行後判斷;
3.do-while和while語句多用於迴圈次數不定的情況,
for語句用於迴圈次數確定的情況;
4.do-while語句更適合第一次肯定執行的情況;
5.do-while和while語句只有一個表示式,用於控制循
環是否進行。for語句有三個表示式,不僅可以控
制迴圈是否進行,而且能為迴圈變數賦初值及不
斷修改其值。故for語句功能更強,更靈活。
四.轉向語句
1)break語句
break 語句有以下兩種用法:
1。當 break 語句出現在一個迴圈內時,迴圈會立即終止,且程式流將繼續執行緊接著迴圈的下一條語句。
2。它可用於終止 switch 語句中的一個 case。
2)continue語句
l一般形式:continue;
l功能:結束本次迴圈,跳過迴圈體中尚未執行的語句,
l對於while和do-while,進行下一次是否執行迴圈體的判斷。
l對於for(e1;e2;e3),先執行e3,再進行下一次是否執行迴圈體的判
斷。
l說明:
l僅用於迴圈語句中
lcontinue語句僅結束本次迴圈,
lbreak語句則是結束整個迴圈過程。