[PDF]

2.4 Control statements
"!$#&%'!)(*+#-,(!.%/!102!3#-,4!6587:9;5<=>?A@/!B7C7D!/E@/!'FG,H*I!'E2FKJMLNE<&,#&E#@B,
OBP ,Q#R*+# O JS,1=
TJS7S7U P %/#&EV,JSEW#L P+XYX #&%B9Z<\[^])%BJML/,4<&,H7D!+_ L`Ja5!3#-L/F
b *I!`cV,4<d%B9e<\[$f*JM7g<&Lh<'0*9i b *I!$jkJSl!BLm#&E5eno0VJSE2Jp<dEVL
<\[`,H*I!q"<d%r7s5_tLYu)%'!6#-,4!BL',Nf*JM7g<&Lh<'0*I!'%rLwv/xy&zV{/|
b * JMLmLh!3@B,MJ1<dE}JSEV,M%/<h5 P @3!BLQ[~< P %R@/<dE@3!10,HL,4<@/<dEV,M%/<&7,H*I!;!6?!/@ P ,MJ1<dE€<\[Y#Y0V%'<&
‚ %3# X iƒ4„'…†„'‡3ˆ\‰†Šd‹2F‰Œˆ\„/Žˆ\‰†Šd‹2Fo‘A…†Š’‡\“’ƒ/F`#&E5•”a–—™˜8ƒ= b *I!BL~!š@3<dE@/!10,HL•!'E# O 7g! P L
,4<Z5!'lhJp#-,4![3%'< X ,H*I!Y5!M[~# P 7›,7JSE!6#&%;@/<dEV,M%'<&7Aœ.<d((*J1@B*ž!6?A!/@ P ,4!BLmL',1#-,4! X !'EV,
O 9L',1#-,4! X !/EV,.[/%'< X ,4<'0Ÿ,4< O <&,H,4< X = < P (GJS7S7¡7g!3#&%BE¢*I<d(£,H*I!BLh!¤@/<dE@3!10,HL
#&%'!YJ X 07D! X !'EV,4!35eJCE¦¥§$§F$#&E5Z*I<d(¨,4<"#B0©07:9e,H*I! X ,4<ª@/%'!3#-,4!JCEV,4!'%'!BL/,MJSE ‚
0V%'< ‚ %/# X L=
« ¬ „¡˜\Šd­®Ž~—mƒ°¯G„ ¬ ŽB±&„^ƒ1„'„'‹Tƒ1г²gސ)Ž~\„Žh…†…´˜A4„/ˆ4ˆ¶µRƒ4‰†—™˜A…†„h· «G¬ „3µR‡'Šd‹ƒ4‰†ƒ1ˆŠd²KŽ™ƒ4„/¸’–„'‹‡'„
Šd²ƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒNˆ ¬ Ž~ˆQŽ~\„`„3¹„'‡'–©ˆ\„'ºZŠd‹„‘’µ•Šd‹„`²†4Šd—»ˆ ¬ „¼\ƒ1ˆ)ˆ\гˆ ¬ „`…sŽhƒpˆB·`½’–‡ ¬ Ž™˜\Šd­®Ž~—
‰†ƒQƒ\Žh‰†ºZˆ\Š ¬ Ž'±&„wŽš7:JCE!3#&%e@/<dEV,M%'<&7œ.<d(· «¬ ‰†ƒQˆaµ˜2„¾Šd²¿‡/Šd‹ˆ4\Šd…KÀAА¯Á‰†ƒ.¸–‰Œˆ\„$4„'ƒ1ˆ4\‰Œ‡/ˆ\‰Œ±&„®ÂŽhƒ
„BŽh‡ ¬ ƒ1ˆŽˆ\„'—m„'‹-ˆ‰Œ‹ˆ ¬ „.ƒ4Šd–©\‡'„.‡'Š’º„.‰Œƒ°„3¹„'‡'–©ˆ\„'ºšŽ~ˆ—mŠdƒ1ˆŠd‹A‡/„¡º–4‰†‹­$ˆ ¬ „.„6¹©„'‡'–©ˆ\‰ŒŠd‹RŠd²Ãˆ ¬ „
˜\Šd­®Žh—R·N½’–˜˜2Šdƒ1„¡µ&Šd–š¯Žh‹-ˆNˆ\Šw‰†—™˜A…†„'—m„'‹-ˆŽh‹šŽh…†­dŠ®\‰Œˆ ¬ —Ĉ ¬ Ž~ˆ˜2„3\²sŠ®\—mƒ BÅ Â ÅdÅdÅ ƒ1ˆ\„/˜Aƒ²sŠ®
ƒ4Šd—m„N‰†‹©˜A–©ˆB· «G¬ „/‹Yµ&Šd–w¯GŠd–A…Œº ¬ Ž'±&„Nˆ\Š^¯°\‰Œˆ4„Ž.˜A4Šd­®Žh—Ư‰›ˆ ¬ Ž~ˆG…†„BŽhƒpˆ BÅ Â ÅdÅdÅ …†‰†‹„'ƒoŠd²‡'ŠºA„h·
Ç ‘’±‰ŒŠd–Aƒ1…Œµˆ ¬ ‰†ƒN‰Œƒ–‹Aº„'ƒ1‰ŒŽ~‘A…†„®· «¬ „/\„/²sŠ®\„®ÂV‰†‹;Š®\º„/Nˆ\Šw‰†—™˜A…†„'—m„/‹ˆ‹Šd‹©ÈSˆ4\‰Œ±’‰sŽh…´Žh…†­dŠ®\‰›ˆ ¬ —mƒ'Â
—mŠ®\„N˜2Šr¯G„/\²s–…V—m„'‡ ¬ Žh‹‰†ƒ4—mƒoˆ\Š$‡'Šd‹ˆ44Šd…Vˆ ¬ „ÀAА¯ÉŠd²Ž˜\Šd­®Ž~—ÊŽ\„Q‹„'„/ºA„/º·
2.4.1 Selection: if– and if-else statements
Ç ‹A„˜8Ž~4ˆ\‰Œ‡'–…sŽ~\…Œµƒ4‰†—™˜A…†„¡¯Ž'µRˆ\ŠYºA„3±‰sŽ~ˆ4„`²†4Šd—»…Œ‰†‹„BŽ~‡'Šd‹-ˆ4\Šd…ÀAА¯¦‰†ƒˆ\гƒ4„'…†„/‡/ˆQ¯ ¬ „/ˆ ¬ /„ )Š®
‹Š®ˆŽ`˜8Ž~1ˆ\‰†‡'–…sŽ~ƒ1ˆŽˆ\„'—m„'‹-ˆ‰†ƒ„3¹©„'‡/–ˆ4„'ºV·ËM‹•ÌÍ)ͦˆ ¬ ‰Œƒ°‡BŽh‹R‘2„.ºAŠd‹„.±’‰s޾Ž~‹
L',1#-,4! X '! EV,H·
if
«G¬ „)ƒ1µ’‹ˆŽ¹‰†ƒ
if οÏ'АÑIҒÓMÔSÓCАÑÕ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
¯ ¬ „/4„
‰†ƒŽh‹„3¹’˜A4„'ƒ4ƒ4‰†Šd‹ÚŠ®³±hŽ~\‰sŽ~‘A…†„šº„'‡'…sސŽ~ˆ\‰†Šd‹}Šd²^Žeˆaµ˜2„•¯ ¬ Šdƒ4„š±hŽh…†–„'ƒY‡BŽh‹
ÓHÔSÓCˆ\АŠ Ñ
‘2„^‡'Šd‹-±&Ï'„/А4ÑIˆ\҄/ºš
Â2Žh‹º Ö
Žhƒˆ ¬ „^‹AŽh—m„Qƒ4–­d­d„'ƒ1ˆ\ƒ
‰†ƒŽ$ƒ1ˆŽ~ˆ\„/—m„'‹ˆB·:ÜHÜ «G¬ „
bool
a
Ô
×
a
Ô
\
Ø

Ù

Ø
I
Ñ
Ô
Û
Û
ƒ4„'—wŽ~‹ˆ\‰†‡/ƒ2‰†ƒ2ˆ ¬ „K²sŠd…Œ…†Š¯°‰†‹­©Ý
‰†ƒV„/±hŽh…†–AŽ~ˆ4„'ºVÞh‰†²Žh‹º.Šd‹…Œµ‰†²-‰Œˆ\ƒ2±hŽh…†–„k‰†ƒk,M% P !B Ö
Ï'АŠ®ÑIˆ Ò¬ ÓH„3ÔSÓCm
ÐÑ ¯GŠ®\ºƒ'°Ž~‹
؏Ù‰†‹-؏Ñ+
‰†ƒm„3¹„'‡'–©ˆ\„'ºßŽh²†ˆ\„/1¯Ž~\ºƒ'·àËM‹W
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ™ƒ1˜A…†‰Œˆ\ƒ¾ˆ ¬ „R‡/Šd‹ˆ4\Šd…ÀAÔa×&ŠrÔa¯á
ˆ\Š Ô
if
ˆ¶¯GŠY‘Žh‹‡ ¬ „'ƒ'· «¬ „±®Žh…Œ–A„`Šd²
ƒ4„/…†„'‡/ˆ\ƒ)¯ ¬ ‰†‡ ¬ Šd²Kˆ ¬ „'ƒ4„`‘A\Žh‹‡ ¬ „'ƒQ‰†ƒ)„3¹©„'‡/–ˆ4„'ºV·™â©Š®
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
D
Ó

Ð
Ñ
„3¹©Žh—™˜A…†„®Â’ˆ ¬ „)²sŠd…†…†Šr¯‰†‹­…†‰†‹„'ƒGŠd²´‡'Š’º„
ãCãHä›åoæ1ç\èSé8ê/ëì¿ç1íHé8î¿ïðèSèDïñå~òÃç´èCéaî¿ïñæpëóðëåç1ôðõSé¶íAöa÷Dø6÷gùSúùCûd÷MüdíHéaæpç\óýó'õSþhç1õõSþïðèèCéaî¿ïñæpëóðëåïðè-ÿdç1íSõ©ëôõSþ~éIègõHç1õSéaîGé¶å'õ
NKÉ

int a;
std :: cin > > a;
if ( a % 2 == 0) std :: cout < < " even ";
\„BŽ~º"Ž‹–A—‘2„/¡²†\Šd— 1ƒ ˆŽh‹ºAŽ~\º‰†‹©˜A–©ˆ^‰†‹ˆ4Šˆ ¬ „™±®Ž~4‰sŽ~‘A…†„
Žh‹ºe¯°\‰Œˆ4„
ˆ\Š;ƒ1ˆŽ~‹AºAŽ~4º
a
even Šd–©ˆ4˜A–©ˆ‰Œ²Žh‹ºŠd‹…Œµw‰†² †‰ ƒ„/±&„'‹V·
a
Ç ˜ˆ\‰ŒŠd‹8Ž~…†…Œµ&Â&Žh‹
ƒ1ˆŽ\ˆ „'—m„'‹-ˆ‡'Žh‹™‘2„°‡/Šd—™˜8…Œ„'—m„'‹ˆ4„'º$‘µ™Žh‹
 O %/#&E@B*©· «G¬ „°ƒ1µ’‹ˆŽr¹™‰†ƒ
if
else
if οÏ'АÑIҒÓMÔSÓCАÑÕ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
else
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
Žh‹ºTˆ ¬ „$ƒ4„'—wŽh‹-ˆ\‰†‡'ƒ‰†ƒQŽhƒ.²sŠd…Œ…†Š¯°ƒ'Ý
‰†ƒ.„3±®Žh…Œ–8ސˆ\„'ºVÞɆ²‰Œˆ\ƒ±®Ž~…†–„¾‰†ƒ`,M% P !B Ö
×-Ô¶˜A؏…†Ù
‰†ƒ„6¹©„'‡'–©ˆ\„/ºTŽh²†ˆ4„/4¯Ž~\ºƒ'Þ8Š®ˆ ¬ „/4¯°‰†ƒ4„®Ï'Â ÐÖ ÑIÒÓHÔSÓCАÑ
‰†ƒ°„3¹©„'‡/–ˆ4„'ºTŽ~²†ˆ\„/4¯Ž~4ºAƒ/·°â©Š®„3¹©ŽhÔa—™
„®Â©ØÑI
ˆ ¬ Ԅ
Ôa×-ÔaØ\Ù؏ÑIÔ
²sŠd…†…†Šr¯‰Œ‹A­^…Œ‰†‹„'ƒŠd²´‡'Š’º„
int a;
std :: cin > > a;
if ( a % 2 == 0)
std :: cout < < " even ";
else
std :: cout < < " odd ";
\„BŽ~ºªŽR‹’–—‘2„/²†\Šd— ƒ1ˆŽ~‹AºAŽ~4º"‰†‹©˜A–©ˆ‰†‹ˆ\ŠRˆ ¬ „m±hŽ~\‰sŽ~‘A…†„ · «G¬ „'‹"‰Œ²
‰Œƒ^„/±&„'‹VÂ
‰†ƒ
a
even ¯°4‰Œˆ4ˆ\„'‹³ˆ\Š`ƒ1ˆŽh‹ºAŽ~\ºŠd–©ˆ4˜A–©ˆBÞ©Š®ˆ ¬ „/1¯‰†ƒ4„hÂ
‰†ƒG¯°\‰Œˆ1ˆ\„'‹Yaˆ4Š$ƒ1ˆ\Žh‹º8ސ\º
Šd–©ˆ4˜A–©ˆB·
odd
¬ „/‹T²sŠ®\—wŽ~ˆ1ˆ\‰†‹­¾Ž~‹
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'Â+‰ŒˆN‰Œƒ‡'Šd—m—mŠd‹ˆ\Šm‰Œ‹Aƒ1„/4ˆ)޾…†‰Œ‹A„Q‘A4„BŽ~“‘2„/²sŠ®\„ Ö
Ôa×-Ž~Ô¶\؄ ÂI‘2„'²sŠ®\„
ÂÎh‹º;if
‘2„'²sŠ®\„ Ö
· Š®\„/А±&„/' Ö
Žh‹º Ö
Ô Ž~‘2Šr±&„®·ß
Ôa×-ËMÔ¶²ØÙ
ÑIÔ ¯ ¬ Šd…†„
‰†Ù
‹ºØÑ+„'‹Ô ˆ4„'º¤Žh‹º else ‰†ƒ¾Žh…†‰†­d‹„'ºž¯‰Œˆ Ôa¬ ×&Ôa؏ÙÂG؏Ñ+Žhԃ¾ƒ ¬ А¯°‹ ‰†‹ªˆ ¬ „Ô¶„3×-¹©Ôa؏ŽhÙ
—™Ø˜AÑ+…†„Y
ˆ ¬ ؏„³
else
if
ƒ1ˆŽˆ\„'—m„'‹-ˆ¼ˆ\ƒŠd‹RŽ^ƒ4‰†‹­d…†„…†‰Œ‹A„Nˆ ¬ „'‹‰Œˆ‡BŽh‹;Žh…†ƒ1Š`‘2„ˆ¶µ’˜2„/ƒ4„/ˆNŽ~ƒ°Žƒ4‰†‹­d…†„…†‰†‹„®·
ÌGŠd…Œ…†„'‡/ˆ\‰›±&„'…Œµ& ÈoŽh‹º
ƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒŽ~\„)“‹Šr¯‹Ž~ƒ.Lh!B7g!/@',MJ1<dE L',1#-,4! X !'EV,HL'·
if
if-else
2.4.2 Iteration: for statements
— –A‡ ¬ —mŠ®\„¾˜IА¯G„/4²s–A…¯ŽBµZŠd²—wŽh‹‰Œ˜A–…sŽ~ˆ4‰†‹­wˆ ¬ „m‡/Šd‹ˆ4\Šd…À8Šr¯Æ‰Œƒ¡˜A4А±’‰†º„'º‘µªJM,4!/%/#-,MJ1<dE
`
L',1#-,4! X !'EV,HL'·ËSˆ\„/Ž~ˆ4‰†Šd‹wŽh…†…†Šr¯ƒˆ\Š„3¹©„'‡/–ˆ4„QŽ¡ƒpˆŽ~ˆ\„'—m„/‹ˆ¿—wŽh‹-µ¾ˆ\‰Œ—m„'ƒ'˜IŠdƒ4ƒ4‰Œ‘A…Œµ$¯‰Œˆ ¬ º‰+„/\„'‹-ˆ
˜8Ž~Žh—m„3ˆ\„/\ƒ2„BŽ~‡ ¬ ˆ4‰†—m„®·ËSˆ\„/Žˆ\‰†Šd‹)ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒŽ~4„Žh…Œƒ4Ї'Žh…†…†„'º$7D<h<'0L'ÂhŽ~ƒˆ ¬ „/µ1…†ŠŠ®˜Qˆ ¬ 4Šd–A­ ¬ Ž
ƒ1ˆŽˆ\„'—m„'‹-ˆ ˜2Š®ˆ4„'‹ˆ\‰†Žh…†…Œµ ƒ1„/±&„/Žh…Iˆ4‰†—m„'ƒ'·k½’„/…†„'‡/ˆ\‰ŒŠd‹YŽ~‹Aºw‰Œˆ4„/Ž~ˆ\‰ŒŠd‹™ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒoŽ~\„N‡/Šd…†…†„'‡/ˆ4‰Œ±&„' …Œµ
\„'²s„34\„'ºˆ\Š¾Î Žhƒ@/<dEV,M%'<&7KL'Õ ,1#-,4! X !'EV,HL'·
Pn
ÌGŠd‹ƒ4‰ŒºA„3ˆ ¬ „T˜\Š®‘A…†„'— Šd²¡‡'Šd—™˜A–©ˆ\‰†‹­eˆ ¬ „Zƒ4–—
Šd²¡ˆ ¬ „š¼\ƒ1ˆ
‹AŽ~ˆ\–©Ž~…
Sn =
‹’–—‘2„/\ƒ/¿²sŠ®wŽT­d‰Œ±&„'‹
· \Šd­®Žh— "T\„BŽhºƒ™‰Œ‹¤Ž•±®Ž\‰sŽ~‘Ai=1
!
…†„ i ²†\Šd— ƒ1ˆ\Žh‹º8ސn\º¤‰†‹©˜8–©ˆBÂ
º„/¼A‹„'ƒ°Ž~‹AŠ®ˆ ¬ „3±hŽ~\‰†Ž~‘A…†n„ ˆ\Š$
‡'Šd‹ˆ\Žh‰†‹wˆ ¬ „)\„/ƒ4–…ŒˆB©‡'Šd—™˜A–©ˆ\„'ƒoˆ ¬ „\„'nƒ4–…ŒˆŽh‹º³¼8‹AŽh…Œ…ŒµmŠd–©ˆ4˜A–©ˆ\ƒ
s
‰ŒˆB·ËM‹™Š®\º„/Kˆ\Š.–‹º„/\ƒ1ˆŽ~‹Aº`
¯ ¬ µ`ˆ ¬ „G˜\Šd­®Žh—
‰†‹ºA„/„'º¾‘2„ ¬ Ž'±&„'ƒŽhƒK‡'…sŽh‰†—m„/ºÂ~¯G„ ¬ Ž'±&„
sum_n.C
ˆ\Š$„3¹˜A…sŽh‰Œ‹³ˆ ¬ „)º‰ I„/4„'‹ˆ˜8Ž~4ˆ\ƒŠd²Ž
L',1#-,4! X !/EV,H·
for
// Program : sum_n .C
// Compute the sum of the first n natural numbers .
# include < iostream >
int main ()
{
// input
std :: cout < < " Compute the sum 1+...+ n for n =? " ;
unsigned int n;
std :: cin > > n;
// computation of sum_ {i =1}^ n i
unsigned int s = 0;
for ( unsigned int i = 1; i <= n ; ++ i ) s += i ;
// output
std :: cout < < " 1+...+ " < < n < < " = " < < s < < " .\ n ";
return 0;
}
Program 6:
0V%'< ‚ LL P+X
E=¶¥
ƒpˆŽ~ˆ\„'—m„/‹ˆN‰†ƒŽ¾±&„34µ;‡'Šd—™˜8Žh‡/ˆ°²sŠ®\— Šd²Ž~‹•‰Œˆ4„/Ž~ˆ\‰ŒŠd‹Rƒ1ˆŽ~ˆ\„/—m„'‹ˆBÂ+Žhƒ
«¬ „
Œ‰ ˆ°‡'Šd—`‘A‰†‹„'ƒˆ ¬ \„'„^ƒ1ˆ\for
Ž~ˆ\„'—m„'‹-ˆ\ƒ°Š®„3¹˜\„'ƒ1ƒ4‰†Šd‹ƒN‰†‹ˆ4Š™Šd‹„®·NËM‹;—mŠdƒ1ˆ‡'Žhƒ4„'ƒ'Â8ˆ ¬ „
ƒpˆŽ~ˆ\„'—m„/‹ˆ
for
ƒ4„/1±&„'ƒNŽhƒŽ 1‡/Šd–A‹-ˆ\‰†‹­`…†Š’Š®˜ Žhƒ‰†‹ \Šd­®Žh— "·ËSˆ\ƒƒpµ‹ˆ\ސ¹Y‰†ƒº„/¼A‹„'º‘µ
for statement.
È
Þ
for ÎKӆÑÓHÔ Ö aÔ ×-Զ؏Ù؏ÑIÔÏ'АÑIÒÓHÔSÓDÐÑ Ø/Ø 1Ö Ö CÓ ÐÑ;Õ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
¯ ¬ „/4„
‰†ƒ™Ž~‹ „3¹˜\„'ƒ1ƒ4‰†Šd‹ ƒ1ˆŽˆ\„'—m„'‹-ˆB¿Ž•º„'‡/…sŽ~Ž~ˆ4‰†Šd‹"ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆBŠ®$ˆ ¬ „‹’–…†…
†
Ó
Ñ
H
Ó
Ô
Ö Ôa×-Զ؏Ù؏ÑIÔ
ƒ1ˆŽˆ\„'—m„'‹-ˆB’ƒ4„/„.½’„/‡/ˆ\‰†Šd‹ · · ·kËM‹Žh…Œ…+Šd²Vˆ ¬ „'ƒ4„N‡BŽhƒ1„'ƒ'Â
„/‹Aºƒ¿¯‰›ˆ ¬ Ž¡ƒ4„'—m‰†‡'Šd…ŒŠd‹
ӆш ÓH¬ Ô „Ö ˜8
Ôa×-Ž~Ôa\Ø\„'Ù
ƒ4–‡ ¬ ˆ ¬ Ž~ˆ´ˆ ¬ „3\„oŽ~4„¿Žh…Œ¯Ž'µƒVˆ¶¯Gаƒ4„/—m‰†‡'Šd…†Šd‹ƒV‰†‹¡‘2„/ˆ¶¯G„'„/‹¡
‹-ˆ ؏¬ ÑI„'Ô ƒ4„'ƒŽh²†ˆ\„/Ž
·°ƒ4–AŽh…†…›µ
for
º„/¼A‹„'ƒKŽh‹º¾‰†‹‰Œˆ4‰sŽh…†‰ /„'ƒÃޱhŽ~\‰sސ‘8…Œ„oˆ ¬ Ž~ˆk‰†ƒk–ƒ4„'º$ˆ4ŠQ‡'Šd‹-ˆ4\Šd…Žh‹º$„/±&„'‹ˆ4–8Ž~…†…Œµ^„'‹º
ӈ†Ñ¬ ÓH„KÔ ‰ŒÖ ˆ\„/Ôa×-ŽÔ¶Øˆ\Ù

Ø
I
Ñ
Ô
‰†Šd‹.ƒpˆŽ~ˆ\„'—m„/‹ˆ ƒ„6¹©„'‡'–©ˆ\‰ŒŠd‹·ÃËM‹
Â
‰ŒƒÃŽGº„'‡'…sŽ~\Ž~ˆ\‰†Šd‹)ƒ1ˆŽ~ˆ4„'—m„'‹ˆ
sum_n.C ӌÑAÓMÔ Ö Ô¶×-Ôa؏Ù؏Ñ+Ô
ˆ ¬ Ž~ˆº„/¼A‹„'ƒˆ ¬ „±®Ž\‰sŽ~‘A…†„ ·
i
ƒ‰†‹Žh‹
ƒ1ˆŽˆ\„'—m„'‹-ˆBÂ
‰†ƒŽh‹„3¹˜\„'ƒ1ƒ4‰†Šd‹Š®±hŽ~\‰sŽ~‘A…†„Nº„'‡/…sŽ~Ž~ˆ4‰†Šd‹³¯ ¬ Šdƒ4„Nˆaµ˜2„
if
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
‡BŽh‹;‘2„‡'Šd‹-±&„/4ˆ\„'ºšˆ\Š
·)ËSˆº„/¼A‹„'ƒ ¬ Šr¯…†Šd‹­™ˆ ¬ „^‰Œˆ4„/Ž~ˆ\‰ŒŠd‹R­dŠ’„'ƒŠd‹VÂI‹AŽh—m„'…ŒµŽhƒ…†Šd‹­wŽhƒ
\„3ˆ\–©\‹ƒ$,M% P bool
!B·`ËSˆQ‰Œƒ.Žh…Œ…†Š¯G„/º;ˆ ¬ ސˆ
‰Œƒ)„/—™˜Aˆ¶µR‰Œ‹•¯ ¬ ‰†‡ ¬ ‡BŽhƒ4„`‰Œˆ\ƒN±hŽh…†–„‰†ƒ
ω†'‹-Аˆ\ÑI„/ҍ4˜ÓHÔS\ÓC„/Аˆ4Ñ „'º"Ž~ƒ³,M% P !B· ƒ^ˆ ¬ „m‹8Ž~—m„™ƒ4–­d­d„'ƒ1ˆ\ƒ/Ï/ АÑ2ÒÓHÔCÓCАÑ
‰†ƒŽh‹žŽ~4‘A‰Œˆ1Ž~4µT„3¹˜\„'ƒ1ƒ4‰†Šd‹žˆ ¬ ސˆ
Ö4Ö
—wŽ'µmŽh…Œƒ4Š¡‘2„„'—™˜ˆ¶µ ‰†‹m¯ ¬ ‰Œ‡ ¬ ‡BŽ~ƒ4„‰Œˆ ¬ Žhƒ¿‹Š`„ IØ „'‡/ˆ /Ø · Ö ÓDАÑ
‰†ƒGŽh‹YŽ~4‘A‰Œˆ4\Ž~4µ™ƒpˆŽ~ˆ\„'—m„/‹ˆB·
Î
Õ
a
Ô
×
a
Ô

Ø

Ù
\
Ø
I
Ñ
Ô
ËSˆ‰†ƒ4„'²s„/4\„/ºˆ\Š™ŽhƒGˆ ¬ „ O <h5&9;Šd²Ãˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆB·
for
NKÉ

·
« ’µ ˜A‰†‡'Žh…†…Œµ&Â
¬ Žhƒ`ˆ ¬ „³„ +„'‡/ˆ$Šd²°‡ ¬ Žh‹­d‰†‹­•ޱhŽh…†–„wˆ ¬ Ž~ˆ$Ž~˜˜2„BŽ~\ƒ‰†‹
3Ø Ö4Ö ÓCАÑ
Ø
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
½’–‡ ¬ Žh‹$„ I„'‡3ˆ‰Œƒƒ\Žh‰†ºˆ\Š 1—wŽ~“&„˜\Šd­®\„/ƒ4ƒˆ\А¯Ž\ºƒkˆ4„/\—m‰†‹AŽ~ˆ\‰ŒŠd‹ · «G¬ „G­dŠ&Žh…‰†ƒˆ ¬ Ž~ˆ
‰†ƒ2[~#-7:Lh!)Žh²†ˆ4„/
¬ Žhƒk‘2„'„'‹™„3±®Žh…Œ–8ސˆ\„'º™Ž¼A‹‰Œˆ\„¿‹–A—‘2„/KŠd ²Aˆ\‰†—m„'ƒ'·ÃËM‹¾ˆ ¬ Ž~ˆkƒ4„/‹AÏ/ƒ1А„®Ñ2’҄/ÓH±&ÔC„3ÓCА4µÑ
4
Ö
Ö
„/±hŽh…†–AŽ~ˆ\‰ŒŠd‹¾Šd² Ø/Ø Ö4Ö ÓCÐÑ —wŽ~“&„'ƒKŽQƒ1ˆ4„/˜mˆ\Šr¯Ž~\ºƒKˆ ¬ „„'‹ºmŠd²+ˆ ¬ „
ƒ1ˆŽ~ˆ\„/—m„'‹ˆB·ËM‹
Â
/Ø ÓDАÑ
Ø
for
sum_n.C
Ö4Ö ÓCÐÑ ‰†‹‡/4„'—m„'‹ˆ4ƒKˆ ¬ „°±hŽ~\‰†Ž~‘A…†„ i ¯ ¬ ‰†‡ ¬ ‰†ƒ‘2Šd–‹º„'ºm²†\Šd—¢Ž‘2А±&„‰†‹ Ï'АÑIÒÓHÔSÓCÐÑ ·ËM‹m‡'Žhƒ4„'ƒ
…†Ø ‰Œ“& „^3ˆ Ø ¬ ‰†ƒ
¯ ¬ „/\„ˆ ¬ „±hŽh…†–„Šd²oŽmƒ4‰Œ‹A­d…Œ„±hŽ~\‰†Ž~‘A…†„^‰†ƒ)Žh‡'‡'„/ƒ4ƒ4„'ºeŽh‹º•‡ ¬ Žh‹­d„'ºš‘’µ
Žh‹º
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
©¯G„)‡BŽh…†…2ˆ ¬ ‰†ƒ¿±hŽ~\‰sŽ~‘A…†„Nˆ ¬ „w@/<dEV,M%'<&7kl’#&%BJa# O 7D!$Šd²´ˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆB·
Ø Z
3Ø Ö4Ö ÓCАÑ
for
„$Ž~\„`‹Š¯¦\„BŽ~ºµ;ˆ\Šw˜\„'‡'‰Œƒ4„'…Œµ;º„/¼A‹„`ˆ ¬ „`ƒ4„'—wŽ~‹ˆ\‰†‡/ƒNŠd²¿Ž
ƒ1ˆŽ~ˆ\„/—m„'‹ˆB·¡âɌ\ƒ1ˆ'Â
for
†
‰
`
ƒ
3
„
©
¹
'
„
/
‡
–
4
ˆ
'
„
º
d
Š
‹
'
‡
®
„
·
/
„
\

B
„
~
Ž
†
²
\
ˆ
/
„

Œ
‰
$
ƒ
/
„
h
±
h
Ž
†
…
A
–
~
Ž
4
ˆ
'
„
V
º
"
·
ËM²‰›ˆ$\„3ˆ\–©\‹ƒY,M% P !Bӆ¿юhÓHÔ ‹ G
«
¬
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
/
Ï

Ð
2
Ñ
Ò
H
Ó
C
Ô
C
Ó

Ð
Ñ
JM,4!/%/#-,MJ1<dEڊd²Kˆ ¬ „$…ŒŠ’Š®˜ZƒpˆŽ~4ˆ\ƒ/·$ËM²
\„/ˆ\–©\‹ƒG[~#-7:Lh!BÂVˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ,4!'% X JCE#-,4!BL'Â
for
'
Ï

Ð
I
Ñ
’
Ò
M
Ó
S
Ô
C
Ó

Ð
Ñ
ˆ ¬ Ž~ˆ‰†ƒ'‰Œˆ4ƒG˜\Ї'„'ƒ4ƒ1‰†‹­¾„'‹ºƒ°‰†—m—m„/ºA‰†Ž~ˆ\„'…Œµ&·
Ž~‡ ¬ ƒ4‰†‹­d…†„¿‰Œˆ4„/Ž~ˆ\‰ŒŠd‹^Šd²+Ž
ƒ1ˆŽ~ˆ\„/—m„'‹ˆk‡'Šd‹ƒ4‰Œƒ1ˆ\ƒŠd²¼A4ƒ1ˆk„3¹©„/‡'–©ˆ\‰†‹­ Ö
Žh‹º`ˆ ¬ „/‹
a
Ô
×
a
Ô
\
Ø

Ù

Ø
I
Ñ
Ô
for
„/±hŽh…†–AŽ~ˆ\‰Œ‹A­
· ²†ˆ4„/^„BŽh‡ ¬ ‰Œˆ\„/\Ž~ˆ\‰†Šd‹VÂ
‰†ƒ¡„3±®Žh…Œ–8ސˆ\„'ºeŽh­&Žh‰Œ‹·YËM²G‰Œˆ.4„/ˆ\–©\‹ƒ
Ö4Ö
,M% P !'©Žh‹Š®ˆ ¬ Ø „/¿‰Œˆ4/„/Ø Ž~ÓCˆ\А‰ŒŠdÑ ‹m²sŠd…†…†Šr¯ƒ'·kËM²
\„/Ï/ˆ\А–©Ñ2\ҋÓHƒÔCÓC[~А#-Ñ 7:Lh!Bˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆoˆ\„/4—m‰†‹AŽ~ˆ\„'ƒ'·
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
for
Â
Â
Â
Â
«G¬ „N„6¹©„'‡'–©ˆ\‰ŒŠd‹³Š®4ºA„3G‰†ƒoˆ ¬ „/\„'²sŠ®4„
†
Ó
Ñ
H
Ó
Ô
Ö Ôa×-Ôa؏ÙØ\ÑIÔ Ï'АÑIÒÓHÔSÓCÐÑ Ö Ôa×-Զ؏Ù؏ÑIÔ Ø 3Ø Ö4Ö ÓCÐÑ Ï/АÑ2ÒÓ Â
Â
ÂV·'·B·1–A‹-ˆ\‰†…
\„3ˆ\–©\‹ƒ[~#-7:Lh!B·
Ö4Ö
ÔSÓCÐÑ „3Ö ˆ Ô¶ý×-ƒÔaƒ4؏„'Ù
„)؏ˆ Ñ+¬ Ô ‰†ƒØ ‰Œ‹Žh/‡/Ø ˆ4‰†ŠdÓDА‹VÑ ÝÌ¿Šd‹ƒ4‰†º„/GÏ'ˆ А¬ ÑI„ ÒÓHÔSÓDÐÑ ƒ1ˆŽ~ˆ\„/—m„'‹ˆ
for
for ( unsigned int i = 1; i <= n ; ++ i ) s += i ;
‰†‹
Žh‹º^ƒ4–©˜˜2Šdƒ4„
·âɌ\ƒ1ˆ'Âhˆ ¬ „o±®Ž\‰sŽ~‘A…†„ ‰†ƒº„/¼A‹„'º`Žh‹º`‰Œ‹A‰›ˆ\‰sŽh…†‰ '„'ºˆ\Š · «G¬ „/‹
n == 2
‰Œˆ‰†sum_n.C
ƒGˆ\„'ƒ1ˆ4„'º¯ ¬ „/ˆ ¬ „3
· ƒ
‰†ƒ,M% P !BÂAˆ ¬ „i¼\ƒ1ˆ‰Œˆ\„/\Ž~ˆ\‰†Šd‹wƒ1ˆŽ4ˆ\ƒ'· «¬ „)ƒ1ˆŽ~1ˆ4„'—m„'‹ˆ
i <= n
1 <= 2
‰†ƒ$„3¹©„/‡'–©ˆ\„'ºV¿ƒ4„/ˆ4ˆ4‰†‹­
ˆ\Š ÂGŽh‹º"ˆ ¬ „/\„'Žh²†ˆ\„/
‰†ƒ¾‰Œ‹A‡3\„'—m„'‹-ˆ\„'ºž‘µªŠd‹„³ƒ4–‡ ¬ ˆ ¬ Ž~ˆ
s += i
· Ç ‹„¿‰Œˆ\„/\Ž~ˆ\‰†Šd‹^‰†ƒ´‹Š¯"s‡'Šd—™˜A1…†„/ˆ\„®· ƒŽ°‹„3¹’ˆƒ1ˆ\„3i˜´Â®ˆ ¬ „¿‡/Šd‹Aº‰Œˆ4‰†Šd‹
‰†ƒ„/±hŽh…†–AŽ~ˆ4„'º
i == 2
i <= n
Žh­&Žh‰Œ‹· ƒ
‰Œƒ¡,M% P !BÂVŽ~‹AŠ®ˆ ¬ „3N‰Œˆ\„/\Ž~ˆ\‰†Šd‹R²sŠd…†…ŒŠ¯°ƒ'·âɛ\ƒ1ˆ
‰†ƒ„3¹„'‡'–©ˆ\„'ºVÂ2ƒ4„3ˆ4ˆ\‰†‹­
2 <= 2
s += i
ˆ\Š · «G¬ „/\„BŽh²†ˆ4„/B ‰†ƒo‰†‹‡/4„'—m„'‹ˆ4„'º™‘’µmŠd‹„ƒ1–A‡ ¬ ˆ ¬ Ž~ˆ
· «G¬ „Nƒ4„'‡'Šd‹ºw‰Œˆ\„/\Ž~ˆ\‰†Šd‹m‰†ƒ‹AŠr¯ s
3
‡'Šd—™
˜A…†„/ˆ4„®· «¬ „.ƒ1–i‘Aƒ4„/¸’–„'‹ˆ°„/±hŽh…†–AŽ~ˆ\‰†Šd‹YŠd²
„'‹-ˆiŽh‰†…Œ==
ƒ 3
¯ ¬ ‰Œ‡ ¬ ‰†ƒK[#-7›L~!B· «G¬ –ƒ'‹Š
i <= n
3 <= 2
²s–©4ˆ ¬ „/‰Œˆ\„3Ž~ˆ\‰†Šd‹™ˆ\Ž~“&„'ƒG˜8…†Žh‡'„Žh‹ºwˆ ¬ „˜\Ї'„'ƒ4ƒ1‰†‹­`Šd²Vˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆG„'‹ºƒ'· «¬ „N±®Ž~…†–„)Šd²
‰Œƒ‹Šr¯ ©ˆ ¬ „)ƒ4–—ÊŠd²ˆ ¬ „)¼\ƒpˆ
‹AŽ~ˆ\–©Žh…V‹’–—‘2„/\for
ƒ/·
s
3
n == 2
ËSˆ)‰†ƒ)„BŽhƒ4‰†…›µ˜2Šdƒ4ƒ4‰›‘8…Œ„ˆ4ŠY‡/4„BŽ~ˆ\„`…†Š’Š®˜Aƒˆ ¬ Ž~ˆ)ºŠ‹Š®ˆˆ\„/4—m‰†‹AŽ~ˆ\„®·.⊮)„3¹©Žh—™˜A…†„®Â
\„'‡'Žh…†…Iˆ ¬ Ž~ˆ¿‘2Š®ˆ ¬
Ž~‹Aº
—wŽ'µ™‘2„„'—™˜ˆ¶µ&·Š®\„'Šr±&„/B©‘2Š®ˆ ¬
Ö
Ï
'

Ð
I
Ñ
Ò
H
Ó
S
Ô
D
Ó

Ð
Ñ
3Ø Ö4Ö ÓCАÑ
Ø
Žh‹º Ö
‡BŽ~
‹ ‘2„ˆ ¬ „Q‹–A…Œ…ƒpˆŽ~ˆ\„'—m„/‹ˆB·KËM‹ˆ ¬ ‰†ƒG‡BŽ~ƒ4„Q¯G„)­d„/ˆˆ ¬ „
ƒ1ˆ\Ž~ˆ\ӆ„'їmÓHÔ „' ‹-ˆÔa×-ÔaØ\Ù؏ÑIÔ
for
Ô¶×-Ôa؏Ù؏Ñ+Ô
Infinite loops.
for (;;);
¬ ŽhƒG±®Ž~…†–„`,M% P !BÂA„3¹©„'‡/–ˆ4‰†‹­`ˆ ¬ ‰†ƒGƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆG\–‹AƒGˆ ¬ \Šd–­ ¬ ‰›ˆ\„/Ž~ˆ4‰†Šd‹
Ï
'

Ð
I
Ñ
Ò
H
Ó
S
Ô
D
Ó

Ð
Ñ
Žh²†ˆ\„3¾‰Œˆ4„/Ž~ˆ\‰ŒŠd‹e¯°‰Œˆ ¬ Šd–©ˆŽh‡/ˆ4–8Ž~…†…ŒµZºŠd‰†‹­šŽh‹-µ’ˆ ¬ ‰†‹­©· «G¬ „/\„'²sŠ®4„®Â
—wŽ'µ•‘2„³4„BŽhºªŽ~ƒ
for (;;)
1²sŠ®\„/±&„3 ·oËM‹­d„/‹A„3Žh…Mރ1ˆŽ~ˆ4„'—m„'‹ˆG¯ ¬ ‰Œ‡ ¬ ºŠ’„'ƒ‹Š®ˆˆ\„3\—m‰†‹AŽ~ˆ\„‰Œƒ‡BŽ~…†…†„'ºŽh‹TJSE¿E2JS,4!¾7g<®<'0·
ÌG…Œ„BŽ~\ …Œµ&‰†‹©¼A‹‰Œˆ\„N…†ŠŠ®˜Aƒ°Ž~4„.„3¹’ˆ4\„'—m„'…›µY–‹º„'ƒ4‰Œ\Ž~‘A…†„.Ž~‹AºY˜A4Šd­®Žh—m—m„/\ƒ¿ˆ41µ ¬ Ž~\ºYˆ\ŠmŽ'±&Šd‰†º
ˆ ¬ „'—R
· „/±&„/1ˆ ¬ „'…†„'ƒ4ƒ/Âhƒ4Šd—m„/ˆ4‰†—m„'ƒIƒ4–‡ ¬ …†ŠŠ®˜8ƒVЇ'‡'–©Ã„3±&„'‹^‰†‹Q4„BŽh…&…†‰†²s„kƒ4Šd²†ˆ¶¯Ž~\„h·ËM²’µ&Šd–.\„/­d–A…†Ž~\…Œµ
–ƒ4„³Ž‡'Šd—™˜A–©ˆ\„/BÂõ&Šd– ¬ ŽB±&„m˜\Š®‘8Ž~‘A…ŒµT„3¹˜2„3\‰†„'‹‡'„'ºeˆ ¬ ‰†ƒ¡“’‰†‹ºŠd²G˜ ¬ „'‹Šd—m„'‹Šd‹Ý`Ž˜\Šd­®Ž~—
¬ Žh‹­dƒ ·
KŠd–•—wŽ'µ;Žhƒp“I
Ý ¬ µ;ºŠ„'ƒ4‹ ˆˆ ¬ „^‡'Šd—™˜A‰†…†„3Nƒ4‰†—™˜A…ŒµYº„/ˆ\„'‡/ˆ)‰†‹©¼A‹‰Œˆ\„¡…ŒŠ’Š®˜AƒNŽh‹º•¯Ž\‹ƒN—m„
Ž~‘2Šd–©ˆˆ ¬ „'—”a–ƒ1ˆŽhƒk‰Œˆk‡'Šd—™˜A…sŽ~‰†‹ƒŽ~‘2Šd–©ˆƒpµ‹ˆ\ސ¹`„/4\Š®4ƒ ËM‹ºA„/„'ºVÂ&ˆ ¬ ‰Œƒ¯GŠd–A…Œº`‘2„GŽN­®\„'Ž~ˆˆ ¬ ‰†‹­
ƒGˆ ¬ „Q„/—™˜Aˆ¶µ
ˆ\Š ¬ Ž'±&„°Žh‹º¾‰ŒˆK¯GŠd–…†º¾ƒ4Šd…›±&„—wŽh‹-µ^˜\Š®‘A…†„'—mƒ‰†‹$ƒ4Šd²†ˆ¶¯Ž~\„°º„/±&„/…†Š®˜A—m„'‹ˆB· «¬ „G˜A4Š®‘8…Œ„'—¦‰†ƒKˆ ¬ ސˆ
‰†‹©¼A‹‰Œˆ\„m…†ŠŠ®˜8ƒ`Ž~4„‹Š®ˆ™Ž~…Œ¯Ž'µƒ`Žhƒ`„BŽhƒ1µˆ\ŠTƒp˜2Š®ˆ™Ž~ƒ$‰†‹žˆ ¬ „Ž~‘IА±&„Y„3¹Žh—™˜A…†„h· ŠŠ®˜8ƒ`‡BŽh‹ž‘2„
˜\„/ˆ4ˆ¶µY‡'Šd—™˜A…†‰†‡Bސˆ\„'ºVŽh‹º˜IŠdƒ4ƒ4‰Œ‘A…Œµmˆ ¬ „/µY…†ŠŠ®˜‰†‹©¼A‹‰Œˆ\„'…Œµ¾¯ ¬ „'‹„3¹„'‡'–©ˆ\„'º;‰†‹Y‡'„/4ˆ\Žh‰†‹˜\Šd­®Ž~—
ƒ1ˆŽˆ\„'ƒŠd‹A…›µ&·
ËM‹W²gŽ~‡/ˆB¿ˆ ¬ „Rƒ4‰Œˆ\–AŽ~ˆ4‰†Šd‹ª‰†ƒ ¬ Š®˜2„'…Œ„'ƒ4ƒ'ݚËSˆw‡BŽh‹ ‘2„Rƒ ¬ Šr¯‹ ˆ ¬ Ž~ˆ¾ˆ ¬ „˜\Š®‘A…†„'— Šd²º„/ˆ\„'‡3ˆ\‰†‹­
‰†‹©¼A‹‰Œˆ\„…ŒŠ’Š®˜Aƒ ‡'Šd—m—mŠd‹…Œµq\„/²s„/4\„'ºWˆ\ŠŽhƒ™ˆ ¬ „e*+#-7›,MJCE ‚ 0V%/< O 7D! X
‡BŽh‹‹Š®ˆm‘2„Rƒ4Šd…›±&„'ºW‘µ¤Ž
Î
Õ
‡'Šd—™˜A–©ˆ\„/BŽhƒo¯G„ ¬ Ž'±&„Žh‹ºw–‹Aº„/4ƒ1ˆŽh‹º³‰Œˆˆ\ŠºAŽBµ ƒ4„'„ˆ ¬ „ N„/ˆ\Žh‰†…†ƒ · «G¬ „3\„'²sŠ®\„®Â©ƒ1Šd—m„‡BŽ~\„°‰†ƒ
Î
‹„'„'º„'º¯ ¬ „'‹º„'ƒ4‰Œ­d‹A‰Œ‹A­^…ŒŠ’Š®˜Aƒ'
· Z„ ¬ ŽB±&„Nˆ\Š`‡ ¬ „'‡\
“ p‘µ ¬ Ž~‹Aº ˆ ¬ Ž~Õ ˆ¿ˆ ¬ „)‰Œˆ\„/Žˆ\‰†Šd‹mƒ1ˆŽˆ\„'—m„'‹-ˆ
ˆ\„/4—m‰†‹AŽ~ˆ\„'ƒ¿²sŠ®°Žh…†…2˜2Šdƒ4ƒ1‰Œ‘A…†„N˜A4Šd­®Žh—¨ƒ1ˆŽ~ˆ4„'ƒˆ ¬ ސˆ‡'Žh‹Š’‡/‡'–©B· ®Š  ¬ Ž'±&„\„'Žh…†‰'„/º¤ˆ ¬ ސˆmŠd–©m˜A4Šd­®Žh—
‰†ƒ™Žh‡/ˆ\–AŽh…†…›µªŽ•‘8Žhº
sum_n.C
„3¹©Žh—™˜A…†„®·ËSˆN‰†ƒ°‘8Žhº;‰†‹Rˆ ¬ „¡ƒ1„'‹ƒ4„¡ˆ ¬ Ž~ˆN‰Œˆ°ºŠ’„'ƒN‹Š®ˆ‡/Šd‹±‰Œ‹A‡/‰†‹­d…Œµº„'—mŠd‹ƒ1ˆ1Ž~ˆ\„ˆ ¬ „¡˜2Šr¯G„/NŠd²
‡'Šd‹-ˆ4\Šd…Vƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ'·
ËM‹ ¬ ‰†ƒG˜A4‰†—wŽ~4µmƒ1‡ ¬ ŠŠd…´ºAŽ'µƒ'©ˆ ¬ „ )„/4—wŽh‹—wŽ~ˆ ¬ „/—wŽ~ˆ\‰†‡'‰†Žh‹wÌGŽ~\…â\‰†„'º©\‰†‡ ¬ )Žh–ƒ4ƒ rdd · «G¬ „ˆ4„BŽh‡ ¬ „/ ¬ Žhºw˜A…sŽh‹‹„'ºwˆ\Î Š^“&„'„/˜
¯Žhƒoˆ\Šd…Œº³ˆ\Šƒ4–—¨–©˜ˆ ¬ „N‹–A—‘2„/4ƒ
. , 100
ˆ QŽh1,
–ƒ42,
ƒm3,
‡'Žh.—m. „
–©˜W¯°‰Œˆ ¬ ˆ ¬ „R‡'Š®44„'‡/ˆw\„'ƒ4–…Œˆ
±&„/4µ
¬ ‰†ƒmƒ1Õ ˆ\–º„'‹-ˆ\ƒ™‘A–Aƒpµ¤²sŠ®³ŽT¯ ¬ ‰†…†„®Â¿‘A–©
5050
¸’–‰†‡\“’…Œµ&
· „ ¬ ŽhºZ‰†—wŽ~­d‰†‹„'ºR¯°\‰Œˆ4‰†‹­³ºŠr¯‹Tˆ ¬ „`‹’–—‘2„/\ƒ)‰†‹Z‰Œ‹A‡3\„BŽhƒ4‰Œ‹A­³Š®\º„/BÂÎh‹ºZŠd‹„$…Œ‰†‹„
‘2„'…ŒŠ¯ÉŠd‹‡'„.Žh­&Žh‰†‹³‰†‹º„'‡/4„BŽhƒ4‰†‹­$Š®\º„/B·ÌG…†„'Ž~\…Œµ&’ˆ ¬ „)ˆ¶¯GŠ$‹–A—‘2„/4ƒ‰†‹Y„BŽh‡ ¬ ‡'Šd…†–—m‹³ƒ4–—Ê–©˜
Þ ¬ „/‹A‡/„®Âˆ ¬ „NА±&„3Žh…†…Iƒ1–A—¢‰Œƒ
 ¬ Žh…Œ²2Šd²¯ ¬ ‰Œ‡ ¬ ‰†ƒoˆ ¬ „N‹–—`‘2„3oˆ ¬ Ž~ˆo¯Žhƒ
ˆ\Š
101
100 101 = 10100
Žhƒ1“&„/ºR²sŠ®B·
·B·/·
BÅdÅ
·B·/·
BÅdÅ
B
·
/
·
·
BÅ© BÅ© BÅ©
BÅ© BÅ© BÅ©
ËM‹ˆ ¬ ‰†ƒG¯Ž'µ&
 QŽh–ƒ4ƒº‰†ƒ4‡'Šr±&„/\„'ºˆ ¬ „)²sŠ®\—`–…sŽ
Gauss.
KŠd–¤—wŽ'µž“’‹Š¯
n
X
i = n(n + 1)/2,
i=1
s² Š®^Ž~‹µ
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ)‰†‹
‡BŽh‹Tˆ ¬ „3\„'²sŠ®\„`‘2„$\„3˜8…†Žh‡'„'ºT‘µ;ˆ ¬ „¾—`–A‡ ¬
· «¬ „
n for
sum_n.C
—mŠ®\„„'…†„/­&Žh‹ˆŽh‹º„¾‡'‰†„'‹-ˆ°ƒpˆŽ~ˆ\„'—m„/‹ˆ Ü
s = n * ( n + 1) / 2;
Z„)‹„3¹ˆ°­d„/ˆˆ\Йޡ\„BŽ~…ÃŽ~˜˜A…†‰†‡'Ž~ˆ\‰†Šd‹wŠd²Ãƒ1„'…†„'‡/ˆ4‰†Šd‹Žh‹º‰›ˆ\„/Ž~ˆ4‰†Šd‹YƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒ'·
ËM‹Yˆ ¬ „N‰†‹-ˆ4\Š’º–‡/ˆ\Š®1µ³½’„'‡/ˆ\‰ŒŠd‹ · ’¯G„ ¬ Ž'±&„NˆŽh…›“&„'ºŽ¡…†Š®ˆŽ‘2Šd–©ˆo˜\‰†—m„‹–A—¾È
Prime numbers.
‘2„/4ƒ'·°Š¯¤¯GŠd–…†º¾Ž˜\Šd­®Ž~—Á…†ŠŠ®“…†‰Œ“&„Gˆ ¬ Ž~ˆKˆ\„'ƒ1ˆ\ƒK¯ ¬ „/ˆ ¬ „/Š®o‹Š®ˆŽ)­d‰›±&„'‹™‹’–—‘2„/‰†ƒk˜A4‰†—m„ ‡'‡/Š®\º‰†‹­.ˆ\Š¡ˆ ¬ „–ƒ4–AŽh…8ºA„3¼8‹‰Œˆ4‰†Šd‹VŽQ‹’–—`‘I„/
‰†ƒ˜\‰Œ—m„‰†²VŽ~‹AºwŠd‹…Œµ$‰†²2‰Œˆ‰†ƒo‹Š®ˆ
n ,n 2
º‰Œ±‰Œƒ4‰Œ‘A…†„^‘’µTŽh‹µ•‹’–—‘2„/
· «G¬ „¾ƒ1ˆ4Ž~ˆ4„'­®µT²sŠ®.Šd–©.˜\Šd­®Žh—»‰†ƒ)ˆ ¬ „/\„'²sŠ®\„
d {2, . . . , n − 1}
‡'…†„'Ž~BÝ T
4‰Œˆ\„NŽ.…ŒŠ’Š®˜mˆ ¬ Ž~ˆ\–‹Aƒoˆ ¬ 4Šd–A­ ¬ Ž~…†…8ˆ ¬ „'ƒ1„N‹’–—`‘I„/\ƒ'’Žh‹ºwˆ4„'ƒ1ˆ¿„BŽ~‡ ¬ Šd²2ˆ ¬ „'—Ÿ²sŠ®¿‘I„'‰†‹­
Ž.º‰Œ±’‰†ƒ4Š®oŠd² ·KËM²VŽ.º‰Œ±‰Œƒ4Š®o‰†ƒ²sŠd–A‹ºV’¯G„‡'Žh‹wƒ1ˆ\Š®˜YŽh‹ºwŠd–ˆ1˜8–©ˆGŽQ²gŽh‡/ˆ\Š®\‰ B Ž~ˆ\‰†Šd‹¾Šd² ‰Œ‹ˆ\Š.ˆ¶¯GŠ
n
n
ã2
ë\õMékõSþhç1õÃïñåõCþ~ïðèèDõMç1õMé¶îGé¶å'õ õSþ~éKïýå'õMé¶ò/éHí ï/ ïðèCïðëåæaë6ïñå~æ¶ï ~ éaè"2
! ïýõCþ)õCþ~éKíHépç4ó#r ï' ïñèCïðëå$~ èCïýåhæaéô:ëíç\óýó h õCþhé
n
ÿíHë%r ìhæHõ
ïðè2é&/ é¶å
n(n + 1)
"
NKÉ

’‹ –—‘2„/\ƒ/Â&˜\Šr±‰Œ‹A­)ˆ ¬ Ž~ˆ
‰†ƒ‹Š®ˆK˜\‰†—m„®· Ç ˆ ¬ „/4¯°‰†ƒ4„®Â&¯G„Šd–ˆ1˜8–©ˆKˆ ¬ Ž~ˆ
‰†ƒk˜A4‰†—m„®· \Šd­®Ž~— n
n
‰†—™˜A…†„'—m„/‹ˆ\ƒoˆ ¬ ‰†ƒƒ1ˆ4\Ž~ˆ\„'­®µ‰†‹;ÌÍQÍ^ÂI–ƒ4‰†‹­¾Šd‹„
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆBÂAŽh‹ºRŠd‹„
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'·„3È
for
if
—wŽ~4“hŽ~‘A…Œµ&ˆ ¬ „
ƒpˆŽ~ˆ\„'—m„/‹ˆ ¬ Ž~ƒNŽh‹„'—™˜ˆ¶µ³‘2Š’º©µ&ƒ4‰†‹‡'„)¯G„ ¬ ŽB±&„Q˜8–©ˆˆ ¬ „.º‰Œ±‰Œƒ4‰Œ‘A‰†…†‰Œˆ¶µ$ˆ\„'ƒ1ˆ
for
‰†‹-ˆ\Šˆ ¬ „
· «G¬ „m‰†—™˜2Š®4ˆ\Žh‹ˆ)Š®‘Aƒ4„/4±hŽ~ˆ\‰ŒŠd‹‰Œƒ¡ˆ ¬ Ž~ˆ¡ˆ ¬ „
º„/¼©È
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
n % d != 0
‹‰Œˆ\„'…›µ¾\„/ˆ4–4‹Aƒ[#-7›L~!¡²sŠ®
©ƒ4Š^ˆ ¬ Ž~ˆoˆ ¬ „N…†ŠŠ®˜³‰†ƒo­d–AŽ~Žh‹-ˆ\„'„'ºwˆ\Š^ˆ\„/4—m‰†‹AŽ~ˆ\„®Þ-‰†² Žh‹ºwŠd‹…Œµ
Î
‰†²
\„/ˆ4–4‹Aƒ2[#-7›dLh!==
„BŽ~\n…†‰Œ„/B®¯G„ ¬ ŽB±&„G²sŠd–‹º™ŽNº‰Œ±‰Œƒ4Š®Šd² ‰†‹`ˆ ¬ „oŽh‹­d„
·
ÕKÏ'АÑIÒÓHÔSÓCАÑ
n
{2, . . . , n − 1}
// Program : prime .C
// Test if a given natural number is prime .
# include < iostream >
int main ()
{
// Input
unsigned int n;
std :: cout < < " Test if n >1 is prime for n =? ";
std :: cin > > n;
// Computation : test possible divisors d
unsigned int d;
for ( d = 2; n % d != 0; ++ d );
// Output
if ( d < n)
// d is a divisor of n in {2 ,... ,n -1}
std :: cout < < n < < " = " < < d < < " * " < < n / d < < " .\ n";
else
// no proper divisor found
std :: cout < < n < < " is prime .\ n ";
return 0;
}
Program 7:
0V%'< ‚ L©0V%BJ X !~=¶¥
2.4.3 Blocks and scope
MË ‹¤ÌÍQÍቌˆ`‰†ƒ˜2Šdƒ4ƒ1‰Œ‘A…†„™ˆ\ŠT­®4Šd–˜ Žšƒ4„/¸’–„'‹‡'„Šd²Šd‹„YŠ®$—mŠ®\„wƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ`‰Œ‹ˆ\ŠšŠd‹„Yƒ4‰Œ‹A­d…Œ„
ƒ1ˆŽˆ\„'—m„'‹-ˆÃˆ ¬ Ž~ˆ‰ŒƒÃˆ ¬ „'‹`‡BŽh…†…†„/ºŽ$@/< X 02< P E5$L',1#-,4! X !'EV,HÂ-Š®ƒ4‰†—™˜A…ŒµQŽ O 7g<®@h· «G¬ ‰†ƒ—m„'‡ ¬ Žh‹‰†ƒ4—
ºŠ’„'ƒ)‹Š®ˆ.—wŽ~‹A‰›˜8–…sސˆ\„Qˆ ¬ „`‡'Šd‹ˆ1\Šd…KÀAŠr¯¦º‰Œ\„'‡/ˆ4…Œµ&·…†Š’‡\“ƒQŽh…†…ŒŠ¯ ˆ4ŠYƒ1ˆ1\–‡/ˆ\–©\„™Žm˜\Šd­®Žh— ‘µ
­®\Šd–©˜A‰†‹­Zƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ$ˆ ¬ Ž~ˆ¾…†Šd­d‰†‡BŽ~…†…Œµq‘2„'…ŒŠd‹A­•ˆ\Šd­d„/ˆ ¬ „/B·WËM‹ ˜8Ž~4ˆ\‰†‡/–A…†Ž~Bˆ ¬ „/µªŽ~\„RŽšˆ\Š’Šd…Gˆ\Š
º„'ƒ4‰†­d‹Y˜2А¯G„3\²s–…´Ž~‹AºŽ~ˆˆ ¬ „)ƒ\Žh—m„Nˆ\‰Œ—m„\„BŽhºAŽ~‘A…†„‡'Šd‹-ˆ4\Šd…Vƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ'·
½µ‹-ˆŽh‡/ˆ\‰Œ‡BŽh…†…Œµ&Žo‘A…†Š’‡\“‰†ƒƒ4‰†—™˜A…ŒµŽƒ1„'¸’–„'‹‡'„Šd² '„/4аЮ´—mŠ®\„kƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒIˆ ¬ ސˆÃސ\„„/‹A‡/…†Šdƒ4„'º
d
‰†‹Y‡'–©\…Œµw‘Žh‡'„'ƒ/·
Ö Ôa×-Ôa؏ÙØ\ÑIÔ Ö Ôa×-Զ؏Ù؏ÑIÔ
·›·Œ· Ö
Ô¶×-Ôa؏Ù؏Ñ+Ô
KŽh‡ ¬ Šd²ˆ ¬ „³ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ`—wŽ'µq‰Œ‹ž˜8Ž~4ˆ\‰Œ‡'–…sŽ~^‘2„YŽ;‘A…†Š‡\“IÂKƒ4ŠT‰Œˆ`‰†ƒ^˜2Šdƒ1ƒ4‰Œ‘A…†„mˆ\Š ¬ Ž'±&„Y‹A„/ƒ1ˆ\„'º
‘A…†Š’‡\“’ƒ'· «G¬ „Qƒ1‰†—™˜A…†„'ƒ1ˆ¿‘A…†Š‡“w‰Œƒˆ ¬ „)„'—™˜ˆ¶µm‘8…ŒŠ’‡\“
·
{}
KŠd– ¬ Ž'±&„¾Ž~…Œ\„BŽhº©µRƒ1„'„'‹T‘A…†Š‡“’ƒ'· Žh‡ ¬ ˜\Šd­®\Žh— ‡'Šd‹ˆ\Žh‰†‹ƒŽ™ƒ1˜2„'‡/‰sŽh…‘A…†Š’‡\“+ÂIˆ ¬ „`ƒ1ŠhÈH‡BŽh…Œ…†„'º
[ P E@B,MJ1<dE O <h5&9³Šd²Iˆ ¬ „
²s–‹‡/ˆ\‰†Šd‹V· «G¬ ‰Œƒ‘A…†Š’‡\“`„'‹‡'…†Šdƒ1„'ƒˆ ¬ „°ƒ1„'¸’–„'‹‡'„Šd²2ƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒkˆ ¬ Ž~ˆ
‰†ƒ„3¹©„/‡'–©ˆ\„'º¯ ¬ „'‹Yˆ ¬ „ main ²s–‹‡/ˆ\‰†Šd‹Y‰†ƒ‡'Žh…†…†„'º³‘’µwˆ ¬ „.Š®˜I„/Ž~ˆ\‰Œ‹A­ƒ1µ’ƒ1ˆ\„'—R·
main
°ƒ4‰†‹­‘A…†Š’‡\“ƒ/©Šd‹A„)‡BŽh‹‡/\„BŽ~ˆ4„Qƒ4„/…†„'‡/ˆ\‰ŒŠd‹Žh‹º‰›ˆ\„/Ž~ˆ4‰†Šd‹YƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒo¯ ¬ Šdƒ1„)‘2Šº©µw‡'Šd‹ˆŽ~‰†‹ƒ
Žmƒ4„'¸–A„/‹A‡/„¾Šd²kˆa¯GгЮ)—mŠ®\„^ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ'·¡â©Š®)„3¹©Žh—™˜A…†„®ÂIƒ4–©˜˜2Šdƒ4„ˆ ¬ Ž~ˆ²sŠ®)ˆ\„'ƒ1ˆ4‰†‹­w˜A–©4˜2Šdƒ1„'ƒ
¯G„¯GŠd–A…Œº…†‰Œ“&„Nˆ\Š`¯°\‰›ˆ\„Šd–ˆ°Žh…†…I˜8Ž~1ˆ\‰sŽh…2ƒ4–—mƒGº–©\‰†‹­`ˆ ¬ „)‡'Šd—™˜A–©ˆŽ~ˆ\‰ŒŠd‹³‰Œ‹
Ý
sum_n.C
for ( unsigned int i = 1; i <= n ; ++ i ) {
s += i;
std :: cerr < < i < < " -th partial sum is " < < s < < " \n";
}
°„/4„ˆ¶¯GŠ.ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒKŽ~\„„3¹©„'‡/–ˆ4„'ºm‰†‹™„BŽ~‡ ¬ ‰›ˆ\„/Ž~ˆ4‰†Šd‹¾Šd²Aˆ ¬ „°…†ŠŠ®˜´·âɌ\ƒ1ˆ'Â-ˆ ¬ „‹„3¹ˆƒ4–—m—wŽh‹º
‰†ƒŽhºº„'ºˆ\Š ˆ ¬ „/‹ˆ ¬ „Q‡/–1\„'‹ˆ±hŽh…†–„QŠd² ‰†ƒG¯°\‰Œˆ1ˆ\„'‹Yˆ4Š$ƒ1ˆ\Žh‹º8ސ\º„/44Š®°Šd–©ˆ4˜A–©ˆB·
…†Š’‡\“’ƒƒ ¬ sŠd–…†ºw‰†‹³­d„'‹„/Ž~…I‘2„²sŠ®\—wŽ~ˆ4ˆ\„/sºYŽ~ƒ¿ƒ ¬ А¯°‹Ž~‘IА±&„®· «G¬ ސˆG‰†ƒ'©Ž¡…†‰Œ‹A„‘\„'Ž~“wŽ~˜˜2„Bސ\ƒ
Žh²†ˆ\„3¿ˆ ¬ „NŠ®˜2„'‹‰†‹­^Žh‹ºw‘2„'²sŠ®\„ˆ ¬ „N‡'…ŒŠdƒ4‰†‹­.‘Žh‡'„hŽh‹ºYŽ~…†…+…†‰Œ‹A„/ƒo‰†‹m‘2„/ˆ¶¯G„'„'‹YŽ~\„N‰Œ‹Aº„'‹-ˆ\„'ºwŠd‹„
…†„/±&„/…M· Ç ‹…ŒµR‰†²kˆ ¬ „^‘8…ŒŠ’‡\“R‡'Šd‹ƒ4‰†ƒpˆ\ƒŠd²”a–ƒ1ˆ)Šd‹„`ƒ1‰†‹­d…†„^ƒ1ˆŽ~ˆ4„'—m„'‹ˆNŽh‹º•‰Œˆ)Ž~…†…üˆ\ƒŠd‹TŠd‹„…†‰†‹„®Â
ˆ ¬ „‘8…ŒŠ’‡\“³‡BŽh‹‘2„)²sŠ®\—wŽ~ˆ1ˆ\„'ºYŽhƒ°Šd‹„)ƒ4‰†‹­d…†„…†‰†‹„®·
«¬ „Nˆ¶µ’˜2„NŠd²2ˆ\„/ƒ1ˆŠd–ˆ1˜8–©ˆo¯G„ ¬ Ž'±&„‡/\„Bސˆ\„'º³‰†‹³ˆ ¬ „˜\„3±‰†Šd–ƒo„3¹©Žh—™˜A…†„‰†ƒ¿‡'Žh…†…†„'ºT5! OBP ‚®‚ JSE ‚
< P ,Œ0 P ,H· ¢O'P ‚ ‰†ƒGŽ^‡'Šd—m—mŠd‹…Œµ`–ƒ4„'ºˆ4„/\—ƈ\Š`º„'‹Š®ˆ\„)Ž.˜A4Šd­®Žh—m—m‰†‹­.„34\Š®B ¬ „'‹‡'„ 1º„/‘A–­hÈ
­d‰†‹­ ‰†ƒˆ ¬ „¡˜\Ї'„'ƒ4ƒŠd²¼A‹Aº‰†‹­wŽh‹ºš„'…†‰†—m‰Œ‹8ސˆ\‰†‹­ƒ4–‡ ¬ „/44Š®\ƒ'·QËSˆ‰†ƒN­dŠ’Šº;˜Ž~‡/ˆ\‰†‡'„Qˆ\Šm¯°\‰Œˆ4„
º„/‘A– ­d­d‰†‹­Šd–©ˆ4˜A–©ˆQˆ\ŠYƒ1ˆŽh‹ºAŽ~\ºq„34\Š®¡Šd–©ˆ4˜A–©ˆQƒ4‰†‹‡'„¾‰›ˆ.‡BŽ~‹Zˆ ¬ „'‹q—mŠ®\„`„BŽhƒ4‰†…›µš‘I„¾ƒ4„/˜8Ž~\Ž~ˆ\„'º
²†\Šd—¨ˆ ¬ „ p4„BŽh… ˜\Šd­®Žh—¨Šd–©ˆ4˜A–©ˆˆ ¬ Ž~ˆ–ƒ4–AŽh…†…›µm­dŠ’„'ƒˆ\Š`ƒ1ˆŽh‹ºAŽ~\ºŠd–©ˆ4˜A–©ˆB·
…†Š’‡\“’ƒKºŠ‹Š®ˆKŠd‹A…›µ^ƒ1ˆ44–A‡3ˆ\–©\„ް˜A4Šd­®Žh— ±‰Œƒ4–AŽh…†…ŒµQ‘8–©ˆkˆ ¬ „/µ`Žh…Œƒ4ŠN˜A4А±’‰†º„GŽ…ŒŠd­d‰†‡BŽh…
‘2Šd–‹ºAŽ~4µwŽ~4Šd–A‹º³º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹ƒ Šd²V±®Ž\‰sŽ~‘A…†„'ƒ/²sŠ®„3¹Žh—™˜A…†„ · ‹-µwºA„/‡'…sŽ~Žˆ\‰†Šd‹mˆ ¬ Ž~ˆŽ~˜˜2„Bސ\ƒ
Î ˆ ¬ Ž~ˆQ‘8…ŒŠ’‡\“I· …†Š’‡BŽ~…º„'‡'Õ …†Ž~Ž~ˆ\‰ŒŠd‹T„3¹’ˆ\„'‹ºƒ¡Šd‹…Œµš–A‹-ˆ\‰†…kˆ ¬ „
‰†‹ƒ4‰†º„$޳‘A…†Š‡“•‰†ƒQ‡BŽh…†…†„/ºª7D<h@3#-7Gˆ\Š
„'‹ºšŠd²kˆ ¬ „¡‘A…†Š‡\“‰†‹R¯ ¬ ‰†‡ ¬ ‰ŒˆNŽ~˜˜2„BŽ~\ƒ/· ‹AŽh—m„Qˆ ¬ Ž~ˆ‰†ƒ‰†‹-ˆ4\Š’º–‡'„'ºR‘µ;޾…†Š‡BŽh…ú„'‡/…sŽ~Ž~ˆ4‰†Šd‹
‰†ƒ‹Š®ˆ p±’‰†ƒ4‰Œ‘A…†„ Šd–©ˆ\ƒ4‰ŒºA„Šd²ˆ ¬ „)‘A…†Š‡“w¯ ¬ „3\„Q‰›ˆ‰Œƒº„'‡'…†Ž~\„'ºV·âŠ®„3¹©Žh—™˜A…†„®Â‰†‹
Visibility.
int main ()
{
{
int i = 2;
}
std :: cout < < i ; // error , undeclared identifier
return 0;
}
NKÉ

ˆ ¬ „°±hŽ~\‰sސ‘8…Œ„ º„'‡'…sސ\„'ºm‰†‹ƒ4‰†º„ˆ ¬ „°‘A…†Š’‡\“™‰Œ‹m…†‰†‹„ Œ‰ ƒ‹Š®ˆo±‰Œƒ4‰Œ‘A…†„‰†‹™ˆ ¬ „Šd–©ˆ4˜A–©ˆoƒ1ˆŽˆŽh—m„'‹-ˆ
‰†‹Y…†‰†‹„ "· «G¬ i–'ƒ ‰†²µ&Šd–‡'Šd‹²†\Šd‹ˆˆ ¬ „Q‡/Šd—™˜8‰Œ…†„/o¯°‰Œˆ ¬ ˆ ¬ ‰Œƒ‡/Š’º„®Â‰Œˆ‰†ƒ4ƒ4–„'ƒ°Žh‹„/1\Š®°—m„/ƒ4ƒ\Žh­d„®·
Ì Šd‹ˆ1\Šd…Ã1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒŽh‡/ˆN…†‰›“&„Q‘A…†Š’‡\“’ƒ°ˆ ¬ „'—mƒ4„'…›±&„'ƒ'· «¬ „/4„'²sŠ®\„
¿
Žh‹-µ;ºA„/‡'…sŽ~Žˆ\‰†Šd‹šŽ~˜˜2„BŽ~4‰†‹­³‰Œ‹TŽm‡'Šd‹-ˆ4\Šd…ƒ1ˆŽˆ\„'—m„'‹-ˆ‰†ƒN…†Š’‡'Žh…ˆ\Šmˆ ¬ Ž~ˆ)‡'Šd‹ˆ1\Šd…ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'·.ËM‹
˜8Ž~4ˆ\‰Œ‡'–…sŽ~BÂÈ ¬ ‰Œƒ^Ž~˜˜A…†‰†„'ƒ.ˆ4ЕޱhŽ~\‰†Ž~‘A…†„™º„/¼A‹„'ºž‰Œ‹eˆ ¬ „
Šd²°Ž
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'·
ӆÑÓHÔ Ö Ôa×&Ôa؏Ù؏Ñ+Ô
for
⩊®°„6¹Žh—™˜A…†„®Â’‰†‹
Control statements and blocks.
int main ()
{
for ( unsigned int i = 0; i < 10; ++ i ) s += i ;
std :: cout < < i ; // error , undeclared identifier
return 0;
}
ˆ ¬ „)„3¹˜\„'ƒ1ƒ4‰†Šd‹
i
‰Œ‹…†‰†‹„ ºŠ„'ƒ)E<&,\„'²s„/ˆ\Š$ˆ ¬ „±®Ž\‰sŽ~‘A…†„
i
º„/¼A‹„'º‰†‹Y…†‰†‹„
·
‰†‹ˆ1\Š’º–‡'„ˆ ¬ „
˜\„'‡'‰Œƒ4„ˆ\„/4—m‰†‹Šd…†Šd­®µZˆ ¬ Ž~ˆ™Žh…†…†Šr¯ƒ`–ƒ¾ˆ\ŠZº„'º–‡'„¯ ¬ ‰†‡ ¬ ‹AŽh—m„/ƒ¾‡BŽh‹ ‘2„Y–ƒ4„'º ¯ ¬ „/\„‰†‹ªˆ ¬ „
˜\Šd­®Žh—R· Žh‡ ¬ º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹ ¬ ŽhƒGŽ~‹YŽ~ƒ4ƒ4Š’‡/‰sŽ~ˆ\„'ºZ5!3@B7g#&%3#-,MJSl!%'! ‚ J1<dEV· «¬ ‰†ƒ\„'­d‰†Šd‹w‰†ƒˆ ¬ „˜8Ž~1ˆ
Šd²©ˆ ¬ „˜\Šd­®Žh—€‰†‹¡¯ ¬ ‰†‡ ¬ ˆ ¬ „¿º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹^ސ˜A˜I„BŽ~\ƒ'·½’–A‡ ¬ Ž\„'­d‰ŒŠd‹`‡'Žh‹`‘I„¿Ž‘A…†Š’‡\“+Â&ް²s–‹A‡3ˆ\‰†Šd‹
º„/¼A‹‰Œˆ\‰†Šd‹V’Š®°Ž‡'Šd‹ˆ44Šd…ƒpˆŽ~ˆ\„'—m„/‹ˆB·kËM‹RŽ~…†…Iˆ ¬ „'ƒ4„)‡BŽhƒ4„/ƒˆ ¬ „)ºA„/‡'…sŽ~Žˆ\‰†Šd‹³‰†ƒGƒ\Žh‰†º³ˆ\Š ¬ Ž'±&„$7g<®@6#-7
Lh@3<'02!B· ºA„/‡'…sŽ~Žˆ\‰†Šd‹‡'Žh‹šŽh…†ƒ4Š ¬ Ž'±&„™E# X !'Lp0I#@/!wL~@/<'02!BÂ+‰†²‰ŒˆŽ~˜˜2„BŽ~\ƒ°‰†‹ƒ4‰†º„¡Ž`‹8Ž~—m„'ƒ1˜8Žh‡'„®Â
ƒ4„'„¡½’„'‡/ˆ\‰ŒŠd‹ · · ·â´‰†‹AŽh…†…Œµ&©Žº„'‡'…sސŽ~ˆ\‰†Šd‹wˆ ¬ Ž~ˆ‰†ƒŠd–©ˆ\ƒ4‰†º„)Šd²Žh‹-µY˜8Ž~4ˆ4‰†‡'–…sŽ~GŠ®ˆ ¬ „/ƒ1ˆ44–A‡3ˆ\–©\„
¬ Žhƒ ‚ 7D< O #-7kLh@/<'02!'·
Declarative region.
²†ˆ\„/ ¬ Ž'±‰†‹­Zƒ1„'„'‹Wˆ ¬ „/ƒ4„¼\ƒ1ˆm„3¹©Žh—™˜A…†„'ƒ'Âo¯G„Y¯‰†…†…‹Š¯
‹AŽh—m„¿‰†‹ˆ1\Š’º–‡'„'º`‘’µ¾Žº„'‡/…sŽ~Ž~ˆ4‰†Šd‹
‰†ƒ¿l’#-7Jp5¾Š®l®JML/J O 7g!Q‰Œ‹™ŽN˜+ސ4ˆKŠd²+‰Œˆ\ƒKº„'‡'…sސŽÈ
Scope.
D
ˆ\‰†Šd‹ ƒº„'‡'…sސŽ~ˆ\‰Œ±&„\„'­d‰†Šd‹V‡BŽh…†…†„/º™ˆ ¬ „¡Lh@/<'0I!^Šd²2ˆ ¬ „NºA„/‡'…sŽ~Žˆ\‰†Šd‹V· }‰Œˆ ¬ ‰†‹™ˆ ¬ „°ƒ4‡'Š®˜2„NŠd² Â-ˆ ¬ „
D
‹AŽh—m„^‰†‹-ˆ4\Š’º–‡'„'ºš‘’µ
—wŽ'µR‘2„$–ƒ4„/ºqŽh‹ºqŽh‡/ˆ4–8Ž~…†…Œµ4„'²s„/\ƒ.ˆ4гˆ ¬ „`º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹
·`ËM‹Z
—mŠdƒ1ˆ
D
D
‡BŽhƒ1„'ƒ'ˆ ¬ „Qƒ4‡/Š®˜2„QŠd²Ž`º„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹Y‰†ƒ„'¸–8Ž~…Vˆ4о‰Œˆ\ƒo02<&,4!/EV,MJp#-7kLh@/<'0I!B·
«¬ „k02<&,4!'EV,MJp#-7Lh@3<'02!Šd²©Žº„'‡/…sŽ~Ž~ˆ4‰†Šd‹QƒpˆŽ~4ˆ\ƒÃŽ~ˆVˆ ¬ „˜2Šd‰Œ‹ˆV¯ ¬ „/\„kˆ ¬ „º„'‡/…sŽ~Ž~ˆ4‰†Šd‹.ސ˜A˜I„BŽ~\ƒ'·
⩊®ˆ ¬ „)‹AŽh—m„Nˆ\Š$‘I„Qº„'‡'…†Ž~\„'ºˆ ¬ ‰Œƒ‰Œƒ‡BŽ~…†…†„'ºY‰Œˆ\ƒo02<dJSEV,Q<\[™5!/@B7s#&%/#-,MJ1<dEV· «¬ „˜2Š®ˆ\„'‹-ˆ\‰sŽh…2ƒ4‡/Š®˜2„
„3¹’ˆ\„'‹ºƒ°–‹ˆ\‰Œ…Iˆ ¬ „Q„'‹ºRŠd²ˆ ¬ „Qº„'‡'…†Ž~Ž~ˆ\‰›±&„4„'­d‰†Šd‹V·
« Šw­d„/ˆˆ ¬ „^ƒ4‡'Š®˜2„Šd²Ž™º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹VÂ8¯G„ƒ1ˆ\Ž~4ˆ²†\Šd— ‰Œˆ4ƒ˜2Š®ˆ\„'‹-ˆ\‰sŽh…´ƒ4‡'Š®˜2„^‘A–©ˆN¯G„¡˜2Šdƒ4ƒ4‰Œ‘A…Œµ
¬ Ž'±&„ˆ\Š^\„'—mŠr±&„ƒ4Šd—m„°˜8Ž~4ˆ4ƒoŠd²V‰ŒˆB· «G¬ ‰Œƒ ¬ ސ˜A˜I„'‹ƒ¯ ¬ „'‹mˆ ¬ „˜2Š®ˆ\„/‹ˆ\‰sŽ~…8ƒ4‡/Š®˜2„N‡'Šd‹ˆ\Žh‰†‹ƒoŠd‹„NŠ®
—mŠ®\„º„'‡'…sސŽ~ˆ\‰†Šd‹ƒ¿Šd²Ãˆ ¬ „`L~# X !$‹AŽh—m„h· ƒ°Ž~‹„3¹Ž~—™˜8…Œ„®Â‡'Šd‹ƒ4‰†º„/
 \Šd­®Žh— ·
# include < iostream >
int main ()
{
int i = 2;
for ( int i = 0; i < 5; ++ i )
std :: cout < < i ;
// outputs 0 , 1 , 2 , 3 , 4
D
D
E1
E1
E2
E2
E3
Figure 5:
E3
f<&,4!'EV,MJp#-7GLh@3<'02!BLš<\[;5!3@B7s#&%/#-,MJ1<dEVL
<\[³,H*I!L# X !E# X !'F5&%/#&(GE€#-L
3
%'!/@B,1#&E ‚ 7D!BLN(GJM,H*m,H*I!.@/<d%B%'!BLa02<dE5&JSE ‚ D,
5!3EB@ 7g1#&, %3E#-2,M,J1E<dE;
JSE;,H*I! P 0©02!'%N7g!M[/,G@3<d%BE!'%v47g!M[',Œ|
v35©#&% ‚ %3#&9|dF
v47:J *©, ‚ %/#&9r|
<dE;,H*I!N%BJ ‚ *©,MF(!NLh!3!,H*I!N%'!BL P 7›,MJCE ‚ Lh@/<'I
0 !BL¡<\[
D
E 1 , E3 ‚
#&E5
v1(*JS,4!1|=
E2
std :: cout < < i ;
return 0;
// outputs 2
}
Program 8:
0V%'< ‚ L Lh@/<'02!~=¶¥
« ¬ „ ‰†‹…Œ‰†‹„ \„'²s„/4ƒˆ\Š`ˆ ¬ „Qº„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹Y²†\Šd—Ê…†‰†‹„ "¯ ¬ „/\„'Žhƒˆ ¬ „ ‰†‹…Œ‰†‹„ \„'²s„/4ƒˆ\Š
ˆ ¬ „.º„'‡/…sŽ~iŽ~ˆ4‰†Šd‹²†\Šd—Ê…†‰†‹„ · «¬ „/4„'²sŠ®\„®ÂAˆ ¬ „Q˜\Šd­®Žh—ÄŠd–©ˆ4˜A–©ˆ\ƒ¼\ƒpˆ  i   Â+Ž~‹AºYˆ ¬ „'‹
·ËM‹ƒ4Šd—m„ƒ4„'‹ƒ4„®Âˆ ¬ „)ºA„/‡'…sŽ~Žˆ\‰†Šd‹³‰†‹…†‰Œ‹A„ "ˆ\„'—™˜2Š®Ž\‰†…Œµ ¬ ‰†º„'ƒˆ ¬ „˜0\„/±’1‰†Šd2–ƒ3º„'4‡'…†Ž~Ž~ˆ\‰ŒŠd‹YŠd²
2
²†\Šd—Á…†‰†‹„ · «¬ ‰†ƒk˜ ¬ „/‹AŠd—m„/‹AŠd‹¾‰†ƒ‡'Žh…†…†„'ºYE# X !¡*Ja5&JSE ‚ · –©ˆ¯ ¬ „'‹¾ˆ ¬ „ºA„/‡'…sŽ~Žˆ\‰Œ±&„G\„'­d‰†Šd‹
i
Šd²Ãˆ ¬ „)ƒ4„'‡'Šd‹ºRº„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹Y„'‹ºƒ°‰Œ‹…†‰†‹„ ©ˆ ¬ „.ƒ4„'‡/Šd‹AººA„/‡'…sŽ~Žˆ\‰†Šd
‹ p‘I„'‡'Šd—m„'ƒG‰†‹-±‰†ƒ4‰›‘8…Œ„
¯G„
ƒ\Ž'µIÝ 1‰Œˆ^4–A‹ƒŠd–©ˆ`Šd²°ƒ4‡'Š®˜I„
Žh‹ºžˆ ¬ „m¼\ƒ1ˆ`º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹qˆŽ~“&„/ƒ$Šr±&„/¾Žh­&Žh‰†‹V·•ËM‹"˜8Ž~4ˆ\‰†‡/w–AÎ …†Ž~BÂ
ƒ4‰†‹‡'„Nˆ ¬ „)‹AŽh—m„ ‰Œ‹…†‰†‹„ \-„'Õ ²s„/4ƒˆ\Šˆ ¬ „N±®Ž~4‰sŽ~‘A…†„º„/¼A‹A„/º‰†‹³…†‰†‹„ ¯G„­d„/ˆGˆ ¬ „QŠd–©ˆ4˜A–©ˆ ‰†‹
i
2
…†‰†‹„ ·
ËSˆ‰†ƒ­dŠ’Šº˜Žh‡/ˆ\‰Œ‡'„)ˆ4ŠmŽ'±&Šd‰†º‹AŽh—m„ ¬ ‰ŒºA‰Œ‹A­`ƒ4‰†‹‡'„)ˆ ¬ ‰†ƒ°–‹‹„'‡'„'ƒ1ƒ\Ž~\‰†…›µYŠ®‘A²s–ƒ4‡Bސˆ\„'ƒ°ˆ ¬ „)˜A4ŠhÈ
­®Žh—R· Ç ‹Yˆ ¬ „Š®ˆ ¬ „/ ¬ Žh‹ºV©‹AŽh—m„ ¬ ‰†º‰†‹­Žh…†…†Šr¯ƒo–ƒ …†‰›“&„N‰†‹ \Šd­®Žh— ˆ\Š`–ƒ4„Šd–©²gŽ'±&Š®\‰›ˆ\„
Î Ž
‰†º„'‹-ˆ\‰Œ¼A„/
Ž~ƒ.ˆ ¬ „™‹AŽh—m„`Šd²Gˆ ¬ „¾‡'Šd‹ˆ44Šd…±hŽ~\‰sŽ~‘A…†„$‰†‹e
ƒ1ˆŽ~ˆ\„/—m„'‹ˆBÕ Â¯‰Œˆ ¬ Šd–©ˆ ¬ Ž'±‰†‹­ˆ\Š
i
for
‡ ¬ „'‡\“T¯ ¬ „/ˆ ¬ „3.ˆ ¬ „/\„$‰†ƒ)ƒ4Šd—m„$Š®ˆ ¬ „3¡‹AŽh—m„
ƒ4Šd—m„/¯ ¬ „3\„$„/…†ƒ4„¾‰Œ‹Tˆ ¬ „$˜\Šd­®Ž~—R· «G¬ ‰†ƒQ‰Œƒ.Žh‹
Žh‡'‡/„/˜ˆŽ~‘A…†„QŽh‹º„/±&„'‹R–ƒ4„/²s–A…ÃŽ~˜˜A…†‰†‡BŽ~ˆ4‰†Šd‹mŠd²i‹AŽh—m„ ¬ ‰†º‰†‹­©·
Šr¯ª¯G„¿‡BŽh‹`­d„/ˆˆ\ŠNˆ ¬ „¿²sŠ®\—wŽh…º„/¼A‹A‰›ˆ\‰†Šd‹^Šd²Aƒ4‡'Š®˜2„¿‰†‹ˆ ¬ „¿­d„'‹„/Ž~…‡BŽhƒ4„ ˜IŠdƒ4ƒ4‰Œ‘A…†„˜\„/ƒ4„'‹‡'„
Šd²o—`–…Œˆ\‰Œ˜A…†„^º„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹AƒŠd²ˆ ¬ „$ƒ\Žh—m„`‹AŽh—m„ · «¬ „L~@/<'02!YŠd²GŽYº„'‡'…†Ž~Ž~ˆ\‰ŒÎ Šd‹
‰†ƒ.Š®‘ˆŽ~‰†‹„'º
²†\Šd—»‰Œˆ\ƒ˜2Š®ˆ\„'‹-ˆ\‰sŽh…ƒ1‡'Š®˜2„$Žhƒ.²sŠd…†…ŒŠ¯°ƒ'Ý)⊮Q„BŽhՇ ¬ º„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹
‰Œ‹•ˆ ¬ „˜2Š®ˆ\„'‹-ˆ\‰sD
Žh…ƒ4‡/Š®˜2„¾Šd²
ƒ4–‡ ¬ ˆ ¬ Ž~ˆK‘2Š®ˆ ¬
Žh‹º
ºA„/‡'…sŽ~\„Gˆ ¬ „°ƒ4Žh—m„G‹8Ž~—m„®Â®ˆ ¬ „˜2Š®ˆ4„'‹ˆ\E‰†Žh…©ƒ4‡'Š®˜2„Šd² ‰ŒƒK\„/—mА±&„'º¾²†\ŠdD
—
E
ˆ ¬ „)ƒ4‡'Š®˜2„QŠd² ·DâɆ­d–©\„ E ­d‰›±&„'ƒ°Žƒ1µ’—`‘2Šd…Œ‰†‡°˜A‰†‡/ˆ\–©\„)Šd²´ˆ ¬ „)ƒ4‰Œˆ4–8ސˆ\‰†Šd‹V·
ËM‹ k4Šd­®ŽhD
— Â-ˆ ¬ „º„'‡'…sސŽ~ˆ\‰Œ±&„G\„'­d‰ŒŠd‹¾Šd²+ˆ ¬ „º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹$‰†‹¾…†‰Œ‹A„ ‰Œƒ…†‰Œ‹A„ +BÅ ŽN‘8…ŒŠ’‡\“ Â
Î
Õ
dÅ
NKÉ

‰Œˆ\ƒ˜2Š®ˆ\„'‹-ˆ\‰sŽh…Aƒ4‡'Š®˜2„‰†ƒ…†‰†‹„ +BŠ©Ž~‹Aºw‰Œˆ4ƒoƒ4‡'Š®˜2„N‰Œƒ¿…†‰†‹„ ˜A…†–ƒo…†‰†‹„ +BÅ ·â©Š®oˆ ¬ „Nº„'‡/…sŽ~Ž~ˆ4‰†Šd‹
‰†‹$…†‰†‹„ "Â-º„'‡/…sŽ~Ž~ˆ4‰Œ±&„¿\„'­d‰†Šd‹ Ž)‡/Šd‹ˆ4\Šd…ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ ®˜2Š®ˆ4„'‹ˆ\‰†Žh…©ƒ4‡'Š®˜2„Žh‹º™ƒ4‡/Š®˜2„°Ž\„…Œ‰†‹„ " ·
\„BŽ~“’‰†‹­ºŠ¯°‹Tˆ ¬ „¾ƒ1‡'Š®˜2Î „'ƒ¡‰Œ‹ˆ\ŠY…†‰†‹„'ƒ)‰†ƒ.‰†‹T­d„'Õ ‹„/Žh…K‹Š®ˆ.˜2Šdƒ4ƒ1‰Œ‘A…†„®ÂŠd²o‡'Šd–©\ƒ4„®ÂÃ4‰†‹‡'„¾…Œ‰†‹„
‘\„BŽ~“’ƒ°—wŽ'µ Š®—wŽ'µw‹Š®ˆ Ž~˜˜2„BŽ~Žh…†—mŠdƒ1ˆŽ~‹µ’¯ ¬ „/\„®·¿ËM²¯G„)¯Žh‹ˆˆ\оˆ\Žh…Œ“³Ž~‘2Šd–©ˆƒ4‡'Š®˜2„.Šd‹RŽ
…†‰†‹„3ÈS‘’µ-ÈH…†‰†‹„‘8Î Žhƒ4‰Œƒ'¯G„ ¬ Ž'±&Õ „)ˆ4о²sŠ®\—wŽ~ˆGˆ ¬ „˜\Šd­®Žh—ÄŽh‡'‡/Š®\º‰†‹­d…Œµ&·
„/…sŽ~ˆ\„'ºRˆ\Š™ˆ ¬ „^ƒ1‡'Š®˜2„Šd²K޾±®Ž~4‰sŽ~‘A…†„.‰ŒƒN‰Œˆ\ƒ¡L',4<d%3# ‚ !R5 P %/#-,MJp<dEV· «¬ ‰†ƒ°ˆ4„/\—
º„'‹Š®ˆ\„'ƒˆ ¬ „³ˆ4‰†—m„m‰†‹"¯ ¬ ‰Œ‡ ¬ ˆ ¬ „Ž~ºAº©\„/ƒ4ƒ$Šd²ˆ ¬ „³±hŽ~\‰sސ‘8…Œ„³‰Œƒ±hŽh…†‰ŒºÂkˆ ¬ Ž~ˆ$‰†ƒ'ÂKƒ4Šd—m„³—m„'—mŠ®4µ
…†Š‡BŽ~ˆ\‰†Šd‹³‰†ƒŽhƒ4ƒ1‰†­d‹„'ºˆ\Š$‰ŒˆB·
⩊®mŽR±®Ž~4‰sŽ~‘A…†„w¯‰Œˆ ¬ …†Š’‡'Žh…¿ƒ4‡'Š®˜2„hˆ ¬ „ƒ1ˆ4Š®Žh­d„³ºA–©Žˆ\‰†Šd‹"‰Œƒ$–ƒ4–AŽh…†…›µqˆ ¬ „Yˆ\‰†—m„m‰Œ‹"¯ ¬ ‰†‡ ¬
ˆ ¬ „m˜\Šd­®Žh— ƒ.‡'Šd‹-ˆ4\Šd…¿‰†ƒ^‰†‹eˆ ¬ „m±®Ž\‰sŽ~‘A…†„ ƒ.˜2Š®ˆ\„/‹ˆ\‰sŽ~…ƒ4‡'Š®˜I„®· N–©\‰†‹­˜\Šd­®Žh— „6¹©„'‡'–©ˆ\‰ŒŠd‹Â
ˆ ¬ ‰†ƒ—m„'Žh‹ƒ°ˆ ¬ Ž~ˆ¯ ¬ „/‹A„3±&„/Nˆ ¬ „¡±®Ž\‰sŽ~‘A…†„¡º„'‡/…sŽ~Ž~ˆ4‰†Šd‹‰†ƒ\„'Žh‡ ¬ „/ºÂ2ƒ1Šd—m„¡—m„'—mŠ®4µ³…†Š‡BŽ~ˆ\‰†Šd‹‰†ƒ
Žhƒ4ƒ1‰†­d‹„'ºŽ~‹Aº³ˆ ¬ „)Žhºº4„'ƒ4ƒ¿‘2„'‡'Šd—m„/ƒo±®Žh…Œ‰†ºV· ‹Aºw¯ ¬ „'‹„/±&„3ˆ ¬ „„3¹„'‡'–©ˆ\‰†Šd‹³­d„/ˆ\ƒ¿ˆ\Šˆ ¬ „„'‹ºŠd²
ˆ ¬ „¿º„'‡'…sސŽ~ˆ\‰Œ±&„\„'­d‰†Šd‹VÂhˆ ¬ „GŽhƒ1ƒ4Š’‡'‰†Ž~ˆ\„'º—m„'—mŠ®4µ)‰†ƒ²†4„'„'º$Žh‹º`ˆ ¬ „o±hŽ~\‰sސ‘8…Œ„ ýƒÃŽhºº4„'ƒ4ƒ‘2„'‡'Šd—m„/ƒ
‰†‹-±®Žh…Œ‰†ºV· Ü Z„Nˆ ¬ „/\„/²sŠ®\„­d„/ˆŽ 1²†\„'ƒ ¬ ‰†‹ƒ1ˆŽh‹‡'„ Šd²Vˆ ¬ „±®Ž\‰sŽ~‘A…†„N„/±&„34µ’ˆ\‰Œ—m„‰Œˆ\ƒ¿º„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹m‰†ƒ
„3¹„'‡'–©ˆ\„'ºV·
«¬ ‰†ƒG‘2„ ¬ Ž'±‰ŒŠ®‰Œƒ‡BŽ~…†…†„'ºe# P ,4< X #-,MJp@¾L/,4<d%/# ‚ !Y5 P %/#-,MJ1<dEV·K⩊®„6¹Žh—™˜A…†„®Â’‰†‹
Storage duration.
for ( unsigned int i = 0; i < 10; ++ i ) {
int k = 2;
// do something with k
}
ˆ ¬ „^Žhºº©\„'ƒ1ƒŠd²ˆ ¬ „.±®Ž\‰sŽ~‘A…†„
—wŽBµ³‡ ¬ Žh‹­d„¡‰†‹R„BŽ~‡ ¬ ‰Œˆ\„3Ž~ˆ\‰†Šd‹Šd²ˆ ¬ „¡…†Š’Š®˜· …†ƒ1оˆ ¬ „¡‰†‹‰Œˆ\‰†Žh…›È
‰ Bސˆ\‰†Šd‹wˆ\Š
ˆŽ~“&„'ƒ˜A…sŽh‡'„‰†‹„'kŽh‡ ¬ ‰Œˆ\„/\Ž~ˆ\‰†Šd‹V·
3
ƒŽ`—mŠ®\„‡'Šd‹‡/4„/ˆ\„.„6¹Žh—™˜A…†„®Â’‡'Šd‹ƒ4‰†º„/ˆ ¬ „Q²sŠd…†…ŒŠ¯°‰†‹­`‡/Š’º„Q²†\Žh­d—m„'‹ˆ'·
int i = 5;
for ( int j = 0; j < 5; ++ j ) {
std :: cout < < ++ i ; // outputs 6 , 7 , 8 , 9 , 10
int k = 2;
std :: cout < < - - k ; // outputs 1 , 1 , 1 , 1 , 1
}
’½ ‰†‹‡'„™…Œ‰†‹„
‘2„'…†Šd‹­dƒ)ˆ\Šˆ ¬ „mƒ4‡'Š®˜2„¾Šd²Gˆ ¬ „¾ºA„/‡'…sŽ~Žˆ\‰†Šd‹q‰†‹q…†‰Œ‹A„ ˆ ¬ „™„ +„'‡/ˆŠd²G…†‰†‹„
‰Œƒ.ˆ\Š
‰†‹‡/\„/—m„'‹ˆˆ ¬ „Q±hŽ~\‰sސ‘8…Œ„Qº„/¼A‹„'ºR‰†‹…Œ‰†‹„ ‰Œ‹R„/±&„/4µ‰Œˆ\„/Žˆ\‰†Šd‹Šd²´ˆ ¬ „
ƒ1ˆŽ~ˆ\„/—m„'‹ˆB· ‰Œ‹A„ Â
Šd‹mˆ ¬ „Š®ˆ ¬ „/ ¬ Žh‹ºV‘I„'…†Šd‹­dƒˆ\Š¡ˆ ¬ „°ƒ4‡'Š®˜2„NŠd²2ˆ ¬ „º„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹™‰†‹m…†‰†‹„ for
‰†ƒ
ޒˆ ¬ „„ +„'‡/ˆGŠd²2…†‰†‹„
ˆ ¬ „/\„/²sŠ®\„¡ˆ\Šmº„'‡/\„/—m„'‹ˆˆ ¬ „ 1²†\„'ƒ ¬ ±hŽ~\‰sŽ~‘A…†„
‰†‹R„/±&„/1µR‰Œˆ\„/\Ž~ˆ\‰†Šd‹VÂAŽh‹ºRˆ ¬ ‰†ƒŽh…›¯ŽBµ’ƒ\„/ƒ4–…Œˆ\ƒ
k
‰†‹³±®Žh…Œ–A„ ·
1
ËM‹;‡'Šd‹ˆ4\Žhƒ1ˆBÂ+Ž$±®Ž\‰sŽ~‘A…†„)ˆ ¬ Ž~ˆ‰†ƒº„/¼A‹A„/ºš‰Œ‹R‹8Ž~—m„'ƒ1˜8Žh‡'„Qƒ4‡'Š®˜2„^Š®N­d…ŒŠ®‘+Ž~…ƒ1‡'Š®˜2„ ¬ Žhƒ¡L',1#-,MJp@
L',4<d%/# ‚ !e5 P %/#-,MJ1<dEV· «G¬ ‰Œƒ^—m„BŽh‹ƒ.ˆ ¬ Ž~ˆ‰Œˆ4ƒŽhºº4„'ƒ4ƒ‰†ƒ^º„/ˆ\„/4—m‰†‹„'ºŽ~ˆ^ˆ ¬ „™‘2„'­d‰†‹‹‰†‹­Šd²Gˆ ¬ „
˜\Šd­®Žh— ƒ„3¹©„'‡/–ˆ4‰†Šd‹VÂÎh‹ºZ‰›ˆ.ºŠ’„/ƒ.‹Š®ˆ.‡ ¬ Žh‹­d„ ¬ „/‹A‡/„ 1ƒ1ˆŽˆ\‰†‡
‹Š®Q‘I„'‡'Šd—m„`‰†‹±hŽh…†‰†º•–‹ˆ\‰†…
Î
-Õ
ˆ ¬ „„3¹©„/‡'–©ˆ\‰†Šd‹šŠd²Kˆ ¬ „¡˜\Šd­®Ž~—á„'‹ºƒ'· «G¬ „±hŽ~\‰†Ž~‘A…†„'ƒ‹AŽh—m„'ºR‘µ
Žh‹º
Â
std::cin
std::cout
ã2ë\õMéÃõCþ®ç1õ2õCþhéç BíHéaèSè ë'éaèIåhë\õ2å~épæaéaèSèMç1íSïñóñêíMéaîç4ïñåGõSþ~éèMç4îGéVõSþríHëì~ò6þ~ë6ìrõ8õCþ~éÃÿ~íMë6òí¶ç4î èAérépæ¶ìrõSïðëå
©
s² Š®¿‰†‹ƒ1ˆ\Žh‹‡'„®Â ¬ Ž'±&„ƒpˆŽ~ˆ\‰†‡ƒ1ˆ\Š®\Žh­d„°º–©Ž~ˆ\‰ŒŠd‹·Ž\‰sŽ~‘A…†„'ƒ¯°‰Œˆ ¬ ƒ1ˆ\Ž~ˆ\‰†‡ƒ1ˆ\Š®Žh­d„º–\Ž~ˆ\‰†Šd‹mސ\„Žh…Œƒ4Š
\„'²s„34\„'ºˆ\оŽhƒ)L',1#-,MJ1@$l’#&%BJp# O 7g!BL'·
2.4.4 Iteration: while statements
½’Šm²gŽ~BÂA¯G„ ¬ Ž'±&„^ƒ4„'„'‹;Šd‹„¡‰Œˆ4„/Ž~ˆ\‰ŒŠd‹ƒ1ˆŽˆ\„'—m„'‹-ˆB©ˆ ¬ „
ƒpˆŽ~ˆ\„'—m„/‹ˆB· «G¬ „
L',1#-,4! X !'EV,
for
while
†‰ ƒ¿Ž¡ƒ1‰†—™˜A…†‰Œ¼A„'º
ƒ1ˆŽˆ\„'—m„'‹-ˆBÂ-¯ ¬ „/\„‘2Š®ˆ ¬
h
Ž
‹
º
~
Ž
\

N
„
d
Š
m
—
‰Œˆ4ˆ4„'ºV·ËSˆ\ƒ
for
†
Ó
Ñ
H
Ó
Ô
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
/Ø Ö1Ö ÓCАÑ
Ø
ƒ1µ’‹ˆŽ¹Y‰†ƒ
while οÏ/АÑ2ÒÓHÔCÓCАÑRÕ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
¯ ¬ „/4„
Žh‹º
Ž~4„oŽhƒ‰Œ‹Ž
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'· ƒ‘2„'²sŠ®\„®Â Ö
‰†ƒ\„'²s„/44„'º
ÐÑ Šd²2ˆ ¬ „ Ö aÔ ×-ÔaØ\Ù؏ƒ1ÑIˆÔ Ž~ˆ\„/—m„'‹ˆB·K½’„/for
؏Ù
ˆ\Š`Žhƒoˆ ¬ Ï'А„ÑI‘2ҊÓHº©ÔSÓCµm
—wŽh‹ˆ\‰Œ‡BŽh…†…Œµ&Â&Ž
ƒ1ˆ\Ž~ˆ\„'—mÔa„/×-‹Ôaˆo
‰Œƒ¿Ø\„'ÑI¸’Ô –‰Œ±hŽh…†„'‹-ˆoˆ\Š
while
while
ˆ ¬ „)‡'Š®4\„'ƒp˜2Šd‹ºA‰Œ‹A­
1ƒ ˆŽˆ\„'—m„'‹-ˆ
for Î
Þ
Þ
for
Ï/АÑ2ÒÓHÔCÓCÐÑ Õ
Ö aÔ ×&Ôa؏Ù؏Ñ+Ô
 Ö
Â
›··B·4–‹ˆ\‰†…
4„3È
«G¬ „m„6¹©„'‡'–©ˆ\‰ŒŠd‹Š®4ºA„3‰†ƒ.ˆ ¬ „/\„/²sŠ®\„
'
Ï

Ð
I
Ñ
’
Ò
M
Ó
S
Ô
C
Ó

Ð
Ñ
¶
Ô
×
a
Ô

Ø

Ù

Ø
+
Ñ
Ô
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
D
Ó

Ð
Ñ
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
ˆ\–©\‹ƒk[~#-7:Lh!B·
½’‰†‹‡'„
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒŽ~\„wƒ4Šš„BŽhƒ1µqˆ\ŠR\„3¯°\‰Œˆ4„wŽhƒ
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ'¯ ¬ µZºAŠ;¯G„w‹„'„'º
ˆ ¬ „'— «¬ while
„°—wŽ~‰†‹^\„BŽhƒ4Šd‹m‰Œƒk4„BŽhºAŽ~‘A‰†…†‰Œˆ¶µ&· ƒ‰›ˆ\ƒk‹8Ž~—m„ƒ1–A­dfor
­d„/ƒ1ˆ\ƒ'’Ž
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆk‰†ƒkˆaµ˜A‰†‡BŽh…†…›µ
for
˜2„/4‡'„'‰Œ±&„'ºšŽhƒ°Ž$‡'Šd–‹-ˆ\‰†‹­¾…†ŠŠ®˜‰†‹¯ ¬ ‰†‡ ¬ ˆ ¬ „.‰†‹‡/4„'—m„'‹ˆ Š®°ºA„/‡/\„'—m„'‹-ˆ Šd²Ž$ƒ4‰Œ‹A­d…Œ„)±hŽ~\‰sސ‘8…Œ„
‰†ƒ.4„'ƒ1˜2Šd‹ƒ4‰Œ‘A…†„$²sŠ®^ˆ ¬ „¾˜\Šd­®\„'ƒ1ƒ¡ˆ\А¯Ž\ºƒQˆ\„/4—m‰†‹AŽ~ˆ\‰†Šd‹V·wÎ ËM‹qˆ ¬ ‰†ƒ.‡'Žhƒ4„®Âˆ Õ ¬ „¾˜\Šd­®\„/ƒ4ƒ^‰†ƒ¡—mŠdƒ1ˆ
‡'Šd‹-±&„'‹‰†„'‹ˆ4…Œµe—wŽhº„m‰†‹žˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆ ýƒ
· –©ˆˆ ¬ „Yƒ1‰Œˆ\–AŽ~ˆ\‰†Šd‹e‡BŽ~‹"‘2„w—mŠ®\„
for
/Ø Ö4Ö ÓDАÑ
Ø
‡'Šd—™˜A…†„3¹IÝIˆ ¬ „K˜\Šd­®4„'ƒ4ƒ—wŽBµºA„3˜2„'‹º¡Šd‹Qˆ ¬ „k±hŽh…†–„'ƒVŠd²’ƒ4„3±&„/Žh…&±®Ž\‰sŽ~‘A…†„'ƒ/Â~Š®Šd‹¡ƒ4Šd—m„‡/Šd‹Aº‰Œˆ4‰†Šd‹
ˆ ¬ Ž~ˆk¯G„‡ ¬ „'‡\“$‰†‹$ˆ ¬ „…†ŠŠ®˜ ƒ‘2Š’º©µ&·ËM‹$ƒ4Šd—m„GŠd²+ˆ ¬ „'ƒ4„‡BŽhƒ4„/ƒ'’Ž
ƒ1ˆŽ~ˆ4„'—m„'‹ˆK‰†ƒ˜\„'²s„3Ž~‘A…†„®·
while
«G¬ „)‹„3¹ˆ°ƒ4„'‡/ˆ4‰†Šd‹º„'ƒ4‡3\‰Œ‘2„'ƒ°Žh‹„3¹©Žh—™˜A…†„®·
‰Œ±&„'‹;Ž‹8ސˆ\–©Žh…‹’–—`‘I„/
¯G„.‡/Šd‹Aƒ1‰†º„/°ˆ ¬ „¥<&7C7g#-,wLh! P !'E@3!
The Collatz problem.
n ¯‰Œˆ ¬
Žh‹º
n0 , n1 , n2 , . . .
n0 = n
‰†²
‰†ƒ„/±&„'‹
ni−1 /2,
ni−1
‰†²
‰†ƒŠ’ºº
ni =
i 1.
3ni−1 + 1,
ni−1
⠊®N„3¹©Žh—™˜A…†„®Â‰†²
©
Â8¯G„¡­d„3ˆˆ ¬ „¡ƒ4„'¸–„'‹‡'„
·°½’‰†‹‡'„.ˆ ¬ „.ƒ4„'¸’–„'‹‡'„
n=5
5, 16, 8, 4, 2, 1, 4, 2, 1, . . .
­d„/ˆ\ƒ)\„/˜2„3ˆ\‰Œˆ\‰Œ±&„`ŽhƒQƒ4Š’Šd‹ZŽhƒ
Ž~˜˜2„BŽ~4ƒ'¯G„$—wŽ'µ;ƒ1ˆ\Š®˜eŽ~ˆ)ˆ ¬ ‰†ƒ˜2Šd‰†‹-ˆB· \Šd­®Ž~— ³\„BŽhºƒ.‰Œ‹ZŽ
‹’–—‘2„/
Žh‹º³Šd–ˆ1˜8–©ˆ\ƒˆ ¬ „N1„'…†„'—m„'‹-ˆ\ƒoŠd²Vˆ ¬ „Nƒ4„'¸–A„/‹A‡/„
–‹ˆ4‰†…8ˆ ¬ „N‹–A—‘2„/ Ž~˜˜2„BŽ~\ƒ/·
n
(ni )i 1
// Program : collatz . C
// Compute the Collatz sequence of a number n.
# include < iostream >
1
NKÉ

int main ()
{
// Input
std :: cout < < " Compute the Collatz sequence for n =? ";
unsigned int n;
std :: cin > > n;
// Iteration
while ( n > 1) {
if ( n % 2 == 0)
n = n / 2;
else
n = 3 * n + 1;
std :: cout < < n < < " ";
}
std :: cout < < "\ n";
return 0;
}
Program 9:
0V%'< ‚ L k@/<&7C7g#-,-=H¥
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ¾¯°‰Œˆ ¬ „'—™˜ˆ¶µ
«¬ „R…†ŠŠ®˜}‡BŽh‹¤Šd²‡'Šd–©\ƒ4„R‘2„¯°4‰Œˆ4ˆ\„'‹¤Ž~ƒwŽ
Ö
for
Žh‹º
‘A–©ˆGˆ ¬ „N\„'ƒ4–…Œˆ\‰Œ‹A­^±hŽ~\‰sŽ~‹ˆŠd²´ˆ ¬ „N˜\Šd­®Žh—¨‰†ƒG…†„/ƒ4ƒ4„BŽhºAŽ~‘A…†„Nƒ4‰†Ó†‹Ñ‡'ÓHÔ „) ‰ŒÔaˆ¿×&ˆ4Ôa4؏‰†Ù
„'ƒ¿Øˆ\Ñ+Š Ô
4
Ö
Ö
Žhº©±&„/؍4ˆ4‰†ƒ4/„GØ ˆ ¬ ÓC„АÑ ސˆ ¬ „/‡/Šd—™˜8…Œ‰†‡BŽ~ˆ\„/º`‰›ˆ\„/Ž~ˆ4‰†Šd‹¾Ž~ƒoŽƒ4‰†—™˜A…†„o‡'Šd–‹-ˆ\‰†‹­.…†ŠŠ®˜· ƒŽ\–…†„GŠd²+ˆ ¬ –—`‘Â
‰†²¿ˆ ¬ „/\„m‰Œƒ^Žƒ4‰†—™˜A…†„
ˆ ¬ Ž~ˆ^‡BŽ~˜ˆ\–©\„/ƒ¡ˆ ¬ „m…†Š’Š®˜ ýƒ)˜\Šd­®\„'ƒ4ƒ/ÂK–ƒ4„wŽ
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'·
Ø /Ø Ö4Ö ÓCАÑ
for
Ç ˆ ¬ „/4¯‰Œƒ4„®Â‡'Šd‹ƒ4‰†º„/²sŠ®\—`–A…†Ž~ˆ\‰†‹­.µ&Šd–©…ŒŠ’Š®˜ŽhƒŽ
ƒ1ˆŽ~ˆ\„/—m„'‹ˆB·
while
Žh…Œ¯Ž'µ’ƒŽ~˜˜2„BŽ~\ƒ ¨ËM²G‹Š®ˆBˆ ¬ „
« Žh…Œ“’‰†‹­;Ž~‘2Šd–©ˆ¡˜\Šd­®\„/ƒ4ƒ'ݙ‰†ƒ^‰›ˆ^‡'…†„Bސ^ˆ ¬ Ž~ˆ^ˆ ¬ „m‹’–—‘2„/
1
˜\Šd­®Žh—
‡'Šd‹ˆŽ~‰†‹ƒoŽh‹m‰†‹©¼A‹‰Œˆ\„…†Š’Š®˜™²sŠ®G‡'„/4ˆŽ~‰†‹™±®Ž~…†–„'ƒŠd² ·KËM²Iµ&Šd–m˜8…†ŽBµ`¯‰›ˆ ¬ ˆ ¬ „
collatz.C
˜\Šd­®Žh—Rµ&Šd–R¯‰†…Œ…´Š®‘Aƒ4„/1±&„¡ˆ ¬ Ž~ˆ ‰†‹º„'„'ºšŽ~˜˜2„'Ž~\ƒ²sŠ®Ž~…†…Ë–A—‘2„/4ƒ°nµ&Šd–Rˆ44µ&ÂIŽ~…Œˆ ¬ Šd–­ ¬ ˆ ¬ ‰†ƒ
—wŽ'µmˆŽ~“&„Qޝ ¬ ‰†…†„®· KŠd–Y¯°‰†…†…I¼A‹ºV©1²sŠ®„3¹©Žh—™˜A…†„®Â’ˆ ¬ Ž~ˆGˆ ¬ „.ÌGŠd…Œ…sŽ~ˆ Nƒ4„/¸’–„'‹‡'„¡²sŠ®
‰†ƒ
n = 27
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
364 182 91 274 137 412 206 103 310 155 466 233 700 350 175 526
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
263 790 395 1186 593 1780 890 445 1336 668 334 167 502 251 754
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
377 1132 566 283 850 425 1276 638 319 958 479 1438 719 2158 1079
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
3238 1619 4858 2429 7288 3644 1822 911 2734 1367 4102 2051 6154
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
3077 9232 4616 2308 1154 577 1732 866 433 1300 650 325 976 488
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
 Â
  Â
244 122 61 184 92 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4
 ·
2 1
SË ˆ‰†ƒ^­d„'‹„/Ž~…†…ŒµT‘I„'…†‰†„/±&„/ºˆ ¬ Ž~ˆ
„3±&„'‹ˆ\–AŽh…Œ…Œµq‡'Šd—m„'ƒ.–˜"²sŠ®`Žh…†…±hŽh…†–„'ƒ^Šd² ÂK‘A–©ˆ—wŽ~ˆ ¬ „3È
1
—wŽ~ˆ\‰Œ‡'‰sŽh‹ƒ ¬ ŽB±&„^‹Š®ˆµ&„3ˆ)‘I„'„'‹šŽ~‘A…†„.ˆ\Š™˜\Šº–A‡/„Ž$˜\Š’Šd²Šd²ˆ ¬ ‰†ƒ‡/Šd‹&”a„'‡3ˆ\–©\„®· nƒ‰Œ‹A‹Š‡'„'‹ˆNŽhƒ
‰Œˆ…†Š’Š®“’ƒ'©ˆ ¬ ‰†ƒG˜A4Š®‘8…Œ„'—mƒGƒ4„'„'—mƒˆ\о‘2„.Ž`±&„/4µ ¬ Ž~\º—wŽ~ˆ ¬ „/—wŽ~ˆ\‰†‡BŽ~…+‹’–©ˆˆ\Š™‡/Ž~‡“ ƒ4„/„^Žh…†ƒ4Š`ˆ ¬ „
Î
N„/ˆŽh‰Œ…†ƒ¿ƒ4„'‡/ˆ4‰†Šd‹ ‘A–ˆµ&Šd–RŽ~4„.‡'„/1ˆŽh‰†‹…Œµm‰Œ‹±‰›ˆ\„'ºYˆ4о­d‰Œ±&„)‰ŒˆŽˆ14
µ
Õ
2.4.5 Iteration: do statements
'L ,1#-,4! X !'EV,HLYŽ~\„`ƒ4‰†—m‰†…†Ž~ˆ\Š
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒ/„6¹©‡'„/˜ˆQˆ ¬ Ž~ˆˆ ¬ „`‡/Šd‹Aº‰Œˆ4‰†Šd‹•‰ŒƒQ„/±hŽh…†–AŽ~ˆ4„'º
while
#[',4!/%¾„/±&„34µm‰Œˆ\„3Ž~ˆ\‰†Šd‹¾Šd²Iˆ ¬ „…†Š’Š®˜w‰Œ‹Aƒpˆ\„BŽhºmŠd² O !S[h<d%'!^„3±&„/4µm‰Œˆ4„/Ž~ˆ\‰ŒŠd‹· «¬ „/\„/²sŠ®\„®Â‰†‹m‡/Šd‹ˆ4Ž~ƒ1ˆ
ˆ\Š$²sŠ® Žh‹º
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'ˆ ¬ „‘2Š’º©µ³Šd²Ž
ƒ1ˆŽˆ\„'—m„'‹-ˆG‰†ƒ„6¹©„'‡'–©ˆ\„/º;Ž~ˆ°…Œ„BŽhƒ1ˆŠd‹‡'„®·
while
do
ƒ1ˆŽˆ\„'—m„'‹-ˆ‰ŒƒŽ~ƒ²sŠd…†…ŒŠ¯°ƒ'·
«G¬ „)ƒ1µ’‹ˆŽ¹Šd²Ž
Do
do
do
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
Þ
while Î¿Ø /Ø 4Ö Ö CÓ ÐÑšÕ
¯ ¬ „/4„
‰†ƒGŠd²Žˆ¶µ˜2„)¯ ¬ Šdƒ4„)±hŽh…†–„'ƒ‡BŽh‹Y‘2„Q‡/Šd‹±&„/4ˆ4„'ºˆ\Š
·
Ø/Ø Ö4Ö ÓDАÑ
bool
«¬ „Gƒ4„'—wŽ~‹ˆ\‰†‡/ƒ‰†ƒº„/¼A‹„'º™Žhƒ²sŠd…Œ…†Š¯°ƒ'· ‹$‰Œˆ4„/Ž~ˆ\‰ŒŠd‹`Šd²©ˆ ¬ „G…†ŠŠ®˜$‡/Šd‹Aƒ1‰†ƒ1ˆ\ƒŠd²¼\ƒ1ˆk„3¹„'‡'–©ˆ\‰†‹­
Ö Ôa×&Ôa؏Ù؏Ñ+Ô Žh‹ºˆ ¬ „'‹„3±®Žh…Œ–8ސˆ\‰†‹­ Ø/Ø Ö4Ö ÓCÐÑ ·oËM² Ø/Ø Ö4Ö ÓDÐÑ \„/ˆ\–©\‹ƒ),M% P !`ˆ ¬ „'‹;Žh‹Š®ˆ ¬ „/‰Œˆ\„/1È
Ž~ˆ\‰ŒŠd‹Y²sŠd…†…ŒŠ¯°ƒ'· Ç ˆ ¬ „/1¯‰†ƒ4„hˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ¿ˆ\„/\—m‰Œ‹8ސˆ\„'ƒ'· «G¬ „Q„3¹„'‡'–©ˆ\‰†Šd‹Š®\º„/°‰ŒƒGˆ ¬ „3\„'²sŠ®\„
do
Â
Â
Ö Ôa×&Ôa؏Ù؏Ñ+Ô Ø 3Ø Ö4Ö ÓCÐÑ Ö Ôa×&Ôa؏Ù؏Ñ+Ô Â Ø/Ø Ö4Ö ÓCÐÑ ÂV·'·'·\–‹ˆ4‰†… Ø/Ø Ö4Ö ÓCÐÑ 4„/ˆ\–©\‹ƒ[#-7›Lh!'·
…Œˆ\„3\‹AŽ~ˆ\‰Œ±&„'…›µ&®ˆ ¬ „ƒ4„/—wŽh‹ˆ\‰Œ‡'ƒ‡/Šd–A…Œº¾‘2„ºA„3¼8‹„'ºm‰Œ‹¾ˆ\„/\—mƒKŠd²+ˆ ¬ „²sŠd…†…†Šr¯‰†‹­„'¸–A‰›±®Žh…Œ„'‹ˆ
for
ƒ1ˆŽˆ\„'—m„'‹-ˆB·
Þ
for Î bool firsttime = true; firsttime || Ø/Ø 4Ö Ö CÓ ÐÑ firsttime = false Õ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
ƒ1ˆŽ~ˆ\„/—m„'‹ˆBÂV„3¹‡'„/˜ˆ.ˆ ¬ ސˆ.‰†‹•ˆ ¬ „`¼\ƒ1ˆ
«¬ ‰†ƒ‘2„ ¬ Ž'±&„'ƒ¡…Œ‰Œ“&„$Šd–© 1ƒ4‰†—`–…sŽ~ˆ\‰†Šd‹ Šd²ˆ ¬ „
while
‰Œˆ\„3Ž~ˆ\‰†Šd‹VÂ
‰†ƒ¿‹Š®ˆG„/±®Ž~…†–AŽ~ˆ\„'º º–„Nˆ\Šƒ ¬ Š®4ˆG‡'‰Œ\‡/–A‰›ˆ¿„/±hŽh…†–AŽ~ˆ\‰†Šd‹VÂ-ƒ4„'„.½’„'‡/ˆ\‰ŒŠd‹ · · Â
Ø /Ø Ö4Ö ÓCАÑ
Õ
Žh‹º Ö
‰†ƒ„3¹„'‡'–©ˆ\„'ºR–‹‡'Šd‹º‰Œˆ\‰†ŠdÎ ‹AŽh…†…›µ&·
Ô¶×-Ôa؏Ù؏Ñ+Ô
ÌGŠd‹ƒ4‰ŒºA„3NŽƒ4‰†—™˜A…†„‡BŽh…†‡/–A…†Ž~ˆ\Š®1ÈSˆaµ˜2„)Ž~˜˜A…†‰†‡BŽ~ˆ4‰†Šd‹Y‰Œ‹¯ ¬ ‰†‡ ¬ ˆ ¬ „Q–Aƒ1„/„'‹-ˆ\„/\ƒŽ`ƒ4„/¸’–„'‹‡'„^Šd²
‹’–—‘2„/\ƒ/Â2Žh‹ºTŽ~²†ˆ\„/)„BŽh‡ ¬ ‹–—`‘2„3ˆ ¬ „^˜A4Šd­®Žh—áŠd–©ˆ4˜A–©ˆ\ƒˆ ¬ „^ƒ4–— Šd²ˆ ¬ „`‹–—`‘2„3\ƒ„'‹-ˆ\„/\„'º
ƒ4Š;²gŽ~B· µq„'‹-ˆ\„/\‰Œ‹A­ ˆ ¬ „m–ƒ4„/`‰†‹º‰†‡BŽ~ˆ4„'ƒ.ˆ ¬ Ž~ˆ¡ˆ ¬ „m˜\Šd­®Ž~— ƒ ¬ Šd–…†ºeƒ1ˆ\Š®˜· «¬ ‰†ƒ^‰†ƒ^—mŠdƒpˆ
‹AŽ~ˆ\–©Žh…Œ…Œµž¯\‰Œˆ4ˆ4„'‹W–ƒ40‰Œ‹A­Ž
ƒpˆŽ~ˆ\„'—m„/‹ˆBÂGƒ4‰†‹‡'„Rˆ ¬ „Rˆ\„/4—m‰†‹AŽ~ˆ\‰†Šd‹ª‡/Šd‹Aº‰Œˆ4‰†Šd‹ ‡BŽh‹WŠd‹A…›µª‘2„
do
‡ ¬ „'‡\“&„'ºª#[',4!'%mˆ ¬ „)‹„3¹ˆ‹’–—‘2„/ ¬ Žhƒ‘I„'„'‹R„'‹-ˆ\„/\„'ºV·
int a ;
// next input value
int s = 0; // sum of values so far
do {
std :: cout < < " next number =? ";
std :: cin > > a;
s += a;
std :: cout < < " sum = " < < s < < " \n" ;
} while ( a != 0);
ËM‹ˆ ¬ ‰†ƒG‡BŽ~ƒ4„®Â‰Œˆ‰†ƒNE<&,˜2Šdƒ1ƒ4‰Œ‘A…†„Nˆ\Š`ºA„/‡'…sŽ~\„ ¯ ¬ „/\„¯G„)¯GŠd–…†º³–ƒ4–AŽh…†…ŒµmºŠ$‰ŒˆB‹AŽh—m„'…›µm‰†—m—m„3È
º ‰sŽ~ˆ\„/…Œµ^‘2„'²sŠ®\„ˆ ¬ „°‰†‹©˜A–©ˆKƒ1ˆŽ~ˆ\„/—m„'‹ˆB· «¬ „4a„BŽhƒ4Šd‹m‰†ƒkˆ ¬ Ž~ˆ ¯GŠd–…†º$ˆ ¬ „/‹¾‘2„°…ŒŠ’‡BŽh…©ˆ\Š)ˆ ¬ „‘2Šº©µ
Šd²´ˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆ°Ž~‹AºY¯GŠd–A…Œº‹Š®ˆG‘2„)±’‰†ƒ4‰Œ‘A…†„‰†‹³ˆ ¬ „ a ƒpˆŽ~ˆ\„'—m„/‹ˆ ƒ
·
do
do
Ø /Ø Ö4Ö ÓCÐÑ a != 0
NKÉ

2.4.6 Jump statements
ˆˆ ¬ ‰†ƒ˜2Šd‰†‹-ˆBÂ+¯G„^¯GŠd–…†º;…†‰Œ“&„¡ˆ\г„3¹ˆ4„'‹ºTŠd–©)Ž~\ƒ4„/‹8Ž~…KŠd²K‡'Šd‹-ˆ4\Šd…ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ°¯‰›ˆ ¬ Ž™ƒp˜2„'‡'‰sŽ~…
ˆ¶µ’˜2„Šd²Kƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ°ˆ ¬ Ž~ˆ)Ž~\„^\„/²s„/4\„'º•ˆ\гŽhƒ P+X 0}L',1#-,4! X !'EV,HL'· «G¬ „'ƒ4„ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒŽ~\„‹Š®ˆ
‹„'‡'„'ƒ1ƒ\Ž~4µ‰†‹ˆ ¬ „.ƒ1„'‹ƒ4„Qˆ ¬ Ž~ˆˆ ¬ „/µ³¯GŠd–…†ºŽh…Œ…†Š¯Úµ&Šd–ˆ4оºŠ™ƒ4Šd—m„/ˆ ¬ ‰Œ‹A­^¯ ¬ ‰Œ‡ ¬ ‰†ƒ‹Š®ˆ˜2Šdƒ4ƒ4‰›‘8…Œ„
Š®ˆ ¬ „/4¯°‰†ƒ4„®·´ËM‹ƒ1ˆ\„BŽ~ºÂ”a–ƒ1ˆ…†‰Œ“&„
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒ ¯ ¬ ‰†‡ ¬ ސ\„KŽh…†ƒ4ŠG–‹‹A„/‡'„'ƒ4ƒ\ސ4µ.‰Œ‹)ˆ ¬ Ž~ˆ
Žh‹º
while
do
ƒ4„'‹ƒ4„ ”a–—™˜ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒG˜A4А±’‰†º„¡Žhºº‰Œˆ\‰†Šd‹AŽh…IÀA„3¹‰Œ‘A‰†…†‰Œˆ¶µmÎ ‰Œ‹º„'ƒ4‰†­d‹‰†‹­¾‰›ˆ\„/Ž~ˆ4‰†Šd‹ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'·
Õ
KŠd–™ƒ ¬ Šd–…†ºm–ƒ4„ˆ ¬ ‰ŒƒÀA„3¹©‰›‘8‰Œ…†‰Œˆ¶µ¡¯ ¬ „/4„/±&„/¿‰ŒˆŽh…†…ŒŠ¯°ƒkµ&Šd–mˆ\ŠQ‰†—™˜\Šr±&„µ&Šd–©o‡/Š’º„®
· °Šr¯G„/±&„/BÂ-‘2„
Žh…†ƒ1НŽ~\‹„'º^ˆ ¬ Ž~ˆI”a–—™˜ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒÃƒ ¬ Šd–…†º^‘2„¿–ƒ4„'º¯‰Œˆ ¬ ‡BŽ~\„¿ƒ4‰Œ‹A‡/„ˆ ¬ „/µ¡ˆ\„/‹Aºˆ\ŠN‡'Šd—™˜A…†‰Œ‡BŽ~ˆ\„
ˆ ¬ „‡'Šd‹ˆ44Šd…AÀAŠr¯¡· «G¬ „°‡'Šd—™˜A…†‰†‡'Ž~ˆ\‰†Šd‹^Šd²+ˆ ¬ „‡'Šd‹-ˆ4\Šd…À8Šr¯ ¬ Žhƒˆ4Š)‘2„‘8Žh…sŽh‹‡'„'º`‘’µ¾Ž)ƒ1‰†­d‹‰Œ¼A‡BŽh‹ˆ
­&Žh‰†‹m‰Œ‹³Šd‹„NŠd²2ˆ ¬ „NŠ®ˆ ¬ „/¿‡'Ž~ˆ\„'­dŠ®\‰Œ„'ƒ'· «¬ „/4„'²sŠ®\„®Âˆ ¬ ‰†‹©“$‡BŽ~\„/²s–A…Œ…Œµ¾‘2„/²sŠ®\„‰†‹ˆ44Š’º–‡'‰†‹­¡Ž°”a–—™˜
ƒ1ˆŽˆ\„'—m„'‹-ˆ
¬ „/‹Ž”a–A—™˜³ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ¿‰†ƒG„3¹„'‡'–©ˆ\„'ºVˆ ¬ „N˜\Šd­®Žh—ŸÀAŠr¯Ú–‹‡'Šd‹ºA‰›ˆ\‰†Šd‹AŽh…†…Œµ C”a–—™˜Aƒ ˆ\Š`Ž
‡'„/1ˆŽh‰†‹³˜2Šd‰†‹ˆ'· «G¬ „/\„.Ž~\„ˆa¯GŠ`º‰ I„3\„'‹ˆK”a–—™˜ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ¿ˆ ¬ Ž~ˆG¯G„Q¯Žh‹-ˆˆ4оº‰†ƒ4‡'–ƒ4ƒ ¬ „/ \„®·
L',1#-,4! X !/EV,BÞ8‰Œˆ4ƒƒ1µ’‹ˆŽr¹‰ŒƒŽˆ ¬ „/°ƒ1‰†—™˜A…†„®·
«¬ „)¼A4ƒ1ˆ”a–—™˜Yƒ1ˆŽ~ˆ\„/—m„'‹ˆ‰†ƒ‡BŽh…†…Œ„'ºŽ
break
break
Þ
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ‰†ƒN„6¹©„'‡'–©ˆ\„/º•¯‰›ˆ ¬ ‰†‹;Žh‹š‰Œˆ\„/Žˆ\‰†Šd‹Rƒ1ˆŽˆ\„'—m„'‹-ˆBÂÃÜ)ˆ ¬ „^ƒ4—wŽh…Œ…†„'ƒ1ˆ°„'‹È
¬ „'‹ZŽ
break
‡'…†Šdƒ1‰†‹­"‰Œˆ\„3Ž~ˆ\‰†Šd‹ßƒ1ˆŽ~ˆ\„/—m„'‹ˆ³ˆ\„/\—m‰Œ‹8ސˆ\„'ƒw‰†—m—m„'º‰sŽ~ˆ4„'…Œµ&· «¬ „Z„6¹©„'‡'–©ˆ\‰ŒŠd‹Ú‡'Šd‹ˆ\‰Œ‹’–„'ƒRŽ~ˆYˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆ°Ž~²†ˆ\„/ˆ ¬ „Q‰Œˆ4„/Ž~ˆ\‰ŒŠd‹Yƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ ‰†²´Žh‹µ ·â©Š®„3¹Ž~—™˜8…Œ„®Â
Î
Õ
for (;;) break ;
‰†ƒG‹Š®ˆŽh‹‰Œ‹¼A‹‰Œˆ\„°…†Š’Š®˜³‘A–ˆGŽˆ ¬ „/Ž^‡'Šd—™˜A…†‰†‡BŽ~ˆ4„'º™¯Ž'µwŠd²´¯°4‰Œˆ\‰†‹­^Ž^‹’–…†…2ƒpˆŽ~ˆ\„'—m„/‹ˆB· °„3\„‰†ƒ
Ž.—mŠ®\„–ƒ4„'²s–…2Ž~˜˜2„BސŽh‹‡'„Šd²
·ËM‹wŠd–©¿‡BŽ~…†‡'–…sŽ~ˆ\Š®„3¹©Žh—™˜A…†„°²†\Šd— Žh­d„ ‰Œˆ¯GŠd–…†º™‘2„
break
—mŠ®\„^„'…Œ„'­&Žh‹ˆNˆ4ŠYƒ4–©˜˜\„'ƒ4ƒˆ ¬ „‰Œ4\„/…†„/±hŽh‹ˆQŽhºº‰Œˆ\‰†Šd‹RŠd² ‰†‹šˆ ¬ „…sŽ~ƒ1ˆ)‰Œˆ\„/Žˆ\‰†Šd‹V· «¬ ‰†ƒ‡BŽh‹š‘2„
0
ºŠd‹„)¯°‰Œˆ ¬ ˆ ¬ „)²sŠd…†…†Šr¯‰Œ‹A­^…ŒŠ’Š®˜·
for (;;) {
std :: cout < < " next number =? " ;
std :: cin > > a;
if ( a == 0) break ;
s += a;
std :: cout < < " sum = " < < s < < " \n" ;
}
°„/\„hÂ&¯G„¿ƒ1„'„¿ˆ ¬ „oˆaµ˜A‰†‡BŽh…–ƒ\Ž~­d„¿Šd²
Âd‹8Ž~—m„'…Œµ)ˆ ¬ „Gˆ4„/\—m‰†‹AŽ~ˆ\‰ŒŠd‹.Šd²8ް…†Š’Š®˜ 1ƒ4Šd—m„3¯ ¬ „/\„
break
‰†‹³ˆ ¬ „Q—m‰†ºº…†„ · Š®ˆ\„ˆ ¬ Ž~ˆG¯G„.‡'Šd–…†ºY„'¸’–‰Œ±hŽh…†„'‹-ˆ\…Œµm¯\‰Œˆ\„
do {
std :: cout < < " next number =? " ;
std :: cin > > a;
if ( a == 0) break ;
s += a;
ã1ë\õSþ~éHí !2ïðèCé Bïýõ2æ1ç4åNëå~óýêGë'æpæ¶ìríVïñåç
switch
ègõHç1õSéaîGé¶å'õrèCépéõSþ~ééHõMç\ïýóðè
std :: cout < < " sum = " < < s < < " \n" ;
} while ( true );
ËM‹Wˆ ¬ ‰Œƒm‡BŽhƒ4„
‰†ƒ™˜\„/²s„/Ž~‘A…†„®Âˆ ¬ Šd–­ ¬  ƒ4‰†‹‡'„;‰Œˆw‹‰†‡/„'…Œµª\„'ŽhºƒYŽ~ƒ 1²sŠ®4„/±&„/ · Ç ².‡/Šd–4ƒ4„®Â
for
ˆ ¬ „;ƒ\Žh—m„R²s–‹‡/ˆ\‰†Šd‹AŽh…Œ‰Œˆ¶µ"‰†ƒm˜2Šdƒ1ƒ4‰Œ‘A…†„¯‰›ˆ ¬ dŠ –ˆ
‘A–©ˆwˆ ¬ „R\„'ƒ4–…Œˆ\‰Œ‹A­q‡/Š’º „R\„'¸’–‰Œ4„'ƒ³Žh‹
break
Žhºº‰Œˆ\‰†Šd‹AŽh…8‘8…ŒŠ’‡\“³Žh‹º„/±hŽh…†–AŽ~ˆ\„/ƒ
ˆ¶¯°†‰ ‡'„®·
a != 0
do {
std :: cout < < " next number =? " ;
std :: cin > > a;
if ( a != 0) {
s += a ;
std :: cout < < " sum = " < < s < < "\ n";
}
} while ( a != 0);
L',1#-,4! X !'EV,BÞ.Žh­&Žh‰†‹ ˆ ¬ „;ƒ1µ‹-ˆŽ¹¤‰Œƒ
«¬ „;ƒ4„'‡/Šd‹Aº”a–A—™˜}ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆw‰†ƒm‡BŽh…Œ…†„'º}Ž
continue
ƒ4‰†—™˜A…†„h·
continue
Þ
¬ „'‹mŽN‡'Šd‹ˆ4‰†‹’–„Gƒ1ˆŽ~ˆ4„'—m„'‹ˆk‰ŒƒK„6¹©„'‡'–©ˆ\„/ºÂ&ˆ ¬ „G\„'—wŽh‰†‹º„/Šd²Aˆ ¬ „Gƒ4—wŽh…†…†„/ƒ1ˆ„'‹‡'…†Šdƒ1‰†‹­)‰›ˆ\„/Ž~ˆ4‰†Šd‹
ƒ1ˆŽˆ\„'—m„'‹-ˆýƒm‘2ŠºµW‰†ƒ³ƒ1“‰›˜A˜I„'ºVŽh‹º„3¹©„/‡'–©ˆ\‰†Šd‹Ú‡'Šd‹-ˆ\‰†‹’–„'ƒŽ~ˆ³ˆ ¬ „T„'‹ºÚŠd².ˆ ¬ „š‘2Š’º©µ&· «G¬ „
‰Œˆ\„3Ž~ˆ\‰†Šd‹³ƒ1ˆŽˆ\„'—m„'‹-ˆ‰›ˆ\ƒ4„'…†²‰†ƒE<&,°ˆ\„/4—m‰†‹AŽ~ˆ\„'ºV·
ËM²°ˆ ¬ „³ƒ4–©4\Šd–‹ºA‰Œ‹A­•‰Œˆ\„/\Ž~ˆ\‰†Šd‹ƒ1ˆŽ~ˆ4„'—m„'‹ˆ`‰†ƒ$Ž
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'ÂKˆ ¬ „³„3¹©„/‡'–©ˆ\‰†Šd‹
Š®
while
do
ˆ ¬ „/\„/²sŠ®\„¾‡'Šd‹-ˆ\‰†‹–A„/ƒQ‘’µ•„/±hŽh…†–AŽ~ˆ\‰Œ‹A­³‰Œˆ\ƒ
·`ËM²ˆ ¬ „$ƒ4–©4\Šd–‹ºA‰Œ‹A­³‰Œˆ\„3Ž~ˆ\‰†Šd‹šƒ1ˆŽˆ\„'—m„'‹-ˆ
ÓCА‘Ñ µ„/±®Ž~…†–AŽ~ˆ\‰†‹­š‰Œˆ\ƒ
‰†ƒ$Ž
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆBÂkˆ ¬ „Y„3¹„'‡'–©ˆ\‰†Šd‹"‡'Šd‹Ï'ˆ\А‰ŒÑI‹’Ò–ÓH„'ÔSƒ$
Žh‹º"ˆ ¬ „/‹ ‰Œˆ\ƒ
for
/Ø Ö1Ö ÓCАÑ
Ø
· V‰Œ“&„¡ˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆBÂ8ˆ ¬ „
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ°‡BŽh‹;ˆ ¬ „/\„'²sŠ®4„`‘2„^–ƒ4„/ºšˆ\Š
Ï'АŽhÑI‹Ò‰ŒÓH˜AÔSÓC–А…sÑ Ž~ˆ\„ˆ ¬ „.‡'Šd‹-ˆ4\break
—w
Šd…2ÀAА¯ 1‰Œ‹Yˆ ¬ „)—m‰†ººA…Œ„ continue
Šd²Ž…†Š’Š®˜·
ËM‹qŠd–©.‡BŽ~…†‡'–…sŽ~ˆ\Š®„6¹Žh—™˜A…†„®Â2ˆ ¬ „`²sŠd…†…†Šr¯‰†‹­m
±hŽ~\‰sŽh‹-ˆ.Šd²Kˆ ¬ „¾…†ŠŠ®˜Z‰†­d‹Š®\„/ƒQ‹„'­&Ž~ˆ4‰Œ±&„$‰Œ‹˜A–©ˆB·
­&Žh‰Œ‹Â‰Œˆ´¯GŠd–A…Œº¡‘2„˜2Šdƒ4ƒ1‰Œ‘A…†„Kˆ4ŠNºAŠˆ ¬ ‰†ƒ´¯°‰Œˆ ¬ Šd–©ˆ
ÂdŽ~ˆÃˆ ¬ „o„3¹˜I„'‹ƒ4„oŠd²Žh‹Š®ˆ ¬ „/‹„'ƒpˆ\„'º
continue
‘A…†Š’‡\“+·
for (;;) {
std :: cout < < " next number =? " ;
std :: cin > > a;
if ( a < 0) continue ;
if ( a == 0) break ;
s += a;
std :: cout < < " sum = " < < s < < " \n" ;
}
2.4.7 Equivalence of iteration statements
ËM‹ˆ\„/4—mƒ°Šd²˜A–©\„¡²s–‹‡/ˆ\‰†Šd‹AŽh…†‰›ˆaµ&ˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒŽ~4„Q\„'º–‹ºAŽh‹ˆBÂ8Žhƒ°‘IŠ®ˆ ¬ Šd²
Žh‹º
do
ˆ ¬ '„ —¢‡BŽ~‹„'¸–A‰›±®Žh…Œ„'‹ˆ\…›µ¾‘2„N„3¹’˜\„'ƒ4ƒ4„/ºwhile
–ƒ4‰†‹­`Ž
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'· «¬ ‰†ƒ¿—wŽ'µ™‡3\„BŽ~ˆ\„Nˆ ¬ „N‰†—™˜\„/ƒpÈ
ƒ4‰†Šd‹Zˆ ¬ ސˆ
ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ ¬ Ž'±&„™—mŠ®\„`„3¹’˜A4„'ƒ4ƒ4for
‰Œ±&„™˜IА¯G„/Qˆ ¬ Žh‹
ƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒ'·
Ž~‹Aº
for
while
do
NKÉ

"
MË ‹ßˆ ¬ ‰†ƒwƒ4„/‡/ˆ\‰†Šd‹}¯G„•ƒ ¬ Šr¯ ˆ ¬ Ž~ˆmˆ ¬ ‰†ƒw‰†ƒ³‹AŠ®ˆwˆ ¬ „š‡BŽhƒ4„hÝ"Žh…Œ…ˆ ¬ \„'„š‰Œˆ\„/Žˆ\‰†Šd‹¤ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒYސ\„
²s–‹‡/ˆ\‰†Šd‹AŽh…†…›µm„'¸’–‰Œ±hŽh…†„/‹ˆB· Š®\„˜\„'‡'‰†ƒ1„'…Œµ&©¯G„Qƒ ¬ Šr¯ ¬ А¯Éˆ\Š`–ƒ4„
do
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ¿ˆ\Š`„3¹˜\„'ƒ1ƒ
while
ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ¿ˆ\о„3¹’˜\„'ƒ4ƒ
ËM²Ã¯G„)º„'‹Š®ˆ\„ do
while
A
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒ/Žh‹º
for
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'·
‡BŽh‹‘2„)–ƒ4„'ºˆ4о„3¹’˜A4„'ƒ4ƒ
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ
⇒ while
ƒ1ˆŽˆ\„'—m„'‹-ˆ
B
‘’µ
A⇒B
⇒ for
¯G„)ˆ ¬ „/\„'²sŠ®4„ ¬ Ž'±&„
ƒ1ˆŽˆ\„'—m„'‹-ˆ
⇒ do
ƒpˆŽ~ˆ\„'—m„/‹ˆ
,
¯ ¬ „/4„³¯G„w“‹Šr¯¢ˆ ¬ „Y…sŽ~ƒ1ˆ‰†—™˜A…†‰†‡Bސˆ\‰†Šd‹Z²†\Šd— ˆ ¬ „m˜\„/±‰ŒŠd–Aƒ`ƒ4„'‡3ˆ\‰†Šd‹V· « Šd­d„/ˆ ¬ „/'ÂKˆ ¬ ‰†ƒ‡'…Œ„BŽ~\…Œµ
p˜\Šr±&„'ƒ ˆ ¬ „)‡'…sŽh‰Œ—m„'ºw„'¸’–‰Œ±hŽh…†„'‹‡'„h·
Š®ˆ\„)ˆ ¬ Ž~ˆ°¯G„)˜8–©ˆˆ ¬ „Q¯GŠ®\º0V%'<dl’!BL¾‰†‹¸’–Š®ˆ\„'ƒ'Â+Žhƒ°Šd–©4„BŽhƒ4Šd‹‰†‹­¾‡'Žh‹‹AŠ®ˆ‘2„.‡/Šd‹Aƒ1‰†º„/\„'º
޾²sŠ®\—wŽ~…V˜\ŠŠd²H·°ËM‹;Š®\º„/°ˆ\о\„BŽ~…†…Œµ³˜A4А±&„^Ž$ƒ1ˆŽ~ˆ\„/—m„'‹ˆ…†‰Œ“&„)ˆ ¬ ‰†ƒ'¯G„.¼\ƒ1ˆNŠd²kŽh…Œ…¯GŠd–…†º ¬ Ž'±&„
ˆ\Šw‘2„`—mŠ®\„^²sŠ®\—wŽh…‰†‹•º„/¼A‹A‰Œ‹A­mˆ ¬ „`ƒ4„'—wŽh‹-ˆ\‰†‡'ƒNŠd²ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ'·½’„'—wŽh‹-ˆ\‰†‡'ƒŠd²K˜A4Šd­®Žh—m—m‰†‹­
…sŽh‹­d–AŽh­d„'ƒ‰†ƒŽ$ƒ4–©‘8”a„'‡/ˆ°Šd²k‰Œˆ\ƒ°Šr¯‹VÂ8Žh‹ºRˆ ¬ „.²sŠ®\—wŽh…Vˆ4\„'Ž~ˆ\—m„'‹-ˆ°Šd²ƒ4„/—wŽh‹ˆ\‰Œ‡'ƒ°‰†ƒ¯Ž'µ‘2„/µ&Šd‹º
¯ ¬ Ž~ˆ^¯G„³‡BŽh‹žºŠ ¬ „/\„h·eËM‹"Š®ˆ ¬ „/¯GŠ®\ºƒ'Ý «G¬ „Y²sŠd…†…ŒŠ¯°‰†‹­R‰†ƒŽhƒ`—$–‡ ¬ Šd²°Ž p˜A4Š’Šd² Žhƒ^µ&Šd–
¯‰Œ…†…2­d„/ˆ ¬ „/4„®ÂA‘A–©ˆ‰›ˆ°‰†ƒƒ4– ™‡'‰Œ„'‹ˆˆ\о–‹º„/\ƒ1ˆŽ~‹Aºˆ ¬ „)\„'…sސˆ\‰†Šd‹ƒ¿‘2„/ˆ¶¯G„'„'‹ˆ ¬ „)ˆ ¬ \„'„. ‰›ˆ\„/Ž~ˆ4‰†Šd‹
ƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ'·
do statement ⇒ while statement.
ÌGŠd‹ƒ4‰ŒºA„3ˆ ¬ „
while
ƒpˆŽ~ˆ\„'—m„/‹ˆ
while οÏ/АÑ2ÒÓHÔCÓCАÑRÕ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
KŠd–©¼\ƒpˆ°‰†º„BŽ ¬ Šr¯àˆ4оƒ4‰†—`–…sŽ~ˆ\„ˆ ¬ ‰†ƒ–ƒ4‰Œ‹A­$Ž
do
ƒ1ˆŽ~ˆ\„/—m„'‹ˆG—m‰†­ ¬ ˆG…†Š’Š®“w…Œ‰Œ“&„Nˆ ¬ ‰†ƒ'Ý
if οÏ'АÑIҒÓMÔSÓCАÑÕ
do
Ö Ô¶×-Ôa؏Ù؏Ñ+Ô
Þ
while ÎGÏ/АÑ2ÒÓHÔCÓCАÑÕ
ËM‹º„'„'ºVÂAˆ ¬ ‰Œƒ°‰†‹º–‡'„'ƒGˆ ¬ „¡„3¹©„/‡'–©ˆ\‰†Šd‹Š®\º„/
 Ö
Â
ŒÂ ·6·'·4–‹ˆ4‰†…
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
C
Ó

Ð
Ñ
a
Ô
&
×
a
Ô

Ø

Ù

Ø
+
Ñ
Ô
'
Ï

Ð
I
Ñ
’
Ò
M
Ó
S
Ô
C
Ó

Ð
Ñ
\„3ˆ\–©\‹ƒI[~#-7:Lh!NŽh‹ºˆ ¬ „¿ƒ1ˆŽ~ˆ4„'—m„'‹ˆ´ˆ\„/\—m‰Œ‹8ސˆ\„'ƒ'· –©ˆˆ ¬ „/\„¿‰†ƒkްƒ1‰†—™˜A…†„ˆ\„/‡ ¬ ‹ ‰†‡BŽ~…’˜\Š®Ï/‘AА…†Ñ2„'җRÓ Ý
‰†ÔS² ÓCАÑ
‰†ƒÃޱ®Ž\‰sŽ~‘A…†„Kº„'‡'…sŽ~\Ž~ˆ\‰†Šd‹VÂr¯G„o‡BŽh‹ ˆÃ–ƒ4„o‰†ƒŽ~ƒ´ˆ ¬ „
‰Œ‹¡ˆ ¬ „
ƒ1ˆŽ~ˆ\„/—m„'‹ˆB·
do
/
Ï

Ð
2
Ñ
Ò
H
Ó
C
Ô
C
Ó

Ð
Ñ
/Ø Ö4Ö ÓDАÑ
Ø
°„/4„Q‰†ƒŽ^\„'²sŠ®\—`–…sŽ~ˆ\‰†Šd‹mˆ ¬ Ž~ˆG¯GŠ®4“’ƒ'· Ü do
if οÏ'АÑIÒÓHÔSÓCАÑÕ
Ö Ô¶×-Ôa؏Ù؏Ñ+Ô
else
Þ
break
Þ
while Î true Õ
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ ƒ„3¹„'‡'–©ˆ\‰†Šd‹mŠ®4ºA„3
 Ö
Â
«G¬ ‰Œƒ‰†‹º–‡'„'ƒo„3¹©Žh‡/ˆ\…›µ¾ˆ ¬ „
'
Ï

Ð
I
Ñ
’
Ò
M
Ó
S
Ô
C
Ó

Ð
Ñ
a
Ô
×
a
Ô
\
Ø

Ù

Ø
I
Ñ
Ô
Ï'АÑIÒÓ while
›·/·'·4–‹-ˆ\‰†…
\„/ˆ\–©\‹ƒk[~#-7:Lh!$Žh‹ºYˆ ¬ „Q…†Š’Š®˜Y‰†ƒGˆ\„/\—m‰†‹AŽ~ˆ4„'ºY–ƒ4‰Œ‹A­
·
ÔSÓCАÑ
Ï'АÑIÒÓHÔSÓCАÑ
break
ã Qéç1íMékå~ë\õÃèSçpê'ïñåòõCþ®ç1õVõCþ~ïðèèCþ~ëì~ó &é ~ëåhéïýåÿí¶ç\æHõSïñæpé ´åõCþhékæaë6å'õDí¶ç1íMê BõSþïðèèCþ~ë6ìó déëåhé
ïñå°ÿí¶ç\æHõSïñæpé IþïðèIèCépæHõSïñë6åïñè2ç &ë6ìr
õ !#"%$é&3ì~ï\ç\óñéaå~æpé 'å~ëõVç'dë6ìrõIÿí¶ç\æ¶õCïðæpç4ódé&3ì~ï\ç\óñéaå~æpé
while statement ⇒ for statement.
&
½’‰†—$–…sސˆ\‰†‹­.ˆ ¬ „
È
Þ
for ÎKӆÑÓHÔ Ö aÔ ×-Զ؏Ù؏ÑIÔÏ'АÑIÒÓHÔSÓDÐÑ Ø/Ø 1Ö Ö CÓ ÐÑ;Õ
for
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ
Ö aÔ ×&Ôa؏Ù؏Ñ+Ô
‘’µYŽ
ƒpˆŽ~ˆ\„'—m„/‹ˆƒ4„'„'—mƒ„BŽhƒpµIÝ
while
È
ӆÑÓHÔ Ö ¶Ô ×-Ôa؏Ù؏Ñ+Ô
while ÎGÏ/АÑ2ÒÓHÔCÓCАÑÕ
Ö Ô¶×-Ôa؏Ù؏Ñ+Ô
Þ
Ø /Ø Ö4Ö ÓDАÑ
ËM‹º„'„'ºVÂKˆ ¬ ‰Œƒ¯°‰†…†…K¯GŠ®4“I P EV7g!BL'L Ö
‡/Šd‹ˆŽh‰Œ‹AƒŽ
·qËM‹ˆ ¬ „
ƒ1ˆŽ~ˆ\„/—m„'‹ˆBÂ
for
„3¹„'‡'–©ˆ\‰†Šd‹š¯GŠd–A…Œº•ˆ ¬ „'‹š˜A4Š’‡'„'„/ºT¯Ôa‰Œˆ ×-¬ Ôa؏ˆ Ù¬ Ø\„ÑI„/Ô ±hŽh…†–AŽ~ˆ\‰†Šd‹šŠd² continue
Â
A
‘
©
–
)
ˆ
†
‰
•
‹
ˆ
`
„
¬ ƒ4‰†—`–…sŽ~ˆ\‰†‹­
/Ø Ö4Ö ÓCАÑ
Ø
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'Â
‰†ƒƒ1“’‰Œ˜˜2„'ºVŽh‹º
‡'Šd—m„/ƒ)‹„3¹’ˆB· «G¬ ‰Œƒ4„'²sŠ®\—`–A…†Ž~ˆ\‰†Šd‹
while
Ø /Ø Ö1Ö ÓCАÑ
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
D
Ó

Ð
Ñ
‰†ƒGˆ ¬ „/\„'²sŠ®4„Q¯°4Šd‹A­©
· °„3\„Q‰Œƒ°Ž^±&„/\ƒ4‰ŒŠd‹ˆ ¬ Ž~ˆG¯GŠ®4“ƒ/Ý
È
ӆÑÓHÔ Ö ¶Ô ×-Ôa؏Ù؏Ñ+Ô
while ÎGÏ/АÑ2ÒÓHÔCÓCАÑÕ
Þ
bool b false
while Î b = !b Õ
Ö Ô¶×-Ôa؏Ù؏Ñ+Ô
Þ
if Î b Õ break
Þ
Ø /Ø Ö4Ö ÓDАÑ
«G¬ ‰Œƒ…†ŠŠ®“ƒGƒ4Šd—m„/¯ ¬ Ž~ˆG—mŠ®\„‡'Šd—™˜A…†‰†‡Bސˆ\„'ºV’ƒ4Š$…†„/ˆ–ƒ°„3¹’˜A…sŽh‰†‹w¯ ¬ Ž~ˆ‰†ƒ­dŠd‰†‹­$Šd‹V·
Z„³—wŽ'µZƒ4–©˜˜2Šdƒ4„wˆ ¬ Ž~ˆ^ˆ ¬ „w‰†º„'‹ˆ4‰Œ¼A„/
ºŠ„'ƒ‹AŠ®ˆ`ސ˜A˜I„BŽ~`‰†‹eˆ ¬ „³­d‰›±&„'‹
ƒpˆŽ~ˆ\„'—m„/‹ˆ
b
for
Š®ˆ ¬ „/1¯‰†ƒ4„¯G„N‡ ¬ ŠŠdƒ4„Ž.º‰+„/\„'‹-ˆ¿‹AŽh—m„ · Š®ˆ4„°ˆ ¬ Ž~ˆˆ ¬ „¯ ¬ Šd…†„°ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆo²sŠ®\—mƒoŽ.ƒ4„/˜8Ž~Žˆ\„
‘AÎ …†Š’‡\“+Â+ŽhƒºŠ’„'ƒNŽ
ƒ1ˆŽ~ˆ\„/—m„'‹ˆB· ˜2Š®ˆ\Õ „/‹ˆ\‰sŽ~…º„'‡/…sŽ~Ž~ˆ4‰†Šd‹‰†‹
Žhƒ¯G„'…†…´Žhƒˆ ¬ „
for
Œ
Ó
A
Ñ
M
Ó
Ô
Ö Ô¶×-Ôa؏Ù؏Ñ+Ô
ƒ4‡'Š®˜I„.Šd² ‰†ƒGˆ ¬ –ƒ°…Œ‰†—m‰Œˆ\„'º™ˆ4Š$ˆ ¬ ‰†ƒ¿‘A…†Š’‡\“+·
b
ÌGŠd‹ƒ4‰ŒºA„3^Žh‹e„3¹„'‡'–©ˆ\‰†Šd‹qŠd²oˆ ¬ „™Šd–©ˆ\„3
ƒpˆŽ~ˆ\„'—m„/‹ˆB·wâɛ\ƒ1ˆBÂ
‰†ƒQ„/±®Ž~…†–AŽ~ˆ\„'ºVÂ
while
Žh‹º³‰†²´‰›ˆ¿\„/ˆ\–©\‹ƒ[~#-7:Lh!¡ˆ ¬ „Nƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ¿ˆ\„/\—m
‰Œ‹8ސˆ\„'ƒ'· Ç ˆ ¬ „/4¯°‰†ƒ4„®Âˆ ¬ „±hÏ/Ž~А\Ñ2‰†Ž~ґAÓHÔC…†ÓC„ ÐÑ ‰Œƒ¿ƒ4„/ˆGˆ\г,M% P !
‰†‹;ˆ ¬ „$‰Œ‹A‹„/
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ ýƒN‡/Šd‹Aº‰Œˆ4‰†Šd‹VÂI—m„BŽh‹‰†‹­¾ˆ ¬ Ž~ˆ Ö
‰Œƒ)„6¹©„'b‡'–©ˆ\„/ºZ‹„3¹ˆB·$Ü ØÙ
while
ËM² Ö
ºŠ’„'ƒ™‹Š®ˆ$‡'Šd‹ˆ\Žh‰†‹¤Ž
Âoˆ ¬ „‰†‹‹„/¾…†Š’Š®˜ „3±®Ô¶×-ŽhÔa…Œ–8
ސˆ\؏„'Ñ+ƒ¾Ô ‰›ˆ\ƒ$‡/Šd‹Aº‰Œˆ4‰†Šd‹"²sŠ®™ˆ ¬ „
Ôa؏Ù
؏Ñ+„®Ô ·QËM‹TºŠd‰†‹­wƒ4Š©Â ‰†ƒƒ4„3ˆ)break
ƒ4„'‡/ŠdÔa‹A×&º•
ˆ\‰†—m
ˆ4Š`[#-7›Lh!'´Ž~‹Aºšˆ ¬ „‡'Šd‹ºA‰›ˆ\‰†Šd‹R\„/ˆ\–©\‹ƒ¿[~#-7:Lh!B· «¬ „/\„/²sŠ®\„®Â
b
ˆ ¬ „¾‰Œ‹A‹„/Q…†ŠŠ®˜Tˆ\„/4—m‰†‹AŽ~ˆ\„'ƒ'·$½’‰†‹‡'„
‰†ƒ)‹Š¯É[~#-7:Lh!BÂ
Ö4Ö Ñ ‰ŒƒQ„/±hŽh…†–AŽ~ˆ4„'ºq‹„3¹ˆB²sŠd…†…†Šr¯G„'º
‘’µ
· «G¬ ‰Œƒ^‰†‹ºA–‡'„/ƒ¡ˆ ¬ „ b ƒ1ˆŽˆ\„'—m„'‹-ˆ ýƒ¡„6Ø ¹© „'‡'3–©Ø ˆ\‰ŒŠdÓCА‹ž
Š®\º„/
 Ö
Â
Ï/АÑ2ÒÓHÔCÓCÂАÑ
/
Ï

Ð
2
Ñ
Ò
H
Ó
C
Ô
C
Ó

Ð
Ñ
a
Ô
×
¶
Ô

Ø

Ù

Ø
I
Ñ
Ô
for
›·3·'·1–A‹-ˆ\‰†…
\„/ˆ4–4‹Aƒk[~#-7:Lh!$Žh‹ºˆ ¬ „)Šd–©ˆ\„/…†Š’Š®˜³ˆ\„/\—m‰Œ‹8ސˆ\„'ƒ'·
Ø 3Ø Ö4Ö ÓCÐÑ Ï'АÑIÒÓHÔSÓCАÑ
Ï'АÑIÒÓHÔSÓCАÑ
ãIéaæ1ç4óñó®õCþ®ç1õ2õCþhéçèCèCïñò6åîGéaå'õ+ëÿdé¶íHç4õSë\í+íHéHõCìíSåhè8õCþ~éÃåhé&! \ç\óýìhéë\ôïýõMèIóñé¶ôðõë\ÿ&éHí¶ç4å NKÉ

ËM‹$ˆ ¬ „G‡BŽhƒ1„¯ ¬ „3\„ Ö
‡'Šd‹ˆŽ~‰†‹ƒkŽ
Âdˆ ¬ „‰†‹‹„/k…†ŠŠ®˜$ˆ4„/\—m‰†‹AŽ~ˆ\„/ƒ‰†—m—m„'º‰sŽ~ˆ4„'…Œµ&Â
break
a
Ô
×
a
Ô
\
Ø

Ù

Ø
I
Ñ
Ô
Žh‹º
\„'—wŽh‰Œ‹Aƒ.,M% P !B·ËM‹Tˆ ¬ ‰ŒƒN‡BŽhƒ4„®ÂV¯G„$Žh…†ƒ4Šmˆ\„/4—m‰†‹AŽ~ˆ\„.ˆ ¬ „`Šd–©ˆ\„/)…†Š’Š®˜šˆ ¬ Ž~ˆ\„/˜\„/ƒ4„'‹ˆ4ƒQŠd–©
b
Š®\‰†­d‰Œ‹8Ž~…
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'·
for
ËM‹\„/ˆ44Šdƒ1˜2„'‡/ˆ'¯G„•ƒ ¬ Šd–…†º‹Š¯ ‡ ¬ „'‡\“߈ ¬ Ž~ˆ`”a–A—™˜ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒ³‡BŽh–ƒ4„•‹Š ¬ Ž~\— ‰†‹Šd–©
˜\„/±’‰†Šd–ƒ4„'²sŠ®\—`–A…†Ž~ˆ\‰†Šd‹RŠd²Kˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆ‰†‹šˆ4„/\—mƒŠd²Kˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆB· T„$…Œ„BŽ'±&„
while
do
ˆ ¬ ‰†ƒŽhƒ°Žh‹„3¹„/\‡'‰Œƒ4„®·
2.4.8 Choosing the “right” iteration statements
Z„ ¬ Ž'±&„Qƒ4„'„'‹Rˆ ¬ Ž~ˆ°²†\Šd—áŽ`²s–A‹‡/ˆ4‰†Šd‹AŽh…2˜2Šd‰†‹ˆŠd²±‰Œ„/¯¡Â©ˆ ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆB©ˆ ¬ „
ƒpˆŽ~ˆ\„3È
for
while
—m„'‹-ˆŽh‹º.ˆ ¬ „
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ´Ž~4„„'¸–A‰›±®Žh…Œ„'‹ˆB· 
Š®\„'Šr±&„/B®ˆ ¬ „
Žh‹º
ƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒ
break
continue
Ž~\„\„'º–‹ºAŽh‹ˆBdo
·½ˆ\‰Œ…†…MÂÌÍQÍ Š +
„/\ƒŽh…†…2Šd²´ˆ ¬ „/ƒ4„.ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'©Ž~‹AºYˆ ¬ ‰†ƒG­d‰Œ±&„'ƒGµ&Šd–ˆ ¬ „Q²†4„'„'ºŠd—
‘A–©ˆŽh…†ƒ4Š¡ˆ ¬ „‘A–©\º„'‹ Šd²‡ ¬ ŠŠdƒ4‰†‹­¡ˆ ¬ „Ž~˜˜\Š®˜\‰sŽ~ˆ\„°‡'Šd‹ˆ44Šd…Iƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒo²sŠ®Gµ&Šd–¿˜8Ž~1ˆ\‰†‡'–…sŽ~
Î
Õ
˜ \Šd­®Žh—R·
T\‰›ˆ\‰†‹­¡˜\Šd­®Žh—mƒo‰ŒƒGŽ¡ºµ’‹AŽh—m‰†‡°˜\Ї'„'ƒ4ƒ'· ±&„'‹Yˆ ¬ Šd–­ ¬ ˆ ¬ „˜A4Šd­®Žh—¢—wŽ'µ™ºŠ^¯ ¬ Ž~ˆ¿µ&Šd–
¯Žh‹-ˆŽˆkƒ4Šd—m„¿˜2Šd‰†‹ˆ'®ˆ ¬ „G4„'¸’–‰Œ\„/—m„'‹ˆ\ƒ‡ ¬ Žh‹­d„®Â-Žh‹º$µ&Šd–$¯‰†…†…-“&„'„/˜m‡ ¬ Žh‹­d‰†‹­Nˆ ¬ „˜\Šd­®\Žh—‰†‹
ˆ ¬ „²s–ˆ4–4„®· k±&„'‹m‰Œ²Aˆ ¬ „/4„°‰†ƒk‡'–©4\„/‹ˆ\…Œµ`‹Š.‹„'„/º¾ˆ\Š.‡ ¬ Žh‹­d„Gˆ ¬ „²s–‹‡/ˆ\‰†Šd‹AŽh…Œ‰Œˆ¶µ^Šd²8ˆ ¬ „G˜\Šd­®Žh—RÂ
µ&Šd–¤—wŽ'µž¯Žh‹-ˆ¾ˆ\Š•\„/˜A…sŽh‡'„ŽT‡'Šd—™˜A…†‰†‡Bސˆ\„'º"‰›ˆ\„/Ž~ˆ4‰†Šd‹"ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ¾‘µ Žh‹ „'¸–‰Œ±®Ž~…†„'‹ˆ¾ƒ4‰†—™˜A…†„/
²sŠ®\—`–…sŽ~ˆ\‰†Šd‹V· «¬ „­d„'‹„/Žh…Iˆ ¬ „/—m„ ¬ „3\„Q‰Œƒ%'!M[~#@',4<d%BJSE ‚ ÝKˆ ¬ „N˜A4Š’‡'„'ƒ1ƒŠd²\„/¯\‰Œˆ\‰†‹­^Ž¡˜\Šd­®Ž~—
ˆ\Š$‰†—™˜\А±&„N‰›ˆ\ƒ4„BŽhºAŽ~‘A‰†…†‰Œˆ¶µ¾Š®°ƒ1ˆ1\–‡/ˆ\–©\„®Â©¯ ¬ ‰†…Œ„“&„/„/˜A‰†‹­¾‰Œˆ\ƒG²s–‹‡/ˆ\‰†Šd‹AŽh…Œ‰Œˆ¶µm–‹A‡ ¬ Žh‹­d„'ºV·
°„/\„¾‰†ƒ.޳ƒ4‰†—™˜A…†„^­d–‰†º„'…†‰Œ‹A„²sŠ®Q¯°\‰Œˆ4‰†‹­ 1­dŠŠ’º …ŒŠ’Š®˜Aƒ'·wÌ ¬ Š’Šdƒ4„ˆ ¬ „¾…†ŠŠ®˜Zˆ ¬ Ž~ˆQ…†„BŽhºƒˆ\Š
ˆ ¬ „)—mŠdƒ1ˆ%'!3#©5©# O 7g!¾Žh‹º"@/<dE@'JSLh!$²sŠ®\—$–…sސˆ\‰†Šd‹V· «G¬ ‰†ƒ—m„'Žh‹ƒ
²s„/¯àƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'Â
²s„/¯à…†‰Œ‹A„/ƒŠd²Ã‡'Š’º„®Â
ƒ4‰Œ—™˜8…Œ„N‡'Šd‹ˆ44Šd…VÀAŠr¯¡ÂŽh‹º
ƒ4‰Œ—™˜8…Œ„N„3¹˜\„'ƒ1ƒ4‰†Šd‹ƒ'·
…†—mŠdƒ1ˆ‹„/±&„/ˆ ¬ „/\„.‰†ƒ¡,H*I!mŠd‹„Žh‹º;Šd‹…Œµ‘2„/ƒ1ˆN²sŠ®\—`–…sŽ~ˆ\‰†Šd‹VÞ ¬ А¯G„3±&„/BÂIˆ ¬ „/\„¡Ž~\„Žh…Œ¯Ž'µ’ƒ
Ž~\­d–AŽ~‘A…ŒµY‘8Žhº•‡ ¬ Šd‰†‡'„/ƒ¯ ¬ ‰†‡ ¬ µ&Šd–Tƒ ¬ Šd–…†ºRˆ44µˆ4ŠYŽ'±&Šd‰†ºV· °
ƒ4–AŽh…Œ…Œµ&ÂAˆ ¬ „3\„`Ž~\„^ƒ4Šd—m„.ˆ1Žhº„'Š Iƒ/Â
…†‰Œ“&„R²s„3¯G„/…Œ‰†‹„'ƒmŠd².‡'Šº„;±&„3\ƒ4–ƒY—mŠ®4„R‡'Šd—™˜A…†‰†‡BŽ~ˆ4„'º „3¹˜\„/ƒ4ƒ4‰†Šd‹ƒ'ÂNŽ~‹Aº}ˆ ¬ „/\„;‰†ƒ³Žh…†ƒ1Šƒ1Šd—m„
Žh—mŠd–‹ˆŠd²K˜2„3\ƒ4Šd‹AŽh…ȏŽ~ƒ1ˆ\„‰†‹±&Šd…›±&„'ºV· KŠd–šƒ ¬ Šd–…†º•„6¹˜2„/4‰†„'‹‡'„`Žh‹ºš¼A‹ºšŠd–ˆN¯ ¬ Ž~ˆƒ4–‰Œˆ\ƒµ&Šd–
‘2„'ƒpˆB·
„3ˆ$–ƒ`…†Š’Š®“qŽ~ˆ`ƒ4Šd—m„m„3¹Ž~—™˜8…Œ„'ƒ¡ˆ\Š;ƒ ¬ А¯¢¯ ¬ Ž~ˆ¯G„³—m„'Žh‹V·q½’–©˜˜2Šdƒ4„mˆ ¬ Ž~ˆ^µ&Šd–"¯Žh‹-ˆ^ˆ\Š
Šd–©ˆ4˜A–©ˆQˆ ¬ „`Š’ººq‹’–—‘2„/\ƒ‘2„/ˆ¶¯G„'„/‹
Žh‹º
· Ž'±‰Œ‹A­`”a–Aƒpˆ.…†„'Ž~\‹„'ºeŽ~‘2Šd–©ˆˆ ¬ „
0
100
continue
ƒ1ˆŽˆ\„'—m„'‹-ˆB’µ&Šd–R—wŽ'µm¯°\‰›ˆ\„Nˆ ¬ „Q²sŠd…†…ŒŠ¯°‰†‹­^…†Š’Š®˜·
for ( unsigned int i = 0; i < 100; ++ i ) {
if ( i % 2 == 0) continue ;
std :: cout < < i < < "\ n";
}
«G¬ ‰ŒƒN‰†ƒ˜2„/\²s„/‡/ˆ\…Œµ;‡'Š®1\„'‡/ˆBÂI‘A–©ˆˆ ¬ „^²sŠd…†…†Šr¯‰†‹­¾±&„3\ƒ4‰†Šd‹•‰†ƒ˜\„'²s„/Ž‘8…Œ„^ƒ4‰†‹‡'„‰Œˆ ¬ Žhƒ
fewer stateŽ~‹Aº
·
ments
fewer lines of code
for ( unsigned int i = 0; i < 100; ++ i)
if ( i % 2 != 0) std :: cout < < i < < "\n" ;
«G¬ ‰Œƒ³±hŽ~\‰sŽ~‹ˆYƒ1ˆ\‰†…†…‡'Šd‹-ˆŽh‰†‹ƒ³‹„'ƒ1ˆ\„'ºÉ‡'Šd‹-ˆ4\Šd…)ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ'ÞQ‘A–©ˆYµ&Šd–ɇBŽ~‹­d„/ˆ4‰†ºŠd²¡ˆ ¬ „
if
ƒ1ˆŽˆ\„'—m„'‹-ˆ°Ž~‹AºYŠ®‘ˆŽh‰†‹Y‡'Š’º„¯‰Œˆ ¬
·
simpler control flow
for ( unsigned int i = 1; i < 100; i += 2)
std :: cout < < i < < "\ n";
ƒpˆŽ~ˆ\„'—m„/‹ˆKŽh‹º¾„/¸’–AŽh…†…Œµ¡ƒ4‰†—™˜A…†„o‡'Šd‹-ˆ4\Šd…
«¬ „ƒ\Žh—m„¿Šd–©ˆ4˜A–©ˆk‡BŽh‹¾‘I„G˜\Šº–A‡/„'º$¯°‰Œˆ ¬ Ž
while
ÀAА¯.·
int i = -1;
while (( i += 2) < 100)
std :: cout < < i < < "\ n";
–©ˆ
¬ „/4„®Â©ˆ ¬ „Q‡'Šd‹º‰Œˆ\‰ŒŠd‹Y‰†ƒG—mŠ®\„‡'Šd—™˜A…†‰Œ‡BŽ~ˆ\„'ºVƒ4‰†‹‡'„‰Œˆ‡'Šd—‘8‰Œ‹A„/ƒŽ~ƒ4ƒ4‰†­d‹—m„'‹-ˆŽh‹º‡'Šd—™˜8Ž~1È
‰†ƒ4Šd‹eŠ®˜2„3Ž~ˆ\Š®\ƒ/·š½’–A‡ ¬ „3¹˜\„'ƒ1ƒ4‰†Šd‹ƒŽ~\„m‡'Šd—™˜8Ž~\Ž~ˆ\‰Œ±&„'…›µ•º‰ ¾‡'–…Œˆ¡ˆ\Š;–‹º„/\ƒ1ˆŽ~‹Aºeº–„™ˆ\ŠRˆ ¬ „
„ +„'‡/ˆoŠd²Aˆ ¬ „°Ž~ƒ4ƒ4‰†­d‹—m„'‹-ˆŠ®˜I„/Ž~ˆ\‰ŒŠd‹· …†ƒ4Š©Âdˆ ¬ „‰†‹‰Œˆ\‰sŽ~…†‰BŽ~ˆ4‰†Šd‹.Šd² ˆ\Š
‰†ƒK‡'Šd–‹ˆ\„31ÈH‰†‹-ˆ\–‰Œˆ\‰Œ±&„hÂ
i −1
­d‰Œ±&„'‹Yˆ ¬ Ž~ˆG¯G„Qº„BŽh…V¯‰›ˆ ¬ ‹AŽ~ˆ4–\Žh…V‹’–—`‘I„/\ƒ'·
KŠd–¡‡BŽh‹¡ƒ1Šd…Œ±&„ˆ ¬ „K…sŽ~ˆ4ˆ4„/´˜\Š®‘A…†„/— Ž~‹Aº¡Ž~ˆ´ˆ ¬ „ƒ\Žh—m„ˆ\‰†—m„­d„3ˆ
‘’µ)¯°\‰Œˆ4‰†‹­
simpler expressions
unsigned int i = 1;
while ( i < 100) {
std :: cout < < i < < "\ n";
i += 2;
}
« ¬ „N˜\‰†‡/„ˆ\Š^˜+Ž'µw‰†ƒoˆ ¬ ސˆ¿µ&Šd–­d„/ˆG…†„/ƒ4ƒG‡'Šd‹‡'‰†ƒ4„‡'ŠºA„hވ ¬ „/\„)Ž~\„‹Š¯ß¼A±&„…†‰Œ‹A„/ƒo‰†‹ƒ1ˆ\„BŽ~ºYŠd²Vˆ ¬ „
G
ˆ¶¯Gо…†‰Œ‹A„/ƒGˆ ¬ ސˆˆ ¬ „
ƒ1ˆŽˆ\„'—m„'‹-ˆ‹„'„/ºAƒ/·ËSˆƒ4„'„'—mƒGˆ ¬ ~Ž ˆ²sŠ®°ˆ ¬ „)ƒ4‰†—™˜A…†„˜A4Š®‘8…Œ„'—¨Šd²Ã¯°\‰›ˆ\‰†‹­
for
Šd–©ˆ°Šºº‹’–—‘2„/\ƒ/Ž
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆG¯‰Œˆ ¬
‰†ƒ¿ˆ ¬ „.…†ŠŠ®˜Šd²‡ ¬ Šd‰†‡'„h·
for
Ø 3Ø Ö4Ö ÓCÐÑ i += 2
2.4.9 Details
Nested if-else statements.
Ì¿Šd‹ƒ4‰†º„/ˆ ¬ „QƒpˆŽ~ˆ\„'—m„/‹ˆ
if ( true ) if ( false ); else std :: cout < < " Where do I belong ? ";
SË ˆo‰Œƒ‹Š®ˆ¿ŽN˜\‰†Š®\‰A‡'…†„'Ž~¯ ¬ Ž~ˆ‰›ˆ\ƒ„ I„'‡/ˆo‰†ƒ'݉†²Aˆ ¬ „
‘A\Žh‹‡ ¬ ‘I„'…†Šd‹­dƒKˆ4Š.ˆ ¬ „°Šd–©ˆ\„/
ˆ ¬ „/\„
¯‰Œ…†…´‘2„`‹ŠYŠd–©ˆ4˜A–©ˆ ƒ4‰Œ‹A‡/„ˆ ¬ „‡'Šd‹º‰Œˆ\‰ŒŠd‹ ¬ ŽhƒN±hŽhelse
…†–„w,M% P ! Â2‘8–©ˆ)‰†²kˆ ¬ „
‘Ž~‹A‡ ¬ if‘2„'…†Šd‹­dƒ
Õ
else
ˆ\Š`ˆ ¬ „Q‰†‹‹„/
¯G„)Î ­d„/ˆˆ ¬ „QŠd–©ˆ4˜A–©ˆ
ˆ\‰Œ±&„)\–…†„^‰†ƒˆ ¬ Ž~ˆˆ ¬ „ Where
‘Ž~do
‹A‡ ¬ I‘2belong?
„'…†Šd‹­dƒ°ˆ4Šwˆ ¬ „
‰†—m—m„'º‰sŽ~ˆ4„'…Œµ™˜\„'‡/„'º‰†‹­
«¬ „‰†‹-ˆ\–‰Œif
if
‰ŒˆB‰†‹ZŠd–©.‡BŽhƒ4„`ˆ\ŠYˆ ¬ „$‰†‹‹A„3
· «Gelse
Ž~‹Aº•¯G„
¬ „3\„'²sŠ®\„®Â´ˆ ¬ „¾Šd–©ˆ4˜A–©ˆQ‰Œƒ
if
Where do I belong?
ƒ ¬ Šd–…†ºŽ~‡/ˆ\–AŽh…†…Œµ™²sŠ®\—wŽ~ˆGˆ ¬ „QƒpˆŽ~ˆ\„'—m„/‹ˆ…†‰Œ“&„Nˆ ¬ ‰†ƒ'Ý
if ( true )
if ( false )
Å
NKÉ

; // null statement
else
std :: cout < < " Where do I belong ?";
¬ „'‹„/±&„/oµ&Šd–mސ\„–‹ƒ4–©\„°Ž~‘2Šd–©ˆk\–…†„'ƒK…†‰Œ“&„¿ˆ ¬ ‰†ƒ'Âdµ&Šd–™‡BŽ~‹™—wŽ~“&„Gˆ ¬ „ƒ1ˆ1\–‡/ˆ\–©\„‡'…†„BŽ~Kˆ ¬ \Šd–­ ¬
„3¹’˜8…Œ‰†‡'‰Œˆ¿‘A…†Š‡“’ƒ'Ý
if ( true ) {
if ( false ) {
; // null statement
}
else {
std :: cout < < " Where do I belong ?";
}
}
„'ƒ1‰†º„'ƒ
·'·'·
ˆ ¬ „/\„R„3¹‰†ƒ1ˆ\ƒmŽZƒ1„'‡'Šd‹º¤ƒ4„'…†„'‡3ˆ\‰†Šd‹¤ƒ1ˆŽ~ˆ4„'—m„'‹ˆ¾‰†‹
The switch statement.
if else
ÌÍQÍ^݈ ¬ „
L',1#-,4! X !'EV,H·KËSˆ
‰†ƒk–ƒ4„'²s–…ˆ\Š.ƒ1„'…†„'‡/ˆK‘2„/ˆ¶¯G„'„/‹™—wŽh‹µ^Žh…Œˆ\„/4‹8ސˆ\‰Œ±&„Gƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ'Â
switch
–ƒ4‰†‹­ˆ ¬ „Q²sŠd…†…ŒŠ¯°‰†‹­`ƒpµ‹ˆ\ސ¹2·
switch οÏ'АÑIÒÓHÔSÓCАÑÕ
Ö Ôa×&Ôa؏Ù؏Ñ+Ô
„ ±®Ž~…†–„°Šd²
—`–Aƒpˆ‘2„‡'Šd‹±&„34ˆ\‰Œ‘A…†„Gˆ\Š¡Ž~‹m‰†‹ˆ\„/­®Žh…©ˆ¶µ’˜2„®· «G¬ ‰†ƒ‰Œƒ‰†‹™‡/Šd‹ˆ4Ž~ƒ1ˆˆ\Š)ˆ ¬ „
«G¬ Š®ˆ ¬ /„ ‡'Šd‹ˆ1\Šd…VÏ'ƒ1АˆÑIŽ~҈\„/ÓHÔS—mÓDА„'Ñ ‹ˆ\ƒ¿¯ ¬ „3\„
·
¬ Žhƒˆ\Š‘2„Q‡/Šd‹±&„/4ˆ4‰Œ‘A…†„)ˆ4Š
/
Ï

Ð
2
Ñ
Ò
H
Ó
C
Ô
C
Ó

Ð
Ñ
bool
Ö Ôa×-Զ؏Ù؏ÑIÔ ‰†ƒG–Aƒ1–8Ž~…†…Œµ³Ž^‘8…ŒŠ’‡\“mˆ ¬ Ž~ˆ‡'Šd‹ˆŽ~‰†‹ƒƒ1„/±&„/Žh…K7s# O !B7:L$Šd²´ˆ ¬ „Q²sŠ®\—
Ý
case †ÓHÔaØ /×
¯ ¬ „/4„
‰ŒƒŽ™…†‰Œˆ\„/\Žh…Êd²K‰†‹ˆ4„'­®Žh…ȶµ˜2„®·)⩊®Q‹Šmˆ¶¯GŠw…sŽ~‘2„'…Œƒƒ ¬ Žh…†…È ¬ „/ƒ4„…†‰Œˆ\„/\Žh…†ƒ ¬ Ž'±&„^ˆ ¬ „
†Ó
H
a
Ô
Ø 3×
ƒ\Žh—m„N±hŽh…†–„®· «¬ „/4„Q‡BŽ~‹RŽh…†ƒ4Š`‘2„QŽ`…sސ‘2„'…
·
ƒ1ˆŽˆ\„'—m„'‹-default:
ˆo‰†ƒˆ ¬ „°²sŠd…†…†Šr¯‰†‹­©·
‰†ƒo„/±hŽh…†–AŽ~ˆ4„'º³Žh‹ºwˆ ¬ „
«¬ „Nƒ4„/—wŽh‹ˆ\‰Œ‡'ƒŠd²Ž
switch
'
Ï

Ð
I
Ñ
Ò
H
Ó
S
Ô
D
Ó

Ð
Ñ
\„'ƒ1–A…›ˆ¿‰†ƒ‡/Šd—™˜+ސ\„'º™ˆ\Š^„BŽ~‡ ¬ Šd²2ˆ ¬ „…†‰›ˆ\„/Žh…ŒƒK¯ ¬ ‰Œ‡ ¬ ސ˜A˜I„BŽ~¿‰†‹wŽQ…sŽ~‘2„'…A‰†‹ Ö
·ËM²V²sŠ®GŽh‹-µ
a
Ô
&
×
a
Ô

Ø

Ù

Ø
+
Ñ
Ô
Šd²ˆ ¬ „'— ˆ ¬ „¿±®Žh…Œ–A„/ƒŽ~­®\„'„®Âdˆ ¬ „¿„3¹„'‡'–©ˆ\‰†Šd‹`‡'Šd‹ˆ4‰†‹’–„'ƒKŽ~ˆˆ ¬ „Gƒ1ˆŽˆ\„'—m„'‹-ˆ‰†—m—m„'º‰sŽ~ˆ4„'…Œµ²sŠd…†…†Šr¯‰Œ‹A­
ˆ ¬ „)…sŽ~‘2„'…S·ËM²ˆ ¬ „/\„Q‰†ƒ‹Š¾Žh­®\„'„'—m„/‹ˆG‘A–ˆ°Ž
…sŽ~‘2„'…S’ˆ ¬ „Q„6¹©„'‡'–©ˆ\‰ŒŠd‹‡'Šd‹ˆ4‰†‹’–„'ƒŽ~ˆˆ ¬ „
default:
ƒ1ˆŽˆ\„'—m„'‹-ˆ¡‰†—m—m„'º‰sސˆ\„'…ŒµR²sŠd…Œ…†Š¯°‰†‹­Yˆ ¬ „
…sŽ~‘I„'…M· Ç ˆ ¬ „/1¯‰†ƒ4„h Ö
‰†ƒ¡‰Œ­d‹AŠ®4„'º
Ôa×-ÔaØ\Ù؏ÑIÔ
Žh‹ºˆ ¬ „)„3¹©„/‡'–©ˆ\‰†Šd‹‡'Šd‹-ˆ\‰†‹–A„/ƒ°Žh²†ˆ4„/ˆ ¬ „ default:
ƒpˆŽ~ˆ\„'—m„/‹ˆB·
Š®ˆ\„Nˆ ¬ Ž~ˆ
Šd‹…Œµwƒ4„'…†„/‡/ˆ\ƒŽh‹„/‹switch
ˆ44µw˜2Šd‰Œ‹ˆG²sŠ®Gˆ ¬ „)˜\Ї'„'ƒ4ƒ1‰†‹­`Šd² Ö
‰ŒˆGºŠ’„'ƒ
switch
a
Ô
×
¶
Ô

Ø

Ù

Ø
I
Ñ
Ô
‹Š®ˆ¿„3¹‰Œˆo¯ ¬ „'‹mˆ ¬ „„6¹©„'‡'–©ˆ\‰ŒŠd‹w4„BŽh‡ ¬ „'ƒŽh‹Š®ˆ ¬ „/¿…sŽ~‘I„'…M·ËM²VŠd‹„°¯Žh‹-ˆ\ƒˆ\Š^ƒ4„3˜+ސŽ~ˆ\„ˆ ¬ „º‰ +„/\„'‹-ˆ
Žh…Œˆ4„/\‹AŽ~ˆ\‰Œ±&„/ƒ'Šd‹„ ¬ Žhƒ`ˆ4Š•–ƒ4„
Žh‹º"ˆ ¬ ‰†ƒ‰†ƒˆ ¬ „YŠd‹…Œµe…†„/­&Žh…¿–ƒ4„Šd²
Šd–©ˆ\ƒ1‰†º„YŠd²
break Î
break
Žh‹‰Œˆ\„/\Ž~ˆ\‰†Šd‹eƒ1ˆŽˆ\„'—m„'‹-ˆ ·•ÌGŠd‹ƒ4‰ŒºA„3²sŠ®$„6¹Žh—™˜A…†„¾ˆ ¬ „m²sŠd…Œ…†Š¯°‰†‹­˜A‰†„'‡'„wŠd²‡'Š’º„®ÂŽh‹º…†„/ˆ–ƒ
ƒ4–©˜˜2Šdƒ4„ˆ ¬ Ž~ˆ ‰†ƒŽ±hŽ~\Չ†Ž~‘A…†„Šd²´ˆ¶µ’˜2„
·
x
int
switch ( x ) {
case 0: std :: cout < < "0 ";
case 1: std :: cout < < "1 " ; break ;
default : std :: cout < < " whatever ";
}
⩊®
ˆ ¬ „Šd–ˆ1˜8–©ˆ´‰†ƒ
Þ®²sŠ®
ˆ ¬ „Šd–©ˆ4˜A–©ˆÃ‰Œƒ Þ®Š®ˆ ¬ „/1¯‰†ƒ4„k¯G„­d„3ˆÃˆ ¬ „KŠd–ˆ1˜8–©ˆ
·
ƒ1ˆ\Ž~ˆ\„'—m01
„'‹-ˆK‰†ƒ˜2x==1
А¯G„3\²s–…8‰†‹`ˆ ¬ „ƒ1„'‹ƒ41„ˆ ¬ Ž~ˆK‰ŒˆŽh…Œ…†Š¯°ƒˆ ¬ „º‰+„/\„'‹-ˆoŽ~…Œwhatever
ˆ\„/\‹AŽ~ˆ4‰Œ±&„'ƒ
« x==0
¬ „
ˆ\ŠQƒ ¬ Ž~\„switch
‡'Š’º„®·°Šr¯G„/±&„/BÂ&ˆ ¬ ‰†ƒ˜2Šr¯G„/Žh…†ƒ4ŠQ—wŽ~“&„'ƒ
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ ¬ Ž~\º¾ˆ\Š)\„BŽhº™Žh‹º™„/4\Š®
switch
˜\Šd‹„®· ²†\„/¸’–„'‹ˆ˜A4Š®‘8…Œ„'—Á‰Œƒˆ ¬ Ž~ˆŠd‹A„²sŠ®\­d„/ˆ\ƒˆ\Š.˜A–©ˆ¿Ž
¯ ¬ „/\„ˆ ¬ „/\„ƒ ¬ Šd–…†º$‘2„°Šd‹„®·
‹…Œµ&· ¬ „'‹„/±&„/^ˆ ¬ „3\„mŽ~\„¾Šd‹A…›µTŽ
«G¬ „3\„'²sŠ®\„®Â¯G„$—m„'‹ˆ4‰†Šd‹
¬ „/\„¾²sŠ®^‡'Šd—™˜A…†„/ˆ\„/‹A„/ƒ4ƒQŠdbreak
²s„/¯ Žh…Œˆ4„/\‹AŽ~ˆ\‰Œ±&„/ƒoˆ\Š`‘I„Qº‰†switch
ƒ1ˆ4‰†‹­d–A‰Œƒ ¬ „'ºV˜A…sŽ'µw‰Œˆƒ\Žh²s„QŽh‹º–ƒ4„
·/·'·
Ž~ˆ ¬ „/ˆ ¬ Žh‹
·
if
else
switch
«¬ „ ¬ Žh…›ˆ\‰†‹­R˜A4Š®‘8…Œ„'— ‰†ƒ¾Šd‹„³Šd²°ˆ ¬ „
²s–‹º8Ž~—m„'‹ˆŽ~…˜\Š®‘A…†„'—mƒ‰†‹Rˆ ¬ „.ˆ ¬ „'Š®1µRŠd²‡'Šd—™˜A–©ˆŽ~ˆ\‰†Šd‹V·ËM‹²sŠ®\—wŽh…†…›µwƒ1˜2„BŽ~“’‰†‹­©Â8ˆ ¬ „.˜\Š®‘A…†„/—
‰†ƒ³ˆ\Šªº„'‡'‰†º„ –ƒ4‰†‹­ªŽh‹ÉŽ~…†­dŠ®\‰Œˆ ¬ —
¯ ¬ „/ˆ ¬ „/RŽ­d‰Œ±&„'‹˜\Šd­®Ž~— ¬ Žh…Œˆ4ƒ ˆ4„/\—m‰†‹AŽ~ˆ\„/ƒ ¯ ¬ „'‹
Î
Õ
Õ ÌÍQͰÈ
„3¹„'‡'–©ˆ\„'º•Šd‹TŽ™­d‰Œ±&„/‹•‰†‹©˜A–©ˆ ˜\Šd­®Ž~—áƒ1ˆŽ~ˆ4„ · «¬ „¡ˆ\„3\— p˜\Šd­®Žh—
—wŽ'Î µY\„'²s„/ˆ\гŽw
˜\Šd­®Žh—R‘8–©ˆŽh…†ƒ1Š$ˆ\оŽ^˜\Šd­®Î \Žh—¨‰†‹RŽh‹-µYŠ®ˆ ¬ Õ „3°‡'Šd—m—mŠd‹m˜\Šd­®Ž~—m—m ‰†‹­¡…sŽh‹­d–AŽh­d„®·
« Š$Ž~ˆ4ˆŽh‡\“mˆ ¬ „˜\Š®‘A…†„'—¢²sŠ®\—wŽh…Œ…Œµ&Â-ˆ ¬ „ \‰Œˆ4‰†ƒ ¬ —wŽ~ˆ ¬ „'—wŽ~ˆ\‰Œ‡'‰sŽh‹ …sŽh‹ « –©\‰†‹­ È º„/¼A‹„'ºT‰†‹šŽmƒ4„'—m‰Œ‹8Ž~…˜8Ž~˜2„3
Ž 1—m‰†‹‰†—wŽh… ˜\Šd­®Ž~—m—m‰†‹­$…sŽ~‹A­d–AŽh­d„hÞV޾˜A4Šd­®Žh—áÎ ‰†‹;ˆ ¬ ‰†ƒN…sŽ~‹©ÕÈ
­d–AŽh­d„)‰†ƒ¿“‹Š¯°‹RŽhƒŽ b P %BJSE ‚ X #@'*JSE!B· « –©\‰†‹­˜A4А±&„'ºˆ ¬ ސˆˆ ¬ „ ¬ Žh…Œˆ\‰Œ‹A­^˜\Š®‘A…†„'—¨‰†ƒ–‹ºA„/‡'‰†ºAŽ~‘A…†„²sŠ® « –4‰†‹­$—wŽh‡ ¬ ‰†‹„'ƒ'‘8–©ˆˆ ¬ „
ƒ\Žh—m„)Ž~4­d–A—m„/‹ˆ\ƒG‡BŽh‹Žh…†ƒ4Š‘2„)–Aƒ1„'ºˆ\Š$˜\Šr±&„ˆ ¬ „.ƒ\Žh—m„ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆG²sŠ®ÌÍQ̀˜\Šd­®Ž~—mƒ'·
¬ ސˆ´ºŠ„'ƒ 1–‹º„'‡'‰†ºAŽ~‘A…†„ —m„BŽh‹ Z„ ¬ Ž'±&„kƒ4„'„/‹ŽGƒ1‰†—™˜A…†„Ã…†ŠŠ®˜.²sŠ®¯ ¬ ‰†‡ ¬ ‰Œˆ2¯Žhƒ2˜8Žh‰†‹²s–…†…Œµ
„/±’‰†º„'‹ˆˆ ¬ Ž~ˆ)‰Œˆ)‰†ƒ)Žh‹Z‰Œ‹¼A‹‰Œˆ\„.
…†Š’Š®˜Â ¬ Ž'±&„'‹ ˆ)¯G„ K„'ƒ'ÂV‰†‹º„'„'ºTŠd‹„;@3#&EߺA„/‡'‰†º„`ˆ ¬ „ ¬ Žh…Œˆ4‰†‹­
˜\Š®‘A…†„'— ²sŠ®^—wŽh‹µ•‡'Šd‹‡/\„3ˆ\„¾˜\Šd­®Žh—mƒ/· ‹Aº„'‡/‰†ºAŽ~‘A…†„$—m„'Žh‹ƒQˆ ¬ Ž~ˆ ‰†‹eŽY˜8Ž~4ˆ4‰†‡'–…sŽ~)—mŠ’º„'…
Šd²K‡'Šd—™˜A–ˆ\Ž~ˆ\‰†Šd‹ ˆ ¬ „3\„‡BŽh‹‹Š®ˆN‘2„`Žh‹ZŽh…Œ­dŠ®\‰Œˆ ¬ —ʈ ¬ ސˆºA„/‡'‰†º„'ƒˆ ¬ „ ¬ Î Žh…›ˆ\‰†‹­¾˜\Š®‘A…†„'— ²sŠ®m#-7S7
02<&L'L3J O 7g!˜A4Šd­®ŽhÕ —mƒ'·
N„'ƒ1˜A‰Œˆ\„^ˆ ¬ „'‰Œ)ƒ4‰Œ—™˜8…Œ‰†‡'‰Œˆ¶µ& « –4‰†‹­³—wŽ~‡ ¬ ‰†‹„'ƒ)Ž~4„$Žm¯‰ŒºA„/…Œµ;Žh‡'‡/„/˜ˆ\„'ºZ—mŠºA„/…Šd²‡'Šd—™˜A–©ˆŽÈ
ˆ\‰†Šd‹VÞA‰†‹R²gŽh‡/ˆ'”a–ƒ1ˆN…†‰Œ“&„Q—wŽh‡ ¬ ‰†‹„Q…sŽ~‹A­d–AŽh­d„h « –4‰†‹­¾—wŽh‡ ¬ ‰†‹„'ƒ‡BŽh‹;ºŠm„/±&„/4µˆ ¬ ‰†‹­¾ˆ ¬ Ž~ˆÌÍ)Í
˜\Šd­®Žh—mƒ‡BŽh‹ºŠ©Â„3¹‡'„/˜ˆˆ ¬ Ž~ˆGˆ ¬ „/µw–ƒ4–AŽh…†…Œµm‹„'„/ºŽ ¬ –­d„)‹’–—`‘I„/GŠd²±&„34µw˜A4‰†—m‰Œˆ\‰Œ±&„Š®˜2„/ŽrÈ
ˆ\‰†Šd‹ƒG²sŠ®°ˆ ¬ ސˆB·
ˆ™ˆ ¬ „ƒ\Žh—m„³ˆ\‰†—m„YŽhƒ « –©\‰†‹­©Âˆ ¬ „ —m„/\‰†‡'Žh‹ª—wŽ~ˆ ¬ „'—wސˆ\‰†‡'‰sŽ~‹ …†Šd‹ 'ŠeÌ ¬ –©\‡ ¬ Å º„/±&„'…†Š®˜2„/ºZŽm‡'Šd—™˜A–©ˆŽ~ˆ\‰†Šd‹AŽh…—mŠ’º„'…ÇBŽh…†…†„/º ÈM‡BŽh…†‡'–…†–ƒ~· ƒ)‰ŒˆNˆ\–©\‹„'ºZŠd–©ˆB ¬ ‰†ƒÎ —mŠ’º„'…
λ
‰†ƒ„'¸’–Õ ‰Œ±hŽh…†„'‹-ˆˆ\Š « –4‰†‹­™—wŽh‡ ¬ ‰†‹„'ƒ‰Œ‹ˆ\„/\—mƒŠd²‡'Šd—™
˜A–ˆ\Ž~ˆ\‰†Šd‹AŽh…I˜2Šr¯G„/B· «G¬ „^Ì ¬ –4‡ ¬ È « –©\‰†‹­
ˆ ¬ „'ƒ4‰Œƒƒ1ˆ\Ž~ˆ\„'ƒGˆ ¬ Ž~ˆ 1„/±&„/4µY²s–‹‡/ˆ\‰†Šd‹³ˆ ¬ Ž~ˆ‰†ƒ‹AŽ~ˆ4–\Žh…†…Œµ$\„'­&Ž~\º„'ºŽhƒ‡/Šd—™˜8–©ˆŽ‘8…Œ„‡BŽh‹‘I„Q‡'Šd—¾È
˜A–©ˆ\„'ºe‘’µŽ « –©\‰†‹­R—wŽh‡ ¬ ‰†‹„ · ƒ^ˆ ¬ „/4„m‰†ƒ‹AŠR\‰Œ­dŠ®\Šd–ƒ¡º„/¼A‹A‰›ˆ\‰†Šd‹qŠd²G¯ ¬ Ž~ˆ‰†ƒ 1‹AŽ~ˆ\–©Ž~…†…Œµ
\„'­&ސ\º„'ºRŽhƒ‡'Šd—™˜A–ˆ\Ž~‘A…†„ ˆ ¬ ‰Œƒƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆG‰†ƒ‹AŠ®ˆ°Ž^ˆ ¬ „'Š®\„'—¨‘A–ˆ°Ž ¬ µ’˜IŠ®ˆ ¬ „'ƒ4‰†ƒGˆ ¬ Ž~ˆ‡BŽh‹‹Š®ˆ
‘2„.˜\Šr±&„'‹;—wŽ~ˆ ¬ „'—wސˆ\‰†‡BŽh…Œ …Œµ&· ƒŠd²ˆ\ŠºAŽBµ&ˆ ¬ „ ¬ µ’˜2Š®ˆ ¬ „'ƒ1‰†ƒ ¬ Žhƒ‹Š®ˆ‘2„'„'‹;º‰†ƒ1˜\Šr±&„'ºV·ËM‹;ˆ ¬ „6È
Š®\„/ˆ4‰†‡BŽh…K‡'Šd—™˜A–©ˆ\„/Qƒ4‡'‰†„'‹‡'„$ˆ ¬ „$ˆ\„/4— @/< X 0 P ,1# O 7g!–ƒ4„/ºe¯°‰Œˆ ¬ Šd–©ˆ)²s–1ˆ ¬ „/^¸’–AŽh…Œ‰Œ¼A‡BŽ~ˆ\‰†Šd‹;‰†ƒ.Ž
ƒ1µ’‹AŠd‹-µ—IJsŠ® 1‡'Šd—™˜A–©ˆŽ~‘A…†„‘’µŽ « –4‰†‹­$—wŽh‡ ¬ ‰†‹„
„'¸–‰Œ±®Ž~…†„'‹ˆ4…Œµ&©Ž$ÌÍ)̀˜A4Šd­®Žh— ·
wÎ
Õ
The Halting Problem, Decidability, and Computability.
Ç –©¡Ž˜A˜\Š&Ž~‡ ¬ Šd²º„/¼A‹‰†‹­m˜2Š®ˆ\„'‹-ˆ\‰sŽh…ƒ1‡'Š®˜2„$Žh‹ºTƒ4‡'Š®˜I„$…†‰Œ‹A„¡‘µ;…†‰†‹„^‰†ƒ
Ž¡ƒ4‰†—™˜A…†‰›¼8‡'Ž~ˆ\‰†Šd‹V®„/±&„/‹‰†²2ˆ ¬ „‡'Š’º„N‰†ƒ¿ƒ1–A‰›ˆŽ~‘A…Œµ™²sŠ®4—wŽ~ˆ4ˆ\„'ºwŽ~‹Aºw¯G„Šd‹…Œµ ¬ Ž'±&„Šd‹A„Nº„'‡/…sŽ~Ž~ˆ4‰†Šd‹
˜2„/…†‰†‹„®· «G¬ „)ˆ44–ˆ ¬ ‰†ƒ¿ˆ ¬ Ž~ˆˆ ¬ „)˜2Šd‰Œ‹ˆŠd²Ãº„'‡'…†Ž~Ž~ˆ\‰ŒŠd‹YŠd² ‰†‹
Point of declaration.
i
int i = 5;
NKÉ

‰†ƒG‰†‹wˆ ¬ „ X Jp5©587g!^Šd²´ˆ ¬ „º„'‡'…sސŽ~ˆ\‰†Šd‹V’Žh²†ˆ\„/Gˆ ¬ „)‹8Ž~—m„ ¬ ŽhƒŽ~˜˜2„Bސ\„'ºV· «¬ „˜2Š®ˆ\„'‹-ˆ\‰sŽh…Iƒ1‡'Š®˜2„
i
ˆ ¬ „/\„/²sŠ®\„QºŠ„'ƒG‹AŠ®ˆ‰†‹‡'…Œ–Aº„ˆ ¬ „²s–…†…2…†‰†‹„®Â‘8–©ˆŠd‹…Œµ™ˆ ¬ „N
˜8Ž~4ˆƒ1ˆŽ4ˆ\‰†‹­²†\Šd—
· «G¬ ‰†ƒ¿„3¹’˜8…†Žh‰†‹ƒ
=
¯ ¬ Ž~ˆ ¬ Ž~˜˜2„'‹ƒ‰†‹™ˆ ¬ „°²sŠd…†…†Šr¯‰†‹­)‡'Š’º„²†Ž~­d—m„'‹ˆBÂ&‘A–©ˆ¿²sŠ®4ˆ\–‹AŽ~ˆ\„'…›µ$ˆ ¬ ‰†ƒ‰†ƒ‡/Šd‹Aƒ1‰†ƒ1ˆ\„'‹-ˆo¯‰›ˆ ¬ Šd–©
…†‰†‹„3ÈS‘’µ-ÈH…†‰†‹„Ž~˜˜\Š&Žh‡ ¬ ·ËM‹
int i = 5;
{
int i = i;
}
ˆ ¬ „¾‹AŽh—m„
Žh²†ˆ4„/¡ˆ ¬ „
‰Œ‹q…†‰†‹„
\„'²s„/\ƒQˆ\Šˆ ¬ „¾º„'‡/…sŽ~Ž~ˆ4‰†Šd‹T‰†‹T…†‰†‹„ ·³Ì¿Šd‹ƒ4„'¸–A„/‹ˆ\…Œµ& ‰†ƒ
‰†‹‰Œˆ\‰†Žh…†‰'„/º™i¯‰Œˆ ¬ ‰Œˆ\ƒ4„/…†²´‰Œ=‹ˆ ¬ ‰†ƒG…†‰†‹„®Â©—m„BŽ~‹A‰Œ‹A­¡ˆ ¬ ސˆ‰›ˆ\ƒ±hŽh…†–„¯‰†…Œ…+‘2„)–A‹º„/¼A‹„'ºVÂAŽh‹º‹Š®ˆ i·
ËM‹ Š®ˆ ¬ „/$ƒ4‰Œˆ\–AŽ~ˆ\‰ŒŠd‹Aƒ^‰›ˆ$—wŽ'µ ¬ Ž~˜˜2„'‹VÂKˆ ¬ Šd–A­ ¬ ÂKˆ ¬ Ž~ˆ$ˆ ¬ „YŽ~˜˜2„BސŽh‹‡'„³Šd²NŽš‹AŽh—m„w‰†‹5ˆ ¬ „
º„'‡'…sސŽ~ˆ\‰†Šd‹•Šd²oˆ ¬ „™ƒ\Žh—m„$‹AŽh—m„`4„'²s„/\ƒ¡ˆ\ŠŽw0V%'!'lhJ1< P L³º„'‡'…sސŽ~ˆ\‰†Šd‹TŠd²oˆ ¬ ‰†ƒQ‹AŽh—m„h·w⊮¡‹AŠr¯¡Â
¯G„N‡BŽh‹³„BŽhƒ1‰†…Œµ¾ŽB±&Šd‰Œº³ƒ1–A‡ ¬ ƒ4–©‘Aˆ4…†„/ˆ\‰†„/ƒ‘’µ™ˆ ¬ „N²sŠd…Œ…†Š¯°‰†‹­Q\–…†„hÝkŽh‹µmº„'‡/…sŽ~Ž~ˆ4‰†Šd‹™ƒ ¬ Šd–…†ºw‡'Šd‹ˆ\Žh‰†‹
ˆ ¬ „)‹8Ž~—m„ˆ4Š$‘2„)º„'‡'…sŽ~4„'ºŠd‹…ŒµwŠd‹‡'„®·
ƒ1„'¸’–„'‹‡'„m­dŠ„'ƒQ‘8Žh‡\“šˆ\Šˆ ¬ „ „/\—wŽh‹
«G¬ „mÌ¿Šd…†…sŽ~ˆ`
The Collatz problem and the ?-operator.
—wŽ~ˆ ¬ „'—wސˆ\‰†‡'‰sŽ~‹ V
Š®ˆ ¬ Ž~NÌGŠd…†…†Ž~ˆ BÅ + Å ¯ ¬ Šmƒpˆ\–ºA‰Œ„'º;‰Œˆ‰†‹Rˆ ¬ „ dÅ ƒ'·N½’„3±&„/Žh…˜\‰/„'ƒ
Î
Õ
„/\„'ºšˆ\гŽh‹µ&Šd‹„^¯ ¬ Š™˜\Šr±&„'ƒ)Š®ºA‰Œƒ1˜\А±&„/ƒˆ ¬ „‡'Šd‹d”a„'‡/ˆ4–4„ˆ ¬ ސˆˆ ¬ „‹’–—`‘I„/
¬ Ž'±&„‘I„'„'‹TŠ +
Ž~˜˜2„Bސ\ƒ‰Œ‹ˆ ¬ „¡Ì¿Šd…†…sސˆ
ƒ4„'¸’–„'‹‡'„.Šd²„/±&„/4µ‹’–—‘2„/
· «G¬ „.²gŽh—mŠd–ƒ °–‹­&Ž~\‰sŽ~‹—wŽ~ˆ ¬ „31È
—wŽ~ˆ\‰Œ‡'‰sŽh‹ Îh–… k
\ºŠdƒ +
„/\„'º
’¯ ¬ n‰Œ‡ ¬ ‰†1ƒ¿—`–‡ ¬ ‘’µ ¬ ‰†ƒ¿ƒpˆŽh‹ºAŽ~\ºƒ ¬ „)–ƒ4„/º
" Š +
Î
Î
Õ
500
ˆ\ŠŠ I
„3°—`–‡ ¬ …†Šr¯G„/Žh—mŠd–‹ˆ4ƒo²sŠ®G±&„/4µ³º‰ ™
‡'–…Œˆ˜A4Š®‘8…Œ„'—mƒ · \ºŠdƒƒ\Žh‰†ºwˆ ¬ Ž~ˆ Ž~ˆ ¬ „'—wސˆ\‰†‡'ƒ
‰†ƒ‹Š®ˆµ&„3ˆ°\„BŽ~ºµ³²sŠ®°ƒ4–‡ ¬ ˜\Š®‘A…†„/—mƒ ·ËM‹º„'„'ºV©ˆ ¬ „Q‡'Šd‹d”a„'‡/Ո4–4„.‰†ƒƒ1ˆ\‰†…Œ…2–A‹ƒ4Šd…›±&„'ºV·
Z„ ¬ Ž'±&„)˜A4„'ƒ4„'‹-ˆ\„'ºRˆ ¬ „Q‡/Šd—™˜8–©ˆŽˆ\‰†Šd‹wŠd²Ãˆ ¬ „^Ì¿Šd…†…sސˆNƒ4„'¸–A„/‹A‡/„^ŽhƒŽ~‹RŽ~˜˜A…†‰†‡BŽ~ˆ4‰†Šd‹wŠd²Ãˆ ¬ „
ƒ1ˆŽ~ˆ4„'—m„'‹ˆ'Âk˜IŠd‰†‹ˆ\‰Œ‹A­Šd–ˆˆ ¬ Ž~ˆˆ ¬ „w‡'Šd‹º‰Œˆ\‰†Šd‹AŽh…‡ ¬ Ž~‹A­d„³Šd²
‰†ƒ^ˆ\Š’Š;‡'Šd—™˜A…†‰Œ‡BŽ~ˆ\„'ºZˆ4Š
while
n
˜A–©ˆ‰Œˆ‰†‹ˆ4Š•Ž
ƒpˆŽ~ˆ\„'—m„/‹ˆ ƒ
·
T
'
„
†
…
M
…
Â
ˆ
~
Ž
ˆ
ý
^
ƒ
‹
®
Š
ˆ
3
„
¹
~
Ž
/
‡
\
ˆ
Œ
…
µqˆ44–A„hݾˆ ¬ „wºA„/ƒ4‰†­d‹„/\ƒ
¬
for
/Ø Ö4Ö ÓCАÑ
Ø
Šd²ÌNÂ+ˆ ¬ „^˜\„'‡'–©\ƒ4Š®ˆ\ŠYÌÍQÍ^ ¬ Ž~ºT޾¯G„Bސ“‹„'ƒ4ƒ)²sŠ®±&„/4µ;‡'Šd—™˜8Žh‡/ˆ‡'Š’º„`Žh‹º•‡'Žh—m„^–©˜T¯‰›ˆ ¬
ˆ ¬ „Y@3<dE5&JM,MJp<dE#-7G<'0I!'%/#-,4<d%wˆ ¬ Ž~ˆŽh…†…†Šr¯ƒG–ƒˆ4оƒ4‰†—`–…sŽ~ˆ\„
ƒpˆŽ~ˆ\„'—m„/‹ˆ\ƒ¿‘’µY„3¹’˜A4„'ƒ4ƒ4‰†Šd‹ƒ'· «¬ „
if
ƒ1µ’‹ˆŽ¹YŠd²Ãˆ ¬ ‰Œƒ),4!/%BE#&%B9•Š®˜I„/Ž~ˆ\Š® ސ\‰Œˆ¶µ
‰Œƒ
Î
Õ
Ý
Ï'АÑIÒÓHÔSÓCАÑ
Ø 3Ø Ö4Ö ÓCÐÑ Ø/Ø Ö4Ö ÓCАÑ
°„/4„®Â
‰†ƒKŽh‹¾„6¹˜\„'ƒ4ƒ1‰†Šd‹¾Šd²8Žˆaµ˜2„G¯ ¬ Šdƒ4„¿±®Ž~…†–„'ƒk‡BŽh‹$‘I„‡/Šd‹±&„/4ˆ4„'º¾ˆ\Š
Â-Žh‹º
bool
'Ï ÐÑIҒŽhÓM‹ÔSÓCº АÑ
Ø ~
Ž
\

)
„
3
„
¹
˜
\

/
„
4
ƒ
4
ƒ
†
‰
d
Š
‹
'
ƒ
·
)
„
4
ƒ
'
„
w
—
h
Ž
‹
\
ˆ
†
‰
'
‡
G
ƒ
†
‰
ƒ
h
Ž
ƒ
s
²
d
Š
†
…
†
…
r
Š
¯
/
ƒ
·
´
â
Œ
‰
\

1
ƒ
B
ˆ
Â
«
¬
/Ø Ö4Ö ÓCÐÑ /Ø Ö4Ö ÓCАÑ
Ø
/
Ï

Ð
2
Ñ
Ò
H
Ó
C
Ô
C
Ó
‰†ƒ¿„/±hŽh…†–AŽ~ˆ4„'ºV·ËM²V‰Œˆ¿4„/ˆ\–©\‹ƒN,M% P !BÂ
‰†ƒ¿„/±hŽh…†–AŽ~ˆ\„'ºV’Žh‹ºY‰Œˆ4ƒo±®Žh…Œ–A„N‰Œƒo\„/ˆ\–©\‹„'ºŽhƒoˆ А¬ Ñ „
4
Ö
Ö
±hŽh…†–„NŠd²2ˆ ¬ „N‡'Šd—™˜2Šdƒ4‰Œˆ4„°„3¹’˜A4„'ƒ4ƒ4‰†ŠdØ ‹V·/Ç Ø ˆ ¬ ÓC„/А4Ñ ¯ ‰Œƒ4„ ‰†²
\„/ˆ\–©\‹ƒ[~#-7:Lh! Â
‰†ƒ
Ö4Ö
„/±hŽh…†–AŽ~ˆ\„/ºÂ-Žh‹º$‰Œˆ\ƒ±®Ž~…†–„‰†ƒ\„3ˆ\–©\‹„'ºV· «¬ „Gˆ\Š®“&„'‹ Î Ï'‰†ƒKАÑI
Ž)҃4ÓH„/ÔS¸’ÓDА–Ñ „'‹‡'„˜IŠd‰†‹ˆ ƒ1„'„NÕ ½’„'Ø ‡3ˆ\ ‰†Šd3Ø ‹ ÓC· ÐÑ · BÅ Â
Î
Õ
—m„BŽh‹‰†‹­™ˆ ¬ Ž~ˆ)Ž~…†…„ +„'‡/ˆ\ƒQŠd²
ސ\„^˜A4Š’‡'„'ƒ1?ƒ4„'ºT‘2„/²sŠ®\„$„/‰Œˆ ¬ „/
Š®
4
Ö
Ö
Ö
Ï'АÑIÒÓHÔSÓDАÑ
Ø /Ø ÓCÐÑ Ø /Ø Ö ÓCÐÑ Ž~4„Q„/±hŽh…†–AŽ~ˆ4„'ºV·
°ƒ4‰†‹­eˆ ¬ „•‡/Šd‹Aº‰Œˆ4‰†Šd‹AŽh…°Š®˜2„3Ž~ˆ\Š®Bˆ ¬ „•…ŒŠ’Š®˜WŠd² \Šd­®Žh— ž‡/Šd–A…Œºß¸’–‰Œˆ4„š‡/Šd—™˜+Ž~‡/ˆ\…Œµž‘2„
¯°4‰Œˆ4ˆ\„'‹Žhƒ²sŠd…†…†Šr¯ƒ'·
for ( ; n > 1; std :: cout < < ( n % 2 == 0 ? n= n /2 : n =3* n +1) < < " " );
Z„)…†„BŽ'±&„Q‰Œˆ–˜ˆ\Š$µ&Šd–ˆ4оº„'‡'‰†º„¯ ¬ „/ˆ ¬ „/µ&Šd–…†‰›“&„ˆ ¬ ‰Œƒ±hŽ~\‰sŽ~‹ˆG‘2„/ˆ4ˆ4„/B·
« ¬ „YºA‰Œƒ4‡'–ƒ4ƒ4‰†Šd‹ªŽ~‘2Šd–©ˆ`ƒ1ˆ\Š®Žh­d„³º–©Ž~ˆ\‰†Šd‹"Ž~‘2Šr±&„ºŠ’„/ƒ¾‹Š®ˆ$ˆ4„'…†…¿ˆ ¬ „³¯ ¬ Šd…†„
ƒ1ˆ\Š®1µIÝR‰Œˆ¾‰†ƒ™Žh…Œƒ4ŠT˜2Šdƒ4ƒ1‰Œ‘A…†„³ˆ4ŠZº„/¼A‹A„Y±®Ž~4‰sŽ~‘A…†„'ƒ`¯‰Œˆ ¬ …†Š’‡BŽ~…ƒ4‡/Š®˜2„ˆ ¬ Ž~ˆ ¬ ŽB±&„RƒpˆŽ~ˆ\‰†‡³ƒ1ˆ\Š®\Žh­d„
º–©Ž~ˆ\‰†Šd‹V·
ˆ\ŠZˆ ¬ „±hŽ~\‰sސ‘8…Œ„º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹V·W⊮
«¬ ‰†ƒ¾‰†ƒmºŠd‹A„Y‘’µª˜\„/˜I„'‹ºA‰Œ‹A­Zˆ ¬ „Y“&„/µ’¯GŠ®\º
static
„3¹©Žh—™˜A…†„®Â‰†‹
Static variables.
for ( int i = 0; i < 5; ++ i ) {
static int k = i ;
k += i;
std :: cout < < k < < "\ n";
}
ˆ ¬ „)Žhºº4„'ƒ4ƒGŠd² \„'—wŽ~‰†‹ƒˆ ¬ „Nƒ\Žh—m„Nº–©\‰†‹­Žh…†…+‰Œˆ\„/Žˆ\‰†Šd‹ƒ'Ž~‹Aº
‰Œƒ¿‰†‹‰Œˆ\‰sŽh…Œ‰'„'º¾ˆ4Š
<dE@/!
d< EV79’ÂV‰†‹;ˆ ¬ „¡¼\ƒ1ˆ)‰Œkˆ\„/\Ž~ˆ\‰†Šd‹V· «G¬ „`Ž~‘IА±&„^˜A‰†„'‡'„Šd²K‡'Š’º„^¯‰Œ…†…´ˆ ¬ „/4„'²sŠ®k\„Šd–©ˆ4˜A–ˆNˆ ¬ „ƒ4„/¸’i–„'‹‡'„
Šd²2±®Ž~…†–„'ƒ
\„'—m„/—`‘2„3 )Žh–ƒ4ƒ ·}‰Œˆ ¬ Šd–©ˆoˆ ¬ „
“&„/µ¯GŠ®\ºVˆ ¬ „\„'ƒ4–…Œˆo¯GŠd–…†º
Õ
0, 1, 3, 6, 10 Î
static
ƒ4‰†—™˜A…Œµ¾‘2„)ˆ ¬ „)ƒ4„'¸–„'‹‡'„.Šd²„3±&„'‹R‹’–—‘2„/\ƒ
·
2, 4, 6, 8
½ˆŽ~ˆ\‰Œ‡G±hŽ~\‰†Ž~‘A…†„'ƒ ¬ ŽB±&„‘2„'„'‹¾¸’–‰Œˆ\„–ƒ4„'²s–…80,‰Œ‹m
ÌNÂ-²sŠ®„3¹©Žh—™˜A…†„oˆ\Š.‡/Šd–A‹-ˆ ¬ Šr¯¤Šd²†ˆ\„'‹wŽNƒ1˜2„/‡'‰Œ¼A‡
˜A‰†„'‡'„)Šd²‡'Šº„Q‰†ƒ„3¹„'‡'–©ˆ\„'ºVމ†‹;ÌÍQÍ^©ˆ ¬ „/µŽ~\„)…†„'ƒ4ƒ‰†—™˜2Š®4ˆ\Žh‹ˆB·
⩊®±®Ž\‰sŽ~‘A…†„'ƒŠd²²s–‹º8Ž~—m„'‹ˆŽ~…Iˆaµ˜2„.ˆ ¬ „Q‰†‹‰Œˆ\‰sŽh…I±hŽh…†–„Q—wŽBµw‘2„Q–‹Aº„/¼A‹„'ºVÂ8Žhƒ°‰†‹ˆ ¬ „Qº„/¼©È
‹‰Œˆ\‰†Šd‹
· °Šr¯G„/±&„/BÂ-ˆ ¬ „°±®Ž~…†–„°‰†ƒK–‹Aº„/¼A‹„'ºmŠd‹…Œµ$‰†² ¬ ŽhƒŽh–©ˆ\Šd—wŽ~ˆ\‰†‡¿ƒpˆ\Š®Žh­d„ºA–©Žˆ\‰†Šd‹V·
int x;
x
ËM‹‡'Šd‹ˆ4\Žhƒ1ˆB±hŽ~\‰sŽ~‘A…†„/ƒ¡¯‰Œˆ ¬ ƒ1ˆ\Ž~ˆ\‰†‡™ƒpˆ\Š®Žh­d„wº–©Ž~ˆ\‰†Šd‹Ž~4„w
Žh…Œ¯Ž'µƒ !/%'<&pJCE2JM,MJp#-7J -!35-ˆ ¬ Ž~ˆ‰†ƒ'Â
¼A…†…†„'ºw¯‰›ˆ ¬ Ž '„/\Š Šd²Ãˆ ¬ „QŽ~˜˜A4Š®˜A4‰sŽ~ˆ\„ˆ¶µ’˜I„®·
«G¬ „/\„Ž~\„wˆa¯GŠ•—mŠ®\„¡”a–—™˜ªƒ1ˆŽˆ\„'—m„'‹-ˆ\ƒ‰†‹ ÌÍQÍ ˆ ¬ Ž~ˆ¯G„ ¬ ŽB±&„/‹ ˆ¾º‰†ƒaÈ
‡'–ƒ4ƒ4„/ºW‰†‹ªˆ ¬ ‰Œƒ¾ƒ4„'‡3ˆ\‰†Šd‹V· Ç ‹„RŠd²ˆ ¬ „'— ‰Œƒ$ˆ ¬ „
ƒpˆŽ~ˆ\„'—m„/‹ˆ¾ˆ ¬ ސˆ¾µ&Šd–}Žh…Œ\„'Žhº©µ“’‹Š¯
return
½’„'‡3ˆ\‰†Šd‹ · · Ý¡‰†ƒpˆ^—wŽ'µ•Ї'‡'–©^Šd‹…ŒµT‰†‹eŽY²s–‹‡/ˆ\‰†Šd‹VŽ~‹Aºe‰Œˆ4ƒ.„3¹„'‡'–©ˆ\‰†Šd‹e…†„/ˆ4ƒQˆ ¬ „¾˜\Šd­®Ž~—
ÎÀAА¯¤”a–—™˜ˆ\Š`ˆ ¬ Õ „.„'‹ºRŠd²Ãˆ ¬ „Q‡'Š®4\„'ƒp˜2Šd‹ºA‰Œ‹A­$²s–‹A‡3ˆ\‰†Šd‹‘2Šº©µ&· «¬ „QŠ®ˆ ¬ „/”a–—™˜ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ‰†ƒ
ˆ¬ „
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆB’‘A–©ˆ°ƒ1‰†‹‡'„Qˆ ¬ ‰†ƒGŠd‹„.‰ŒƒŽ\„'…Œµw‹„'„'º„'º Žh‹ºƒ4Šd—m„/¯ ¬ ސˆGºA‰ ™‡'–…ŒˆGˆ\Š$–Aƒ1„ Â
goto
Î
Õ
¯G„)Šd—m‰ŒˆG‰ŒˆB·
Jump statements.
2.4.10 Goals
Dispositional.
Õ
ˆGˆ ¬ ‰†ƒG˜2Šd‰†‹-ˆB’µ&Šd–ƒ ¬ Šd–…†ºT·'·'·
“‹Šr¯àˆ ¬ „)ƒ1µ’‹ˆŽ¹Žh‹ºƒ1„'—wŽh‹ˆ4‰†‡'ƒGŠd²
if
·'·'·
else
Â
for
Â
while
ÂAŽh‹º
do
ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒ/Þ
–‹Aº„/4ƒ1ˆŽh‹ºžˆ ¬ „w‡'Šd‹‡'„3˜Aˆ4ƒ‘A…†Š‡\“IÂkƒ4„'…†„/‡/ˆ\‰†Šd‹VÂk‰Œˆ\„/\Ž~ˆ\‰†Šd‹Vº„'‡'…sސŽ~ˆ\‰Œ±&„$\„'­d‰†Šd‹VÂkƒ4‡'Š®˜2„hŽh‹º
Õ ƒ1ˆ\Š®Žh­d„)º–©Ž~ˆ\‰†Šd‹VÞ
–‹Aº„/4ƒ1ˆŽh‹º¾ˆ ¬ „‡'Šd‹‡'„/˜ˆoŠd²2Ž~‹m‰†‹©¼8‹‰Œˆ4„¿…†Š’Š®˜wŽ~‹Aº$‘2„Ž'¯Ž~\„Šd²+ˆ ¬ „ºA‰ ™‡'–…Œˆ¶µ`Šd²Iº„/ˆ\„'‡3ˆ\‰†‹­
Õ ƒ4–‡ ¬ …ŒŠ’Š®˜Aƒ'Þ
–‹Aº„/4ƒ1ˆŽh‹ºˆ ¬ „)‡'Šd‹‡'„/˜ˆ\–AŽh…V„'¸–A‰›±®Žh…Œ„'‹‡'„QŠd²Ã²sŠ® ©
 ¯ ¬ ‰†…†„ Žh‹ººŠ¾ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'Þ
“‹Šr¯àˆ ¬ „)ƒ1µ’‹ˆŽ¹Žh‹ºƒ1„'—wŽh‹ˆ4‰†‡'ƒGŠd²
‹ º
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'Þ
Ž~A
"
Õ
Õ
Õ
continue
break
“‹Šr¯€Žˆ°…†„'Žhƒ1ˆ²sŠd–©°‡/4‰Œˆ\„/\‰†Ž^ˆ4ŠQ”a–ºA­d„ˆ ¬ „)‡'Š’º„)¸’–AŽh…†‰Œˆ¶µwŠd²´‰Œˆ\„/Žˆ\‰†Šd‹³ƒ1ˆŽ~ˆ\„/—m„'‹ˆ\ƒ/·
NKÉ

ËM‹˜8Ž~4ˆ\‰Œ‡'–…sŽ~BÂ-µ&Šd–Rƒ ¬ Šd–A…ŒºY‘2„QŽ~‘A…†„Nˆ\Š·/·B·
Operational.
‡ ¬ „'‡\“TŽw­d‰›±&„'‹Tƒ4‰Œ—™˜8…Œ„.˜\Šd­®Žh—
Î
Î
Î
Î
Î
Î
Î
"
Ž~ƒ)º„/¼A‹„'ºš‘2„'…†Šr¯ ²sŠ®Qƒ1µ‹-ˆŽh‡/ˆ4‰†‡BŽh…‡'Š®1\„'‡/ˆ\‹„'ƒ1ƒ.Žh‹º
Õ ˜2Šd‰Œ‹ˆŠd–©ˆ˜IŠdƒ4ƒ4‰Œ‘A…†„„/44Š®\ƒ'Þ
Î
Õ
4„BŽhºeŽh‹ºZ–‹º„/\ƒ1ˆŽ~‹AºZŽY­d‰Œ±&„'‹Tƒ4‰†—™˜A…†„^˜\Šd­®Žh—»Žh‹ºq„3¹’˜8…†Žh‰†‹•¯ ¬ Ž~ˆ ¬ Ž~˜˜2„/‹Aƒ)º–©\‰†‹­
Õ ‰Œˆ4ƒ„6¹©„'‡'–©ˆ\‰ŒŠd‹Þ
¼A‹º ˜2Š®ˆ\„'‹-ˆ\‰sŽh… ‰Œ‹¼A‹‰Œˆ\„N…ŒŠ’Š®˜AƒG‰†‹Ž­d‰Œ±&„'‹ƒ1‰†—™˜A…†„˜\Šd­®Žh—RÞ
Õ
Î
Õ
¼A‹ºYˆ ¬ „Q—wŽ~ˆ\‡ ¬ ‰†‹­^º„'‡'…sŽ~\Ž~ˆ\‰†Šd‹³²sŠ®NŽ­d‰Œ±&„'‹Y‰†º„'‹ˆ\‰›¼8„3BÞ
Õ
º„/ˆ4„/\—m‰†‹„Nº„'‡'…sސŽ~ˆ\‰Œ±&„N\„/­d‰†Šd‹Žh‹ºƒ1‡'Š®˜2„.Šd²ÃŽ`­d‰›±&„'‹º„'‡'…sސŽ~ˆ\‰†Šd‹VÞ
Õ
4„'²sŠ®\—`–A…†Ž~ˆ\„¡Ž™­d‰›±&„'‹
ƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ„'¸–‰Œ±®Ž~…†„'‹-ˆ\…Œµ–ƒ4‰Œ‹A­wŽ~‹µRŠd²ˆ ¬ „
Â
Â2Š®
do
Õ Š®ˆ ¬ „/ˆ¶¯Gоƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒ'Þ for while
‡/Šd—™˜+ސ\„ˆ ¬ „N‡'Šº„N¸’–AŽh…†‰Œˆ¶µ$Šd²ˆ¶¯GŠ^­d‰Œ±&„/‹Y‰Œˆ4„/Ž~ˆ\‰ŒŠd‹™ƒ1ˆŽ~ˆ4„'—m„'‹ˆ4ƒ¿Žh‹ºm˜8‰Œ‡“¾ˆ ¬ „NŠd‹A„ˆ ¬ ސˆ
Õ ‰†ƒG˜\„'²s„/\Ž~‘A…†„ ‰†²Žh‹-µ Þ
Î
Õ
º„'ƒ1‰†­d‹ƒ4‰Œ—™˜8…Œ„˜A4Šd­®Žh—mƒ¿²sŠ®­d‰›±&„'‹ˆŽhƒp“ƒ'·
Î
Õ
« ¬ „ˆ4„/\—áL/J X 07g!0V%'< ‚ %3# X \„'²s„/4ƒˆ\ŠŽ.˜\Šd­®\Žh—Áˆ ¬ Ž~ˆo‡'Šd‹ƒ4‰†ƒ1ˆ\ƒ¿Šd²Ž¡—wŽh‰Œ‹™²s–‹A‡3ˆ\‰†Šd‹w‰†‹m¯ ¬ ‰†‡ ¬
G
–©˜ˆ\Šˆ ¬ \„'„˜2Šdƒ4ƒ4‰›‘8…›µw‹A„/ƒ1ˆ\„'º‡/Šd‹ˆ4\Šd…Vƒ1ˆ\Ž~ˆ\„'—m„'‹-ˆ\ƒŽ~˜˜2„BŽ~'· Ž~ˆ\–©Žh…†…›µ&’Šd‹…Œµmˆ ¬ „²s–‹AºAŽh—m„/‹ˆŽh…
ˆ¶µ’˜2„/ƒŽh‹ºŠ®˜I„/Ž~ˆ\‰ŒŠd‹AƒGº‰†ƒ4‡/–Aƒ1ƒ4„'ºR‰†‹³ˆ ¬ „)˜\„'‡/„'º‰†‹­¾ƒ4„'‡3ˆ\‰†Šd‹ƒ°Ž\„Q–ƒ4„/º·
2.4.11 Exercises
¥<d%B%/!/@B,.#-7C7L/9-EV,1#h?e!'%B%'<d%rLJSE",H*I!Q0V%'< ‚ %/# X
< P Œ, 0 P ,[h<d%™,H*I![h<&7C7D<d(GJSE ‚ JCE0 P ,HL
È v O | Å v3@1| v65B|
Exercise 28
0V%'< ‚ /% # X
v3#B|
Z*+#-,.JMLY,H*I!$0V%'< O 7g! X
%'!BL P 7:,MJSE ‚ @3<h5!@3< X 0 P ,4!BL~=
Exercise 29
Î
Õ3Î
Õ
# include < iostraem >
int main ()
{
unsinged int x = +1;
{ std :: cin > > x ; }
for ( int y = 0 u ; y < x ) {
std : cout < < ++ y;
return 0;
}
O !B7g<d(N=šZ*+#-,Q5<®!BL`,H*I!`%'!BL P 7›,MJCE ‚
(JS,H*ª,H*I!Z@3<h5! O !'7D<d(Jg?JS,$#&E5 !6?r07s#&JSEß(*+#-,^,H*I!
unsigned int s = 0;
do {
int i = 1;
if ( i % 2 == 1) s *= i;
} while (++ i < 10);
Î
Õ3Î
Õ
<d%¡!3#@B*™l#&%BJp# O 7g!Q5!3@B7g#&%3#-,MJ1<dE;JSER,H*I!´[h<&7C7D<d(GJSE ‚ 0V%'< ‚ %3# X ‚ JSl’!°JM,HL5!/@B7s#&%/#-,MJCl!
'% ! ‚ J1<dE #&E5qJS,HLLh@3<'02!JCEÚ,H*I!.[~<d% X
7JSE!w?’9d=àq*+#-,QJML³,H*I!Z< P ,Œ0 P $
, <\[Y,H*I!$0V%'< ‚ %/# X
Exercise 30
Î
Õ3Î
Õ
# include < iostream >
int main ()
{
int s = 0;
{
int i = 0;
while ( i < 4)
{
++ i;
int f = i + 1;
s += f;
int s = 3;
i += s;
}
unsigned int t = 2;
std :: cout < < s + t < < "\n ";
}
int k = 1;
return 0;
}
¥ <dEVL3Jp5!'%w,H*I!^0V%'< ‚ %/# X ‚
Um!B,4!'% X JSE!Y,H*I!³l#-7 P !BL<\[ F F#&E5
s
7g<®<'0VF O !M[h<d%'!T,H*I!"@3<dE5&JM,MJ1<dE x JMLe
!'l’#-7 P
JSE0 P ,HL v6#B| È v O | v/@1|
Exercise 31
JSl’!'E O !B7g<d(ß[h<d%;!6#@B* <\[m,H*I!w7:JSL',4!35•JSE0 P ,NE P+X•O !'%rL~=
#-, O ! ‚ JCE€<\[m,H*I! ¿%rL', ¿l!wJM,4!'%3#-,MJ1<dEVL;<\[m,H*I![h<d%r
#-i,4!65©= Z*+#-,³5<h!BL•,H*I!w0V%'< ‚ %/# X < P ,Œ0 P ,[h<d%Z,H*I!'Lh!
v35B|
Î
Õ3Î
Õ
# include < iostream >
int main ()
{
int x ;
std :: cin > > x ;
int s = 0;
for ( int i = 0; i < x ; ++ i ) {
s += i;
x += s / 2;
}
std :: cout < < s < < "\ n";
return 0;
}
Exercise 32
JSE5•#-,7g!3#-L',Ã[~< P %0V%'< O 7g! X L`JSE",H*I!Y@3<h5! ‚ JCl!'E O !B7D<d(N=
Î
Õ6Î
Õ3Î
Õ
NKÉ

"
# include < iostream >
int main ()
{
{ unsigned int x ; }
std :: cin < < x ;
unsigned int y = x;
for ( unsigned int s = 0; y >= 0; - - y)
s += y;
std :: cout < < "s= " < < s < < " \n";
return 0;
}
P X•O !'%rLJSL¿,H*I!Q< P Œ, 0 P ,k<\[G,H*I!K0V%/< ‚ %/# X ‚ CJ l!'E O !B7g<d( )
<d%(*J1@'*`JCE0 P ´
, E 8
( !'7S7+5!B
¿E!35 RjkJML',,H*I<&Lh!GJSE0 P , k< P Œ, 0 P ©
, 0+#&JS%rL#&E5$#&% ‚ P G
! (*9^98< P %7:JSL',JSLN@/< X 0 7g!B,4!h= Î
Õ3Î
Õ3Î
Exercise 33
# include < iostream >
int main ()
{
unsigned int x;
std :: cin > > x ;
int s = 0;
for ( unsigned int y = 1 + x ; y > 0; y -= x )
s += y;
std :: cout < < "s= " < < s < < " \n";
return 0;
}
)!S[h<d% XP 7g#-,4!.,H*I!™@/<~5! O B! 7g<d( ! P JSl’#-7g!'EV,H79YJCEª<d%/5!'%,4<mJ X 0V%'<dl!QJM,HL)%'!3#©5©# O SJ 7›
JM,M9=.Uw!'Lh@'%BJ O !™,H*I!0V%'< ‚ %3# X _tL³< P ,Œ0 P )
, #-Lm#¡[ P E@B,MJ1<dEW<\[JM,HLJSE0 P , =
" Î
Õ3Î
Õ3Î
Õ
n
Exercise 34
unsigned int n;
std :: cin > > n;
int x = 1;
if ( n > 0) {
int k = 0;
bool e = true ;
do {
if (++ k == n ) e = false ;
x *= 2;
} while ( e );
}
std :: cout < < x;
)!S[h<d% XP 7g#-,4!Q,H*I!G0V%'< ‚ /% # X O !'7D<d(! P JCl’#-7D!/EV,H7:9wJSEž<d%/5!'%.,4<¾J X 0V%'<dl!)JM,HL%'!3#©5-
# O JS7:JS,M9"#&E5"! @'J1!/E@'9A=Um!BLh@'%BJ O !YH, *I!0V%/< ‚ %/# X t_ LR< P ,Œ0 P ,#-L#$[ P E@B,MJ1<dEà<\[™JM,HL™JCE0 P , =
x
" Î
Õ3Î
Õ6Î
Õ
Exercise 35
Õ
# include < iostream >
int main ()
{
int x ;
std :: cin > > x ;
int s = 0;
int i = -10;
do
for ( int j = 1;;)
if ( j ++ < i ) s += j - 1; else break ;
while (++ i <= x );
std :: cout < < s < < "\ n";
return 0;
}
Exercise 36
E P+XšO !'% =
n
T%BJM,4!q#;0V%'< ‚ %/# X
fak-1.C
,4<}@/< X 0 P ,4!;,H*I![~#@B,4<d%BJa#-7
n!
<\[•# ‚ JCl!'EàJSE0 P ,
Î
Õ
T%BJM,4!w#¾0V%'< ‚ %/# X
,H*+#-,JSE0 P ,HLm#E#-, P %/#-7E P8X•O !/%
#&E5T< P Œ, 0 P ,HL
Exercise 37
dec2bin.C
n
,H*I! O JSE#&%B9Z5&J ‚ JM,HLw<\[
JSEž%'!'l!'%rL~!<d%/5!'%®= k<d%Y!6?# X 07D!'FV[~<d%
,H*I!< P ,Œ0 P , JML
#&E5
n
n==2
01
[h<d%
,H*I!Y< P ,Œ0 P ,
JML
v4Lh!/!w#-7:Lh<>?A!'%'@/JMLh!'|=
Î
Õ
n==11
1101
T%BJM,4!Q#°0V%'< ‚ %/# X
,H*+#-,ÃJSE0 P ,HL#.E#-, P %/#-7E P+XšO !'% #&E5m< P ,Œ0 P ,HL
Exercise 38
cross_sum.C
,H*I!L P+X <\[Y,H*I!Tv35!/@/J X #-7t|"5&J ‚ JM,HLš<\[ = <d%Z!6?# X 07D!'F[h<d%
,H*I!•< P n,Œ0 P ,QJML
#&E5
n
n==10
1
[h<d%
,H*I!Y< P ,Œ0 P ,GJML =
Î
Õ
n==112
4
T%BJM,4!w#$0V%'< ‚ %/# X
,4<,4!BL',(*I!B,H*I!/%Y# ‚ JSl!/E"E#-, P %3#-7ÃE P+XšO !'%
JML
Exercise 39
n
02!'%H[~!/@B,1=Q]¨E P+XšO !'%
JML™perfect.C
@6#-7S7g!35š˜2„/\²s„/‡/ˆJý[¾#&E5š<dEV79Jý[.JM,¿JML¾! P #-7Ã,4<Y,H*I!`L P8X <\[.
JS,HL
P
= <d%w!6?# X 07D!'F
0V%'<'02!/%³5&JCl®JMLh<d%rL3Fo,H*+#-n,GJM L/F n = k , s.t. k<n ∧ k|n k
28 = 1 + 2 + 4 + 7 + 14
JMLN02!'%H[~!/@B,MF(*JM7g!
JSL`E<&,1=
3+4+6
>o?-,4!'E5¤,H*I!m0V%'12
<‚<
%3# X1 +,42< +¿E
5}#-7S702!/%H[h!/@',$E P+XšO !'%rL O !',M()!3!'E
#&E5
= ¾<d( X #&E29
1
n
02!'%H[~!/@B,E P8X•O !'%rLY!6?&JML',JSEª,H*I!$%/#&E ‚ !
Î
Õ
[1, 50000]
T%BJM,4!$#Q0V%'< ‚ %3# X
,H*+#-,JCE0 P ,HL^#™E#-, P %/#-72E P+X•O !'%
#&E5< P ,Œ0 P ,HL
dec2bin2.C
n
,H*I! O JCE#&%B9ž5&J ‚ JM,HL<\[
JC}
E ,H*I!R
@/<d%B%'!3@B,$<d%/5!/%®= k<d%;!6?©# X 07g!'F[h<d%
,H*I!R
< P ,Œ0 P ,MJ L
n==2
10
#&E5¡[~<d%
,H*I!< P n,Œ0 P , JSL
v4Lh!3!³#-7:Lh<>o?A!/%'@'JML~!
3|=
Exercise 40
n==11
2.4.12 Challenges
1011
P !/!/EVL<dEW#&E
@B*I!BL/L O <h#&%35;L P @'*
b *I! ÈM¸’–„'„'‹ƒ˜\Š®‘A…†„/— JSL$,4<`07g#@3!
n
,H*+#-,wE<ß,M(< P n
!3!'EVLe,H*%'!3#-,4!'E !3#@B*¦<&,H*I!'%®= kn<d% X #-7S79FY,H*JML X n!3#& EVLe
,H*+#-,³,H*I!'%'!JMLZE<
*I<d%BJ -<dEV,1#-7:Fl!'%r,MJp@3#-7F.<d%5&Ja# ‚ <dE#-7(JS,H* X <d%/!m,H*+#&E<dE! P !/!'E JCEªJM,1=TT%BJS,4!#™0V%'< ‚ %/# X
,H*+#-,¡< P ,Œ0 P ,HL$,H*I!¾E P+X•O !'%R<\[m5&J^!'%/!'EV,Lh<&7 P ,MJ1<dEVL`,4<;,H*I!  P !/!/EVL.0V%'< O 7g! X [~<d%Y# ‚ JCl!'E
JSE0 P , =¡]L'L P+X JCE ‚ # ’z O JS,NL/9’L/,4! X F,H*I!Q0V%'< ‚ %/# X L/*I< P n7s5(<d% P 0ª,4<
#-,N7D!6#-L',1=
n
n=9
Exercise 41
NKÉ

¥ *I!/@,H*%/< P ‚ *"#R(! O Lh!3#&%'@'*Z(*I!',H*I!'%w,H*I!™E P+XšO !'%rL¾,H*+#-,98< P %Q0V%'< ‚ %/# X
G
@/<d%B%/!/@B,1=
@/< X 0 P ,4!BLw#&%'!