Chapter 2
Foundations
2.1 A first C++ program
!#"%$'&)('*,+.-0/1/32546/879-:!#"<;=&3>?*A@CB#2D&)-E*F/8>G/H4I7J"K&)2L*E-EM=*E(<-:!#".;N&3>?*O@CB#P
2D&)-E*F/8>/H4RQR/87KS)(6TRUD4VMW/8BX+Y&3>+'/8>C-E7J/32-:!#"V;Z"K&3>?*[>#\]/H4^Q_/87'S)(K`aM5/8B
+K&3>b+'/8>C-E7J/32-:!#"^@?"K/J@c2d"IQ!#/e;eBf(J-Bf(g"I-:!#"hQ_/87'S)(6T
i !*E2L*[email protected]*F+Jng`oh/8Qp-0/%qB5*E2DSZ&sr>?*ut"'7v(g"=!f&)l9/g"('>xw -y&)2u2xz@f&37v-IQR/%l.&3M{(}|&)-0"J7~'53
!*E(I(g"'+-E*,/8>@C7J"(g"J>C-:(e&7v(J-+'/8;@c2d"-0"=_Ip@C7J/'\17'&3; &3>S*u>C-E7'/gS3Bx+K"(9-:!#"
F{6'H6 &3>S 0J96{HJg -0"J7;%(}>"'+K"(J(6&37M=-0/eB5>S"J7v(J-F&3>S&)2[2x*E-:(@#&37v-:(6T
' Hh8 HF9¡¢R¢¤£H8¥16¦X§u<gF¨h©D1.N}ª?'
a gh«£WIg¬80£W0I«0
J¥8)H®£?
¯°K
a8 ¦®§E©°38±WJ²3'²3'I0J'N¡¢R¢³£H8¥1g´ª?'©D1H1µ¶K²3JkH}0108
.¥8){1¨06F3µcFJm«_J8)g_.18©F06W¥8Y·:{1¨¥.Fª?8«g¬N¯°10¬WHW6R
H
1©D8¬=]W6H6xDg¥8Wg¥81¦¸_]Hm1H'Wg¬CµfH¥8{¬]WK¯J¹g010_6«Jµ
H°£H8¥1gºg«0g¬9J8{Hg96{9<£?1Fg{a©D6HHJ8©»H¡¢R¢¼Dg¥8Wg¥81¦¸_JR¯°
WJ²3¥88WHH8¥890W'½.H¶FJ'H8Cµ0W«£H8¥1g¿¾:g¬9'²3JÀ1H'µªW¥8¥8'£H8¥1g.Á
¯°8CÂÃ{1¨9060eg).1H1¦
Ä
Å
Ç
Æ
// Program : power8 .C
// Raise a number to the eighth power .
# include < iostream >
ÈÉ
Ë
Ê
Ì
ÄHÍ
Ä Ä
ÄHÅ
ÄHÆ
ÄFÇ
ÄHÉÈ
int main ()
{
// input
std :: cout < < " Compute a ^8 for a =? ";
int a;
std :: cin > > a;
// computation
int b = a * a ; // b = a ^2
b = b * b;
// b = a ^4
Ä
Ä Ê
ÄHË
ÄHÌ
ÅÍ
// output b * b , i .e . , a ^8
std :: cout < < a < < " ^8 = " < < b * b < < " .\ n";
return 0;
}
Program 1:
@C7J/K\3(,Î@?/8Q_"J76WT:
1X
:c
_
E§ ©x38J8<£WH°£H8¥1g 8%38'8<£5HK6W¬HJ%H%HV
JJ6ªW_ W_£W0g·
¬JJ¬ªNHhJ8<£W«'µ?38 WW¬0WI©D8v¯¥À8HhF6W¬W60¬80£WJ¦£W6«3µ
HRFg¬W6H¬%80£W606YJ¬Hh08.¯¬Wv¯G8e38J8<£W0'°0'H'JC¦
Compute a ^8 for a =?
8gv¯
J{HKgZ{H'¥8'µc1¦ ¥¦µcWF¥ÀH¨3'ª?3
H¬C¦©0'^£H'00¥}µ
HR8F£58e38F'HJJ%0g¬6©D8«
¯J¦
Compute a ^8 for a =? 2
2^8 = 256.
J©D1H_¬0J0F¥VH£H8¥1g
power8.C 9¬'6Eµ3'¥8mv²3'°«8J{H¨«3¦°
J¶F600¥¯«H. ¯°}0DgFW'
6H +'/8;;Z"J>C-:(! H'9¬J.J)aH£H8¥1g FWÀHW6
//
«g%Jg0«9ª?^W¬'0FH{¬ª{%À¾E9g5ÁH6¬WK¦#"C$IJ8{6g *[>+2LB»S"PS3*u7J"K+-E*ut"%
ÀH°g01µ«¬
HJaHW6°H_£W08¥1g 0JH^£W' &g80£W«ª6F
iostream ¦(°
;=&3*[>}4'Bf>+J-E*F/8> ¯}H60 8©'²3K0.¡¢R¢ £H8¥1g¼,£f6W«J*
),+-/.*
¦ °©DWKH8
m6J¬ªZHÀ1£#'6H«W¥eFF0J ¯J®H<£W08¥1g´m,60H'¬ «mJ¬m¯«0X 7'"-EBf7>
(J-F&)-0"J;="J>C- « 0
¦ °I²gg
0 _H'HHJ¬=HHI1£?'60¥À,FH'µc¯W«YNª=J8·
²3J)H8%0«¥856aHW6HR£H8¥16 0'H.W6H'¬ÀFW'JJ00©DO3¦
^9gÀ©DW'08e¬«²«¬W'¬e)H00J^£5600J(
¦ 1»«HFµJ +
0WR£W{ª?K
}Hg¬C2
¦ "C 80£W0I].J00g¥8.H=HÀ0'h05
0Jm'I¯X¨¬k8©«£W}H
£H8¥1g³ £#J'HJ¦§EN« .< t{&37*,&$v2 "
a ¬J'D6HJ¬HW6g'HgI£WDg'J8¬'H.,H1H
Hh«£WR}ª?'
¦ ¨3'¯°1H¬
«W¬J6HJ_HW6
µ» WWg«3µ
int
a 6{0J¥8'¦h§E
H_²160D6ªW
a H'JJ«²3J«H²16^©H8 HR£5¦
J«ZJ 3 + 54 H<g'056'8<£5
H86¨3JR£WDgJ1¦I§E«W
$µ»À'¯
²g6HD
ª5«
¬JJ6HJ¬¯ g'0}g}£WDgJ'W8«¬WKVH]FH10hH<HJ0«8©°0W.'8<£5
H8C6
¦
b
54
²g6HD6ªW
¦ "C
'8<£5H'H£H{¬W'
b ¶«WOHDg8 7JJ¬I0VH£H¬' a * a 9
b * b µ{HW6
Jµ 4 6W¬eFH1HJ°H°HJ0«g¥36e
¦
a
b
RH«H¬e£560%«J + £H
²¬J°H^£H8¥1gº80£W;
¦ :
08©x««HRJ8<£W·
6088©»HR£H{¬W'
µHW6Jµ 8 ¦
b * b
a
2.1.1 Syntax and semantics.
E§ %1H¬'HW¬'0Fg¬eH_£H8¥1g
power8.C ¬'guµg¬%.1H<£#10g)H«3µ3H¯H«H
£H8¥1g.^3800J©°D60'µ38XJ'¬XH¨v¯½H<HJ}6JJ1H¬¥H¯£H8¥1g.m
H
& < 8©c¡¢R¢}¦ 8^©DFH'JJ¬0¨v¯ Wv¯ H)H'0£HK
¯0«0HJC
¦ JFHJ»©D1HH ('M)>C-F=
m£W08¥1g 5
¾ >,¯W6¬'H_£W08¥1gº¬W@
?A)ÁKµg¬e0W«¬'H'0.J¬Àª{0W (g"J;N&3>C-E*F+( 8©
¡¢^¢m(
¦ B²3JÀR£H8¥1Hg HW6¶¯°'O·:©D10.J¬<g'J1H¬¥VHV0W¡¢R¢ ,{H,
.9J}ª? *[>?t&)2L*,S
{
t
)
&
A
2
*
S
©H8 X0J96{HJg£?8)e8©V²'¯V¦C
£H8¥1g À8WNHW6%«F{6'H6« &3>S
0J96{HJg«hJ10HJK¦
§u HHg.R¯«He5
HgcDg¥8Wg¥81¹a¥16.96HJ«38¯W60J{0JJJ_6HgµfªWH
)H'0£H'H6H8 8©0'{HJJX¾E £f
0HJD
µ¯'H'À«À96¨3J90'WFZ6g« ÁIHD {WOHJÀ
J8J'£8©.g¥¦
E
W'}£H8¥1Hg °{²gg¬Cµ)H^J8<£W«'9J980£W6%'0H1.J00g¥81µg¬0W«°¯
& <e"J77J/87v( µ)²8D6H«8W»8©W0WF{gKHg
¬' W«HJ«VW6££?JI¯JIH£H8¥1gp'8{g«W (KM{>C-F=
/.
HJ'¦6 £H8¥1g HW6^0J9g)H6«)²16¬9JNJ8<£Wm¯OH8^'001HJµxªWV¯°.
H
16v¯°J¬=H96¨3Ig{Zg00<£H8_6ª#8R«0Rª?'5J²1 H}£H8¥1g +'/8Bf2 S H 51µ
©D1%' g<£W©^H=0'9g{H«g'001e JFH«8 Wg±'8WFDJJJe8G®£56FHJD6
£WD6H©D10¦¸X1H'm£WD
H©D1H.JµcH<£W08¥1g´9JZª#JW²3.,0g¥8J«3µ1}Kg0C¦ B²3Jk8
HHg.m£WD6H©D1Hµ?O^.«¥8{¯°10¨N08.'0.JJµfªW^© g6R1H'RH.JJ¦ E IHJNHW6_H
£H8¥1gÂÃ#ª?JWJ²1» Bf>S"E>"YS ¦ ¡6HO3µ68¶FW8¬VJ²38¬V¯0«H¥£H8¥1g.?HW6» «ªW«
¬WK 5J¬ª?JWJ²1¦
F{5
}8©¡¢R¢ ,£?JJ« WJ¬}©D1H96«R96HJ9
HggDg¥8Wg¥81¦ °a¬J0'0«£H8
8©?H_0J9g)HJJ0,0H' «a
H'HJ0'ªWJa0W0 °8©cDJ¯µg¬e60Y«0 'H
©H8³8.008g¬%£?80F«ªW_.0)H'0£H'H6H8J¦ ^
<JD6»DJ¯ 8©¡¢R¢ Jv²3'H«W¥Iª?1H
8 ¦
F{,
eg¬%FJ9g{0JJµ«H^§
¸ &1§ B¡ Fg¬W6H¬
$ 8 }©H8
E
W«0m©D1H9gf,£?JJ« W
H89°¬F£?JH
ª5«¾E1H'0¯01µ{
¯08¬mJ8<£W'
¨v¯¼¯'0WKR38_£H8¥1g 0 R_gKHWg«%9¡¢R¢ £H8¥1gµ?6W¬]¯W6_O_0££?80J¬
H¬@
?
ÁKµ°«<.1.FWO6ªWÀ©D196H¥ ¡¢^¢m¦ °08W¥88h0W«hª?1¨fµ¯°% £WD6±H
HJ«'²16{F)g'H«gRg¬ 0J96{HJgH'H.9b5
Hg_Dg¥8Wg¥8]g¬bª{b g<£W1¦ 11
H%H
¨3%8©Hg¬W6ªW«« 3µ¯°e¯8©H' 1hF0HKH«X¬W«FH¥80 ª?' ¯°JJF{6'H6g¬
0J96{HJg#H'H.'¹F8.RHKH.6HV.8,°5
Hg«9«{0H{¬W'J¬%gWJ²¥Iª#1H%F{gKHg
g¬%0'9g{H«g?g,£?J'H'µ56W¬e«¬WK£?J¬8eHRJ8{0 ¯%6F£?J'°HJK²1g)¦
Unspecified and implementation defined behavior. 8.'H.J'µ5'²3'Z²16¬£H8¥1g.ª#JW²3
¬ KHJ{0«<89¬ KHJ{£WD
H©D1H. Ha88©?H.1HW¥8O.gF£#J'H8©a¡¢R¢HW6¶¯°1 ¬
£HJ©D'¶HVF¯°''£ÀW¬'HH¥¦
©D10HW6H'«3µ1¯°6c a¥81H°H00'8<£5«'HJ«3µ8FJ
«'g08Wg««<£?1£W£% >,HJgC©DDA¦
*u;@c2d"JP
'0m6HR ¯°¨¬8©»£56H©D1Hh·E¬WK£?J¬J{°ª?JWJ²«1¦;°VJ'8Vg«J¬
;Z"'>C-F&)-E*F/8>bS"E>"YS ª?JWJ²«1¦
E
W'WK²3'%HZ¡¢R¢ ,g¬W6H¬bJg908.=gF£?''e8©^H=D6W¥8Wg¥8 >F<£W'.J{
H8
¬' WJ¬ Aµ)38.6. £?''a38¶£WD60©D1H 0VJ8)g<¬{J.J{
H8}HW6¶©DOI,£?JJ« WJH
gF£#J'
¦ ° £WJg 6<£5«a©D1¶FW.6<gI<£WJ.J)6H8^¬' WW'¬<gF£#J'H{ª?K
8©?ªW«H05
96¨3£V.J.1FI'JEµ{0J
J'08
¦ ¦ 3 ¦ §E9608©?<£WJ.J)6H«8¬' WJ¬
gF£#J'H¶g¬hHJ0«0¥Rª?'5J²1µ8H¡¢^¢GF6W¬W60¬<g¬<H°£56H©D1HpH8¥8'0WKaJ8<£W'0J«
¬'H'0.Hg'056#ª?JWJ²1¦
B5>C(,@?"'+'* "KSp$'"!f&3t1*,/87 µR'8.¥X©H8 08.ZF£?'J« WJ¬
«J0e'=¨«W¬G«eg«J¬
gF£#J'8©0W.g¥856¥81¦
'H.38kJg 0J«®8X¯°'O·:¬' WJ¬ g¬ WF56« (K;=&)2u2 0'8©
£?80F«ªW_F£?JJO 5J6H8JµªW°HR£WD
H©D1H °10D «H'¬HIJ8{6%m©DCF£?J'« W6H8À8©
H}gF£#J'
¦ ¼ £W6 6<£5«V©D1R0ZgNF£?JJO 5'¬Zg,£?J'_0WmK²1g«5
H81H¬'R8©
1£?'Hg¬W°¯OHe6e £W0J008Cµ0J
J'H«8 ¦ ¦ ¦
§Eh¯0«H¥£H8¥1g.JµgWF£#JJ« WJ¬.6F£?J'06W1g«¯Jª?J²38¬J¬Cµ3ª50Wg«3µ8F8.
60^J0H'HW6hF£?JJO 5'¬e1K²3JW¬' WJ¬Àª?JWJ²1HJ0«0J¦
2.1.2 Comments and layout
B²3'0¥8¬À£H8¥1g
J8)gJ8..J{0Jµ©D1
g<£W
1X
:c
_
// Program : power8 .C
// Raise a number to the eighth power .
J 8..J)F6FH¯«H} ¯°^FDg0J
// g¬h'8{H{J W)HH°J¬<8©WH«1¦ ¡8..J{H
¬<1£Hv²«¬W^g)e©D'H8Wg«« 3µ.g¥mHW6H^£H8¥1g ¯°8¬%¬I
gKH«9HVH6.
¯OH8HJ¦ E {I£H8¥1gº¯«H8J8..J{0ª5g¬Cµ50W' ? E m¬ >/3- 8«À¯H«0
£H8¥1g. ©D1HJ8<£WKHV06WFD6HHJ {H^ 'J6ªWJJµ3ªW¶¯°60^¯H«HHJ ©D1
1H'£?J1£W}¾EJ«W¬¥}8H0JO²3JÁaHIHJg¬CµW.{¬©3µJ1FHJ'1 HJ¬eHJ¦
E
«H8J8..J)HJµCH<D6FH'RgF¨Vª?JJ8.²3'00J¬8^¯J0WI£W08¥1g «1
J8<£W'0J«N0H«²DgE¦ »HF}J0
¹ B ²3J 38 ¯1mª?96ªWhH]¬'HF6W¬38
¯£W0g·
¥1g.g©0'}J8£W_8©x¯°J'¨Jµ¯«0W8°J8..'{HJ
¦ °'H^°W (J-F&3>S&37'S ¯À8©x¯H«H«W¥
J8..J)HJµ3ªW¯°¯f©D8«
¯b08.J8..8·E0J0¥8¬J«W'J¦¸__8©CHJ aHW6°'²3K0
£H8¥1g sK²3JX«©«}«}²3K0kF<£W s08¬FH60}¯«0X8À1I.10.J}8©'8..J{H
HW6.'{H8IH£W08¥1g Wg.6W¬ÀHJ<¯5
a«¬{JJ¦§E8Jg01µ0W_
ª?
²3 ¯°m«W'
©D«90 hJ1¦
1H'%¨3'b©D6HH8©}
Hg¬W6ªWN£W08¥1g «%«HDJ38 J80¬'%HZ²3KH088©
E
=WJ²3HJ.v²3J¬ J8..J{0Jµg¬bg«
>FWJ'J0H6F A
power8.C FWv¯s : H8¥1Hg ¦
DJ38JJ.J)H°«¨3RF£5gJJ'µW«_ªHJ6¨JµªWDg¨9«W'Jµg¬%¬J{H6H8J¦
Å
Ä
Ç
Æ
# include < iostream >
int main (){ std :: cout < <" Compute a ^8 for a =? ";
int a; std :: cin > >a ; int b= a*a; b=b *b; std :: cout < <
a < <" ^8 = " <<b *b < <" .\ n"; return 0;}
@C7J/'\3( Î@?/8Q_"J76 +'/8>S"J>C(g"YST
Program 2:
J8<£W'_J8<£W'H'«%¥816{_6ª#80W'0IWg¥8JJµ?ªW^.£#'H08NHg¬¥.H
£H8¥1g ¯ W¬90W«J8¬W'WFJ¬À²3KH086«H¬W <J«a0mW¬'H,g¬C¦ °£WF£?808©c
¥8{¬]DJ38H.²F567JRH£W08¥1g FFH'HH1¦°W«©D1_
g<£WV.gHW6_«8¥8g
ªWH¨8©C0W£H8¥1Hg½08¬.ª?0'£56H6HJ¬9ª.ªWDg¨hJJµ{1HW688©C08HJ'J¬
08¬.ª?H'F£?80«ªW©D1°8«I8H¥¦ UH>S"J>C-F&)-E*F/8> µ««¨3
power8.C Wg«¶ª#' ¯°JJ9H
£5g«}8©JH«ª6JJJµg1H'}¬F£?'W06ªWh¥1H'¬W«J{}8©¥8{¬ 38µgOH8W¥838
¯«#8«ÀD6HKª#V6ªWHI©D«À6££HJJ6H_HJ¦
£WJg«3µJ8«D6ª?1
H«²3<08© ¯609£H J'0WJ²3ÀDJ38}¥8¬J«JJµ 96¨«W¥e0HÀ05
'²3'Fª?{¬ H£H ''ÀgbJg0«kHg¬ K²3'0ª#¬ J0g ÀJ¬1¦ 9H]'²3J_8©_H
0<£WI£W08¥1g.m¬0J0FJ¬± Hmª?1¨fµ¶0±©D1H9g¥8¬J«Jm6HÀ1W'JJ0H
0 ¯°
0<£W«mg¬WKHH^Fg¬W6H¬.¥8¬J«W' 05
¶WJ²3£Hv²3J.HV¯°10¨¯°JI£WHg'H'1µ6W¬<05
6H_ª?J«W¥0J¬eg.8F6{À1H'ª?1¨98]¡¢R¢ 6¯°Ju¦
2.1.3 Include directives
B²3'0WFJ©D»£H8¥1g
J8)g°8^1.1H
# include < iostream >
include
S3*[7J"'+J-E*ut"( µ50]g
0Wg««3µHJ0%
£W£#6h6}H²3'0 ª?J¥8«W¥]8©0WÀ£H8¥1g¦ #include ¬«0J'H«²3'h60
JJ¬J¬FJ1µ?¡¢R¢}µC9g)<£?1Fg{©D6HH'^
H}W1_£560_8©H}J1H}Dg¥8Wg¥81¦^§E·
FHJg¬CµH'X6HÀ<£WJ.'{HJ¬® HFg·:g«J¬ ('-F&3>S&37'S2L*,$7K&37M ¯k}£560I8©'²3K0
¡¢^¢ <£WJ.'{608C
¦ 2L*,$7K&37M N8¥8«ga«0J¬kH=¥1H8£±JK0gk©DW'08Wg«
g¬0}£Hv²«¬W_«0}0W_0'0JJ'©D1H¦§EÀ© g'µHFHg¬5
H¬eOªWH60<'8WFFH°8©
0'²3Kgc«ª6H«J8V8©»¯e°H^«£W' &g80£W°«ª6F3¦
«ª60I£HJ0J)H«H©D'H8WgO IHmH_WF'«ÀH_©D1H
8©c8W_10'²3Kg !#"K&S"J7v( ¦
Bg=0Z6¬WK_J8{6©D1H96H«8eHW6W'J¬J¬=ª{%HmJ8<£W'J¦§EN1H¬'H90
eJK0g®©D
HH.©H8 eOªWH603µx8.WgH«W'¬WH.J10H'F£?8¬¥WJg¬'m)H%H
£H8¥1g ª®.g8©g
#include ¬«0J'H«²3g¦=§E power8.C µ¯°.¯g{mH]0.£W}g¬
80£W¯.6HR¾E9Jª?°00£H«0¥8«Áx1£5608©fHJ1Hg¥856¥81*
¦ °WJ100JF£?8¬¥
g¬'8©xHRFg¬W6H¬«ª609«JgJ¬
iostream ¦
X¯°J«O·:¬J0«¥8W'¬m¡¢^¢
«ª60£WH»«Hc©DW'08Wg« _)H >&3;Z"(,@f&+'" ¦ °¶Wg.JF£5g'
8©CHFg¬W6H¬9«ª
0<¶g'¬
¦ JCµ91H¬'0I6JJJ0V©D
HH_©H8½H«ª6F3µ
std 9
c
B
)
&
A
2
Ã
*
'
4
M
¯°aWJ²3aH
«HWg.¯«0HaWg.JF£5gJgµ1«¨3
std::cin ¾[Hx0W¶©D6HHaHW6
g«
¯cCHHJg¬£W»©08 H ¨3'ª?3
H¬5ÁK*
¦ °W«».JWg0GJO£5CHJ²38¬ >&3;Z"^+2 &)('!#"(
N¯Z¬ 'HJ)^©DJ6HHJVgJJ¬J)gO%¥8'RHI0g.mWg.1¦_HIH6.}0.1µ#
£WJ«
Wg«« W6H8'H60JHHg¬W6ªW«« 8©h£H8¥16µfgO..'¬W6HJ«.6££f
HJ{©H8
¯]«ª
0<¥8«²3'=©D
HH}J8.JJ¦pWg.V05
_1WgO 5'¬N«g«J¬ Bf> Bc&)2A*Ã"KS
g¬%0WgO.J10H'F£?8¬Hh©D
HH^¬' WJ¬%«%8v¯£W08¥1g¦
2.1.4 The main function
B²3'0¡¢^¢G£W08¥1g
FaWJ²3_
main ©DWKH8C¦0100JFa£H8¥16
H6¬Waga©D8v¯'¦
int main () { return 0; }
°W
main ©DWKH8JgJ¬ª%H1£#'6H«W¥IF,HJ¿¯W'
38s0J«.HH H]£H8¥1Hg
ªWÀ¯{ .OÀ 4KBf>+-E*,/8> µg¬ ¯W6. >
return 0;A
0££?80J¬GHk.g ?
6W,%Ǭ3Zk96HJ9
Hg©DWKH8CµH
main ©D'H8GJg5J²3
6H¥8.J)H.¥8«²3J H «9£?8b JJH8s8©^H£H8¥1gµg¬s0W]J8<£W608I¯OH
HJHOhªgJ'aJ«¬W¶V©D'H8.²ggHW6¶a¥8«²3J.ª5gH¨¾E1¶H'HHJ¬5ÁH0W1£?'60¥
FFHJ¦§E8 g0gµ1¯°WJ²3a¯0«0HJ
main ©D'H«8}05
¬J1 £?J'g)6H¥8.J)H
¾uH¬6H'¬ªH^'<£W 9ªgH¨3'H
() ª?J¬ main Ág¬e¯80RH'HH%²gg^0W
)HJ¥8' 0 ¦ °W© g'HW6 HHKHHh²ggF ª?g<)HJ¥8'¬W«6HJ¬}ªH°¯°1H¬ int
ª?J©D10
main ¦ J8{²3'{H8Cµ return 0 0JH1£?'
H¥hFFHJ 05
HV£H8¥16¿Wg
H0JJ'00©D«=¾E105
¯°^¬W8CÂ
HV¯'0WK«WgÁKµ¯«^6{1H'²ggV' £WJOH«
0¥8Wg«© 6H1¦
§E%mF00'°96HJ9
Hg0'WF1µH
¦
main ©D'H«88© power8.C «00'H«<ª#1H¥
"
m
K
"
+
¯8_©D'H8Wg«« .8©xH_£W08¥1gºJ8.J©H8º0W
8©xH^©D'H«8c¦ °W« J'
HÀHg¬®9}ª?'^©H8 HFg¬W6H¬Z£5Vg¬Z¯0«H}«HRJ¥8)HZ£?v¯°'V0Hh,g¬W6H¬
80£W(
¦ °^© 6'HW6©D'H8g%WJ²3V J'H0'H¡¢R¢p6£560©H8³96{ 4'B5>+-E*F/8>&)2
@C7J/'\17'&3;e;*u>#\]2D&3>#\8B»&8\"( ¦
°W«£H8¥1g³¬J1H¥¦
1X
:c
_
3
2.1.5 Values and effects
°W²16¶g¬
J'x8©°©DW'08m6H¬'H'0.J¬^ª{^H¶¡¢R¢0J9g)HJJ¦e'H'«_¨
¯¥
H%F{6'H6HJ.8©¯H«H«W¥=©DWKH8<¬J.1<0J9g)H¥
ª?8h²ggJ.g¬
J'HJ¦¶§EeH°0J0gµW²gg^g¬% ''60R£WHJ«À0'9g{H«gfHKH.J¦
11}
g<£Wgµ»¯°.WJ²3<H ng>/8Q HW6VX¡¢R¢}µH.W6gKH'
0 )H'0£HKHJ¬ gH
)HJ¥8'
¾:gOH8W¥8IH¶1a¬ <'WOHV¥8W'0ÁK¦§u¶g0^<£?10Hg{ H¬'HFHg¬<HW6
0
²ggV6W¬e JK¬'£?J¬%8H^J8'0'H^£H8¥1Hg F6HRÀ¯HR©DWKH8%°6J¬C¦
2.1.6 Types and functionality
°W°¯°1H¬
int « 0WWg.8©?R¡¢R¢b £?1¦9° {£?«0'¬.0J°H£H8¥16 power8.C
¬g¯«H®)HJ¥8'H'¦§E 96HJ96H«JJµx«{HJ¥8KH}6H9.¬J«J¬ªH<H¥
( , +, ) ¦°
¥8KªWHg<FFH'HHÀ¬WK 5JmHÀ{0J¥8'H}®H'H.m8©HJ«m²gg.g¥8]¾uH90'
g
ÁYµ¶g¬
Z0'H._8©¶HJ«R©D'H8Wg«« ¾:g¬¬«H8=g¬«H«£WJ6H85ÁK¦^§E®¡¢^¢mµx)HJ¥8'0Vg=ª?
>&3;=" µ t&)2LBx"
.¬J«J¬ª{I0W° £?
int ¦ "C«¨3 >F9
HJ96HJg8 {£?D Aµ{V¡¢R¢G £#Wg
7'&3>#\" µ g¬ 4KBf>+-E*,/8>&)2A*u-EM µx¬WK 5¥À¯W6V¯°hg®¬e¯«0«¦ E J ¯°HJ©D'm0]À £?gµ
¯°_¯f¬W0ª«H°Wg.1¦1HHW6°HRWg.},{Hg'HJgcgF£?JK8©cHR {£?1µ¯
²ggRHg¥8Vg¬%©D'H«856« .60^8©FJ9g{0g#W6001¦
¡°8)²3JJ)H«3µ8¡¢R¢ J8)g»{W}ª?'»8© 4'B5>S&3;Z"J>C-F&)2-EMv@?"( ¾E08.'H«.J?g«J¬VªW«F·
¦ °^9 1¬ 'HJJH
À {£?JÁa©D1 £Wg#6££5«6H«8W'*
¦ _ £?
int °8_8©»HJ
H >F96HJ96H«g {£?D A
°HW6
56m WWOH²1g«W_g¥8R8«3¦
( , +, )
int
2.1.7 Literals
«0'g)H'£HJ0'{HJ8Fg)²1g«W8©W08.a
£#1¦11
g<£Wgµ1 8©WHa£H8¥16
power8.C µ 0 ROH'g8©W £? int µ3H'£H'0J{0¥^H°²1g«W 0 ¦11¶Jg.©DW¬Wg.J)g {£?1µ
«}}0K£f
6HJO¬' WW'¬k
¯ OH}«H'HgV«1¨O¨31µ¶6W¬®¯W6m0W'«}²1g«W'I
H1¦ «0'g
g9ª?0'J%ga0W_F{6'H6fJ8{0'0£560°8©cV²gg1¹ «96¨3'aH²1g«W6
>,²0«ªW A.H
£H8¥1g¦
2.1.8 Variables
°WR
int a;
S"K+2 &37K&)-E*F/8> 8© t&37*,&$v2 " ¦# ²160D6ªW_H'£HJ0'{H1JJ'0H6H««e'8W,g{²16V8©
08.R {£?1¦V²g6H6ªWVWg >&3;Z" µf -EMv@?" µ? t&)2AB»" µ#6W¬Ng &SS37'"(J( ¾[ {£WgO9%H
J8<£WH'ÂÃ9g.'.10 38kJg 0W«¨8©H9g¬¬HJFI0«<£5Og0W.£?8F«H88©°H
²g6HD6ªWIH<9g«.J.10ÁK
¦ h£W0£?8F<8©H.g¬¬HJ0mRH%¨v¯ ¯WKHhHF01H
g¬%{1¨9£%HR²gg19
¦ °^H608%©D1g«W¥}0geJ{HO t&37*,&$2d" °HW6«H²gg
gª?hYWg¥8J¬ª{.¬©¥À0Wh.J.10]J8)HJ{m6VH<'10HJF£#8W¬¥6¬W¬H'0J¦ °
g¬¬HJ0«H0'©»9J9Wg¥8V6¯°J«E¦§E%J8{FgFµ0W^Wg._g¬e £?_HJ96À J¬C¦
=$
W' ¯°HJ©D'<0=²g6HD6ªWgµ¯°e¯°¬0Zª{±«HIWg.1¦
S"E>"( m²1
HD6ªW¯OHÀ0W^©D8v¯¥mW6gKH'H,HJJ¦
E
Wg.
{£?
a
int
²gg
¬' WJ¬
°%¬JJD6H6H8
int a;
6¬W¬H'0
W8FJ%ªJ8<£W' 8
& ¸ <.¥8{ ¯°8¬'¯{H¶JgJ¬h S"E>?*u-E*F/8> 8© µ{'²3'90W8¥8<O¶¬'¶1¶¬' W
8
a
HI²ggI8© ¦ ^HJ605
^H_²ggh¬'£?'W¬80W£H8¥1g F601µg¬HW6RH
a
¬' W«H8©D«ZF£?J'« WJ !#/8Q H<²16.m1ªgJ¬C¹1¨Z«}£±6
a ÂÃg¬¬0J0J¦ J¥
f
!
)
&
(
HW6²160D6ªW
²1g«W° H'H'©D1HF8.'¯W6 <£H'J01µ1ªW ¯°1Â «FHH¨}HR«µ W,¶O¨3
96HJ9
HJD6WHgǬ.
ª?8 4'B5>+-E*F/8>®t&)2LBx" ¯JÀ0WK9g'HWg««h.Jg.H²1g«W1ª6J¬
ª%'²16W6H¥hH©D'H«8]¯«HJ8'0'H6H¥8.J)HJ¦ E m'²3J=¥8.8mFH'£=©D0H'¯OH
801££WJ0'¹a©
> A
a Wg²gg 2 µf©D1 g<£W1µ¯°mg«0<HJe05
a 2 ¦ °«HV¯J
HW6£H8¥1Hg..'HR0Wg«Ng«¨6ª?8²g6HD
ª5«Jg¬®HJ«²ggJ'¦ E <¯«¥8KmH%¨v¯
.JWg0.a©D1g00«¥8W«W¥g¬%Wg¥8¥}²1g«W'8©x²g6H6ªWJ° ''H8 ¦ ¦ 3 ¦
2.1.9 Identifiers and names
°WIWg.}8©ag)=²g6HD
ª5«F_ª?Ig
g¬%«F°ª?^¬ 'HJ)©08³JK0g
zR>
,* S"J>C-E*Ã"J7 µ»gJJ1H¬¥ÀHH©D8v¯¥9¬' W«H8Cµ
7J"(g"'7t"KS Wg.J°O¨3
¦
*E(k&3>?MG(6" B»"J>+'"
int
/H4±+!f&37'&+J-0"J7v(+'/8;I@#/3(g"KS
/H4-:!#"
2d"-:-0"'7v(
Definition 1
identifier
T8T1T
&3>S
T8TgT `^-:!#"] ®S3*[\8*u-:(
T8T1T `m&3>S-:!#"9B5>S"J7v(g+'/87'"Z~ T±!#"R7v('-+!f&37K&+-0"J7
a z
A Z
0 9
_
!f&)(-0/=$J"À&2 "-:-0"J71T
Bc&)2A*Ã"KS Wg.'
£ H8¥1g 9Xg«0J8)g1H'hWg.JJµ©D1.'
g<£W9H
std::cin g¬ std::cout ¦ °9¡¢^¢ F),
F£?JJO 5'^¯W6Wg.Jµc¯}H.¡¢^¢
0J96{H'°0J°¯W6°HRH'F£?J'0«²3VWg.HJ©DKHHI%}¥8«²3JeJ8{H'
¦
¡¢^¢
2.1.10 Objects
J'a«R£560¶8©#HJ8<£WH'JÂ ¶96h.J.1FmHW6¶«a0J¬.ªIH£H8¥1g HF01H
.²1g«Wg¦ 1ª JK^WgVg6¬W¬H'0Jµ< £#1µg¬Z9²gg8©¶«H_ £?À¾E¬'HKH.J¬]ª]H
.J.10<J8{H'{60WR1ª '' g¬¬HJFÁK¦
«HI0W«¬' W«H«8cµ1_²g6HD
ª5«ghª?°J80«¬WKHJ¬.gWg.J¬1ª J'Jµ)ªW ¯°9J}g«0
WJ²3Wg.J¬]1ª ''HJ¦ «H8¥8%¯°}gCÂÃ_0v¯ gN g<£WV©D1V6=Wg.J¬]1ª JKV
H£?8)µ¯°Rg60¥8W_HW656.J¬e1ª J'H6HR<£?10Hg{¦
§E]© g'µW©38%¯g)Hh¯H«HR)H'HJ,H¥h£H8¥1g.'µ«6ªW08HJO9W'JJ0H
0%Hh¯°1F¨
¯OHe1ª J'H°HW66HRW1Wg.J¬ÀªÀ²160D6ªWJJ¦ °W«6eª?R0JJª9H^©D8v¯¥m0<£W
.1ª
E
H8¥8{'
£?'0.J{J¹0££?80HW638ÀW²3¯H«00JÀ^£H8¥1g 05
FH1H'^0DJJR8©
)HJ¥8'HHhª?^Hg¬©H8 Wh¾u©D1 g<£W1µH<01FHJ¿g©H'0¯
H¬ÁK¦ v¯ 38{1¨%
38¶£H8¥16 g¬.J8)¶H{W}ª?'8©f²g6HD
ª5«J05
a«J8{HgJ¦ JI0W«¶}ª?' 3 ¦
«HJ0 3
²160D6ªWJJµ38eg%F01H^.1HHWg 3 {0J¥8'HJ¦§E©x38£H8¥1g 8©
g)£WHg'HJg01µC«Rg=J'06«FH10I.0 JJh8© 3 9«{HJ¥8KHJµ?ªW0W'ZH'H}W,
ª?^6gF8R{H'¥8'05
JgW1ª?RFH1H'¬%W¬'}²g6H6ªWWg.1¦
1X
:c
_
4
2.1.11 Expressions
§EH£H8¥1Hg
power8.C µ
HHJ¶W66'H'FD JJJxFg¬m8µ6ª#Jg0H'V«1¨R© g.6
¬60V0JF£?80«ªWR©D10W^©DWKH8Wg« .8©»H^£H8¥1g¹ HJ0V6HRHVW6g'0'
g
54 6W¬
¦
0D{JJJ
a * a %«W $Ig¬ b * b J
e'
£HJ0F8eH'£H'0J{0mJ8<£W6H8.«{²38«²¥10WK'
£HJ0F8J¦ e10R£HJ'0J«3µ
g' £HJ0F8RJ«H'V @C7*[;=&37M'" <@C7J"(J('*,/8> µx©D1V g<£W9«HKg1VWg.1µC1^«R
+K/8;I@?/3('*u-0"'" <v@C7J"J(J('*F/8> ¦ ¼J8<£?8F«H_ £H'008N1ª6J¬%ª'8ªW¥ £HJF08
HH8¥8.J'Fg.1£?K6H8Jµ)1aª{h£W0H¥_£5g«a8©#£560J{HJFJ
()
H8W¬96. £HJF08C¦
3
&
7
E
*
:
!
=
;
"
E
F
*
+
£HJ00«8
£HJ00«8cµ{²38«²¥ >?B5;Z"J7*,+ ²g6H6ªWJ g¬
a * a «g
Hh«H«£W«6H8e1£?'601µ F««¨3I¯°¨
¯ «^©H8 9
HJ96H'J¦ JJ1H¬¥ÀH%8
6ª?v²3¬' W«H«8cµ
a * a aRJ8<£?80«0' £HJ0F8Cµ)ªW«©H8 0WI«0«£W6081£?'H6H1
g¬eH_ ¯°I£H96F< £W0J008
a g¬ a ¦
JJ10¬W«W¥H]HÀ6ª?v²39¬WK 5«08Cµ gX'
£HJ0F8kF{gKHg¶J{HO 3µªW«}Wg
0J96{HJg?gF£#J'Hg°¯°JE¹ g)À £HJF08%Wgm {£?1µW²16^8©cH {£?1µg¬À£?800«ªW«
g J'¦ °% £?I J¬Cµª5<0W²1g«W%g¬ 0W J'98«X96HKHDg8 7J.¯JH
£W0J008k¥8'H "Jt&)2LB»&)-0"YS µ¶.g¥%HW6}H9J8<£W6H«8«mH'£HJFJ{HI}600J¬k8¦
B²1g«5
H¥g.'
£HJ0F89¶H.8,a©HD {J{°6'H«²« h¥88¥^89¯¡¢^¢G£W08¥1g
JJHJ¬ Hm'²ggW6H«8%J8<£WHJHV²ggm8©H £HJ00«8Zg¬]6FHJ8OH J'
¾E©xg{ÁK¦
£#mg¬%²16V8© I£H9
09
£H'008]60¬'H'H.«W'¬eª«H¬WK 5¥I«H'HgEµ1ª{
£?%g¬±²1g«W8©H%J)H« Xª#J¬±«HI¬WK 5¥Wg.g¦ : 0960 £W0J008<WJ²3%
J'
¦ {£?1µ²1g«WVg¬% J'8© J8<£?80«0 £HJF08N6H^¬WKH'H.J¬ÀªHV)²38«²3J¬
1£?'H6H8Cµ¬'£?J¬¥8%HR²ggJg¬% ''H8©x0WR)²38«²3J¬%0ª·:' £HJ0F8J#
¦ : FH¥
£56HJ)HJ0J
() 6H8¬Àg' £HJ0F8ÀJ¬6 £HJ00«8À¯«H<HHg. {£?1µ²gg6W¬
J'¦
_
£W0J008
a * a µ©D1 g<£Wgµ8©C £? int µ6W¬À1°W' £?JKHJ¬«3µ«Ha²gg
H} W60I8©H}²gg8© a ¦ °I' £HJ0F8Wg_ J'¦ °' £HJ0F8 b = b * b µ
ªW«©H8 H &)(J(K*[\8>?;="J>C-/J@?"J7'&)-0/87 g¬.H ¯° £H'008
b g¬ b * b µWg¶0WHg.
£?Vg¬%²16g
b * b µWªW«Wgg]6¬W¬«08Wg# J'¹«g00«¥8WHV {W6H8© b ª5gH¨
H
b ¦
E
^HJHW6g £HJ00«8% "'t&)2ABc&)-0"KS H6H'HWg '" <W"K+JB#-0"YS µ5ª?'g09g)9 £H',·
08¬h1WJ²36e J'µW0hHW6°HJO©D'H8Wg«« <g00{JD60J¬e¯OHÀ0WR²16^8«3¦
B²3Je©D1
£W0J008a¯«H9 ''µ08.ª#1¨0HHKH ('*,S"." m"'+- H}J<£W560 7J05
H«<£?10g)H¥VH²gg1
¦ °W¡¢R¢'{H«0JYWHJ,£?80«ªW©D1¶ ''H°6HH
(J-F&)-0"J;="J>C-:( HI¯W«YÀ¯°^¥8Kª?J«
¯V¦
E
°¯g{0RH'960¨HW6 H /8>C2LM ¯J}8©fg'JJ00«W¥Vgh' £HJ0F8CÂ ²16« 0^'²ggW60
«µ6W¬Hg0600J8«H° J'¦ 8eg1¥8'0W_²ggR¯«H8H^ J'J¦
!#"%$&$('"*)#'+,.-0/132+4."*567'*898:)!+; :<=5>"?=8@ "?5A+?B8:#)#DC%;
7
F
!
G
H
<
:
)
D
C
I
E
J+
K.F"??$BL5>"?MON!"?!N8;<:<M"*PQ E 8=N!)PQFCR5>"?PS)98"*$LT8=7$ E '* )#7"*5 =
b
"S7UT8M"*5V"*)BL'??)"?5 I
b
/)
2.1.12 Lvalues and rvalues
9«²gg°6À'
£HJ0F8À05
Wg°gÀg¬¬HJ0J¦§E9H£H8¥1g
power8.C µ0W²g6H6ªW b
g%«²gg1µg¬%«Hg¬¬HJ0°HVg¬¬HJF8©»0W_²g6HD6ªW ¦
b
V²gg^8© g«²gg^«¬' WJ¬]g0W^²1g«W^8©HV1ª
J'
«Hg¬¬HJ0'¦«²16
g9H'H'©D1Hª?²«'¯°J¬ÀgaHF{gKHg5J8{HK0£5608©cgÀ1ª JK¹«¥8«²3'¶H1ª JK°
¾uH'<£?160Á¶Wg.Rg¬e96¨3J«0
>,²«0«ªWD A}¯«0W«I¡¢^¢¼£H8¥1g¦ E gFIHJÀHW6°H
J
7
E
"
6
4
J
"
v
7
(
«²gg
0HR1ª JK6«Hg¬¬HJFJ¦
§EX£5600JD6µg{²g6H6ªW.}g «²gg1¦ }«²16J£H
²¬9.g©D1IgJJ'00¥
g¬Wg¥8¥1ª J'R²16JJµc'²3J¯OH8RWJ²¥À'10HJF£#8W¬¥9²1
HD6ªW1¦ _¯°I¯
0
0Jm« ''H8 ¦ ¦ 3 ª?J«
¯VµWHm £HJ00«8
std::cout << a >F¬¬J A<
g%O²1g«Wg¦
{N
£HJ00«8=HW6R_1^gZ«²gg}RgN0²161¦ 11^' g<£W1µf«H'Hg_6Hm0²ggJ'¹
H'H}Àg¬¬HJ0RgF0J6HJ¬]¯«0]0W
int·:««H'6 0 µ?HJ3¦ : 0H¥Àh£5g«8© £56HJ)HJ0
6H8¬%6%«²ggJ«¬Wg%O²1g«Wgµg¬%0.«D6H«I©D10²16JJ¦
0'H. t&)2LBx" g¬< t&)2LBx" g«HJg¬I«W¬J6HHW6¯°H¨I6ª?8HJ
1aFI
HKH.V8© £HJ00«8W'µª5H6H'«H'H.^8©aHJ«²ggJJ¦ E I¯ 8©H' «¬W'{H©Zg
«²gg¯«0HR1ª J'«°HJ©DKHHµWg¬60²ggR0<£W«<¯«HÀ«H°²1g«Wg¦
2.1.13 Operators
"C
$I8©
power8.C µ©D1
g<£W1µ©DJ6HHJHRªWW609«H«£W«6H8I1£?'
H1 * ¦
/J@?"J7'&3>S)( Á8©F£?'K·
J
7
J
"
E
f
B
7
>
t
)
&
L
2
x
B
"
« WJ¬% £#JJµ#©H8³¯«'8<£5H'
8© h,£?JJ« WJ¬ £#1µ#g'J1H¬¥hH.«0
4'B5>+-E*F/8>&)2L*E-EM ¦§Eg¬¬«H8Cµ{0W'0VJ8<£W608a9J95J²3Vge J'¦
R¯g^0WI0J9g)H6 ²'¯
8HhF{6'H6K²3JEµ»0WI1£?'6W¬Vg^¯°J«¶gRH
J8<£?8F«H
£W0J008¾[ª5O°©H8º0WR1£?'H6H1g¬%«H1£?'Hg¬W'µ0J JKH8 ¦ ¦ ÁKµ
H
£W0J008 HV1£#'6H1F£?'J« WJ©D1g8©xHJº¯'H'«g«²gg_1g%0²gg1¦
§E©fHJ8<£?80OH° £HJF08<g.«²gg1µ8H1£?'
H1¶«H6¬hHRH'HHh0W1ª JKH'©D'0HJ¬
H9ª]H«²161¦m§E©0WJ8<£?8F«Hm £W0J008=^g=0²gg1µ?H1£?'
H1R0<£W«e0'HH
«H²gg1¦
À}ª?'}8©1£#'g¬}}g'¬
H &37*E-EM 8©HÀ1£?'
H1¦ e8,h1£?K6H1H}WJ²3
6HO
1 ¾EW60À1£?'H6H1HÁa1 2 ¾uªWW6F91£?'601HÁK¦
E
W'WK²3'g0²gg° £#J'HJ¬<g¶6I1£?Kg¬Cµ)O g0£?80F«ªWaH_£W0
²¬6I«²gg1¦
§E0W«Jg01µH_«²gg¯«f0<£W«Iª?_{0'0£H'H'¬%ggÀ0²161µ.g¥HW6°«06¬W¬H'0
m8«0'¬kH]1¨£ H.²161µª5 >/3- H=Wg¥89«
¦ °W««¨
¯k6 2Lt&)2LBx"P,-0/3P
7t&)2LBx"+'/8>?t"'7v('*F/8> ¦§E<FH6H¥HW6¶gh1£?Kg¬hF ª?6h0²gg1µ8H1£#'6H1 H'0J©D1H
"cO¨3mI©D'H8Cµfg1£?'
H1
£?J'0_6H¥8.J{0^¾E'0mg0hg'¬
¥8W6g)HJJ<05
.H1£?'g¬CÂ <²gg%H'9gh56W¥8'¬
ª{
£#J'H¥
1£?'H6H1 £W«J«H«<0¥8Wg°«H°)HJ)H89HhWg¥8^H_²161¦
g
«²gg1µH
'Z<J8<£#80«H^
£HJF08N{²38«²¥<gN1£?'H6H1
W
¥8'Hx'²16W6HJ¬Cµ60W¶1£?'g¬
Ha'²ggW6H'¬ W0F¾uH'g3HW6x0W«gF600Jx8»Ha ''H
8©?H_1£?'g¬Jµ{©cg{ÁK¦ g0J¬8ÀHH'0«H¥V²ggJJµ0W1£#'6H1aJ8<£W0J¶H²gg
Evaluation of composite expressions.
E
1X
:c
_
8© HmJ8<£?80«0V
£W0J008C¦mD
0H'_J8<£W6089J%WJ²3g¬¬«H8Wgc ''HJµCg¬
g? J'0H8¥8'H'©D1H HV J'8©xHRJ8<£?80OH
£H'008C¦
À1H¬'®¯XH91£?'Hg¬W}8©J8<£?80«0<
£H'008k6HÀ'²16W6HJ¬ 9¾u¯OH
60^ J'£H8ÁF£?JJO 5'¬cµFJg«0 JKH8 ¦ ¦ ¦
'0J©D1H1µ#«©xH J'8©8V1£#'g¬6WJJJ²ggJ1 J'H8©10WK1£?'6W¬Jµ
²gg}g¬= J'R8©H}J8<£?80OH^' £HJ0F8Z9J%¬'£#J¬=8]Hm'²ggW6H8]1H¬'J
¦ °
J80D {JJ}HW6²gg}g¬] ''R8© 0Wm'8<£?80«H^ £H'008N9Jeª?mF£?J'« WJ¬Ng
¯°Ju¦
JVH'8<£5«'1H «HJ¬Hh00mI¯
H¥h]0]g0J'µ#««HVHJ,£?8·
0«ªW«« h8©cH_£H8¥1Hg..'HhJ²38¬g)9 £HJF08e¯W8F_²gg1 J'¬WK£?J¬8ÀH
'²ggW6H«81H¬'8©x1£?Kg¬J¦
6OHW6F'H1£?'H6H1H
£f
0©H8p©D'H8 ?¸_}Ha8Wg¬Cµ
W
H'HV8«e W«H^ª#'8©£#800«ªW^1£?'601 -0/3n"'>C( 0=6
+ 1 = ¦ %g{e8©HJ0
H1¨3J°¬«HJKH«IJ10HJ,£?8¬H¯°J«O·E¨Wv¯9960W'96H61£?'
H1°F}ª?8¬6H«W¥RH
©D'H8WgO 8©?H1£?'H6H1¦ h¸9H1H'Wg¬Cµg¬9.8FJ8)²3JJ)H«3µ1£#'6H1¶g«
¬9W15J²3mH.1ª?K%Hm0Wg©D'H8]g«x16H«8cµ5«¨3«
f(x, y) ¦ ©H'R6Eµ5¯°¯6{
Hh¯H«H
a * a «£H8¥16µg¬%1 *(a,a) ¦°§E0.96F3µ1£?'H6H1H'W¯HOH^.10
W6HgC6W¬e.1HHg¬W6ªW_J{¬Wg¦
18V¬ '0J{^1£?'
H1Hh¾Eg8©¶HJ
ªWW60Á{JJ
power8.C µ»Wg.J«%0WII«0O·
£W
H8%1£?K6H1 µ5H}g00¥8.J)1£#'6H1 µ#0WV£51£#'6H1
*
=
>> µ#g¬]0Wm80£W
1£?'H6H1
¦ "C'¬0J0HJ eHHC¦
Operator specifics.
E
<<
]WOH«£W
H8®1£?'
H1
*
£?''H. ¯°®F²1g«W1£#'g¬.8©
08. £#
µg¬À«H'HHH£H¬'°8©c«H ¯°1£#'g¬ggÀF²1g«Wg¦ °^«H«£WA·
608e1£?K6H1WgWI ''8%OH°
¯c¦
Multiplication operator.
¶«H
g
HF°1£?Kg¬Cµg¬e6À0²gg8©?H_Hg. {£?_g°«H0'J8¬1£?Kg¬C¦§u600¥8aH²gg
8©aH<0'J8¬X1£?Kg¬H%Hh HF1£?'g¬®g¬H'00W^Hh HFm1£?Kg¬ gmg«²gg1¦
§E%8£W08¥1g
power8.C µ0W^
£H'008 b = b * b H'H'©D1HV0KHH_²16^8© b HI0W
{5
HV8©»«H£H'²«8W°²gg1µWg¬eHJe0'HH ¦
b
§E]© g'µf0WV'0HK6>FA<%0W0'H «²gg^Fg¬©D1H© gKHW6H' £HJ0F8]9
6££?
8mH 2d"u4J- 56W¬mF¬8©gh600¥8.J)x1£?K6H1¦ .D60«3µJH¶H'0 0²gg0¥8Wg
g%'
£HJ0F8eHW69JÀ6££?68«98eH 7*[\3!- 56W¬0¬R8©g%600¥8.J)1£#'6H1J¦
Assignment operator.
gF0¥8.J{1£?'H6H1
=
£?J'Hag9«²168©?08. {£?
Input Operator. §E power8.C µH9J8<£?80OHh
£HJ00«8 std::cin >> a «X«W
(J-F&3>S&37'Se*u>@CBf- µW0Wg««<H^¨3Kª?360¬c¦
H_²160D6ªW
a HH^
²ggR©H8º0W
F'H
$<5>"*$T8!)C;G&"?@ $
N+"?+D "*$BO" R
P 8!PR8N+?)=?%$PQ $ ;H?$B $"* " PR8!PR8N+?)
:=
!UT)# DC
;SN!"%$F$ H"%<N!K"?=5AN!"*$59"*$Q5>"*H: %# $$+I
=
§E9¥8J'gEµ3H«£W1£?'601
>>
£#J'H6a«H HF1£?Kg¬.g.«²ggHJ©D'00¥VHmg
*u>@CBf-^('-E7J"K&3; ¦}0J'8W¬Z1£?'g¬N_g=«²16m8©08. {£?
¦ °I1£#'6H1_F'HH
0J'8W¬e1£?'g¬ÀH0W_
²ggHg¬e©H8 HR«£WF0HJgºg¬H'00WHRF0HJgºg
g%O²1g«Wg¦
<£WF0H6
0'£HJ0J)H¶HF608©508.°£5¬'²«J1¦ E °H¨}8©fH ¬'²Jg
£H¬J¥}mJ8)H8F00g 8©c¬5
VHW6°g9ª?6££?'¬ÀHm£Hv²¬£W°8¬J96W¬C¦
¬'HR£?8)V8©²«'¯µcH<F60<8©aH<F00g´J1FHJF£?8¬VHH<0D {W'W'À8©¬W6H
13'°Hg¬C¦§EeF'0H¥H²gg8©»OH0JJ8¬1£?'g¬CµH_£W1£?'
H1HJ.v²3J8
¬W6VOHJ ©08½HF0H6 HHWJKH© g'HW6Ha«H'½Wga
¯bª?JJ.H6¬c9
¦ 11HJµ
«<£?10Hg{05
HF0HJg '8.J¶6ag<O²1g«Wg¦ ¡°8JK£W056«3µ3g<«£WF0HJg «¶g«0
J80¬'0J¬e£5608©»H_£H8¥1g F
H1¦
v¯ Ik8©°H¬W6H%mHg¬68À«HJµ 6W¬X
¯ g'HO®«}{HK0£H'HJ¬kg
²gg<8© £?
¥8«N¬'£?J¬m8Hh £?
8©H<FJJ8¬X1£#'g¬C¦ 11}
¯Vµ«V
J8¥8N09¨
¯pHW6H{0'0£H'
H8]H6¬W««%¬' WJ¬N©D1R0Wm £#
int g¬=©D1_H
1H'©DW¬Wg.'{g# {£?J°HW6¯°_¯«#JJ8{0'ÀH^©D8«
¯¥}0J'H«8W'¦
§E=¡¢R¢}µ#0WV«²16
std::cin HJ©D'0_0<HV²1
HD6ªW cin ¬' WJ¬]%Hm£W' &g80£W
ǻ
03µg¬eH²g6HD
ª5«R'10HJF£#8W¬°HI0WRF6W¬W60¬%£W°,0Hg¦
§u¶«£<0RH°£H8¥1gÂÃg«' HR W0WF6W¬W60¬h£W F0H6 ¯«H¬5
*
¦ 11 gh·
£W1µ#F££?8F}05
H£W08¥1g¿¯g_FH60HJ¬N©H8 <J8.96W¬FW'E
¦ °W'Z0Wg«3µW¯
H}£W08¥1g HW¥µcg £W_HHJ8.9g¬]0JR©D10¯6H¬J¬Z0H}£W08¥1gÂ
F6W¬W60¬£WF00g¦ §u°°g«0m£?800«ªWHmHJ¬«HJKV£W08¥1g ¶Fg¬W6H¬9£WF0HJg
HHg¬%¬W6H}©08¿m W_FHg¬C¦
© g'cHW6CH£Wc1£?'601c0'HHc0W£W»,0Hgc16JJ¬J)gEµ
gc«»gv¯
Hª5«¬ £HJ00«8W{²38O²¥}568©x£5°1£?K6H8JµFW6
std::cin >> x >> y ¦
E
_¯«?¬0J0°H.J56W«0 e¬'Hg?©D10WR80£W1£#'6H1ª?J«
¯V¦
Output Operator.
§E
power8.C µ_HJ8<£?8F«HN
£HJF08
std::cout << a «
«
(J-F&3>S&37'S/8Bf-«@CB#- µ0WgO.H^J8<£WH'°F'HJJC¦
¯0«HJH_²1g«WR8©
a HIH
§E]¥8J'gEµH80£W1£#'6H1
<< '
£?JKHgOH HF1£?'6W¬NgO²1g«WRHJ©D'FH¥hH
8
/
f
B
«
C
@
#
B
J
(
E
J
7
K
"
3
&
;
g
¦ °FJJ8¬.1£?'6W¬h¶6h0²gg8©f08. {£?
(
¦@1£?'
H1¯H«H'
H_²1g«WR8©»0WR0J'8W¬1£#'g¬0IHR8F£5F00gºg¬eH'00W°HR8F£5F00g³g
g%O²1g«Wg¦
<80£W F0HJg
0'£HJ0J)H0W°FH6H8©f08.80£W¬WK²Jg¦ E °H¨}8©5H ¬'²«J
g^FH1H¥ÀHhJ8)H8RF0H6 8©80£WV¬W6H9HW6^R¥8J'60J¬ªNHI£H8¥16¦h§E
¯0«H¥}HhHV,0HgµH^8F£51£?'601H'0J©D1HmWg¥8JH,0Hg³F601µf6W¬%0W«
96¨3J«JJ'0H600<£W0
²¬VHmF0HJg¤g6NO²1g«Wg¦¡8W''£HWg«3µ5g]80£WF0HJg
g0J80¬'0J¬e£5608©»H_£H8¥1g F
H1¦
§uR¬WK£?J¬8=H £?
¯N©D1H96H}0J'8W¬=1£?'6W¬CÂò1g«Wm«¯H«FHJH
HÀF0H6
©D1IHÀ {£?
int g¬kH10WKh©D¬Wg.J{Hga £?J'µ¶H}©D1H96}Hg¬O
¬' WJ¬C¦
('-F&3>S&37'S "'77J/87 F0HJg
¡¢R¢´¬' WW'eF6W¬W60¬b80£W,0Hg
std::cout 6W¬b
ÀH^£W' &g80£W°«ª603¦
std::cerr
1X
:c
_
u§ £}HH¶£H8¥1gÂÃx6'»H£W0JJFHJ080£WF0HJg.J¦ 11
g<£W1µ60£W£#80
HW6H£H8¥16 ¯gF6FHJ¬<©H8 ^J8.96W¬0Ju¦*J.0Wg««3µ8¯H£H8¥1Hg
H¥µfª?1HNFg¬W6H¬N80£W_F0H6 g¬ZF6W¬W60¬='FH1RF0H6 6H}©D10¯6H¬J¬NH.H
J8.9g¬À0JE¦ «60I£#800«ªW_HhH'¬WOHJ'8W^1ª?10%8©HJ0^F0H6.H¯H«0
H}^ WFH6¬c
¦ °a69ª#0J©DfHm0K£f
6H0J¥8D6a80£W¾EFJ{a0
std::cout Á©H8
'00180£WV¾u0J{H
std::cerr ÁY¦
«W¬J6HJ¬e6ª?v²3^©D1£5F00g.Jµ«°£?800Oª5«RHI80£W0'²3KgC²1g«W'HH8¥8
8^' £HJ0F8Cµ56
std :: cout < < a < < " ^8 = " < < b * b < < " .\ n"
%Jª?}H_{1¨R9ªW«RFFg¥81µCª?Jg0}H'HR.1HmHWgZ8
<< 1£?'H6H1_H1¨3J6W¬
.1H_HWg% ¯°<1£?'Hg¬W ªW960W'96HJ'µ¯°mgFI¯0«H
a + b + c g010HJ©D1
J«0WK
(a + b) + c 1 a + (b + c) ª?J6WFmg¬¬«H8À600'D6H«²3gµ¯°V¬8CÂÃ'²3J]W²3RH
F£?'J©À¯²g6HD6{°¯°^«{HJ¬C¦
§E9¡¢^¢mµ0.010H'0¶60g«0V6v¯°J¬I«h1H¬'HJ²38¬IJ0HKH¥^£IHJ{¬¯OH
£56HJ)HJ0J'¦ ¡¢R¢ 1£?K6H1H60V¥8J'gc1gF0J6H«²31µ0h¯°R5J²3RHI¨Wv¯H
«8¥8gf£560J{HJFJJÂWe1H¬'HIW¬'H,g¬eHR.g¥}8©»HR010HJ¦
2 "E4'-:PY&)(J(g/g+J*,&)-E*[t" µC.g¥hHW60W6ª#
²3m £HJ00«8Z
}1£?'H6H1H
>> 6W¬ << 60
8¥8Jg«I£f
HJ{0W'0 7JJ¬%g©D8«
¯J¦
((( std :: cout < < a ) < < " ^8 = " ) < < b * b ) < < " .\ n"
' g?HW6°HRWKH.8F°
£W0J008
std::cout << a ge«²ggHJ©DK0H¥I0IHRFg·
¬W6H¬=8F£5_FFHg¦
JJ1µ?H_
£HJ00«8Z0'F²3JgR.J¥36x HFR1£?'6W¬N©D1RH
8H'J8<£?80«0R' £HJ0F8
(std::cout << a) << "^8 = " 6W¬F<8C¦ V©D«» £HJ,·
08H'0J©D1H980£W0VH<²16Jm8© &)2u2 £HJF08}JJ00¥g©H'08.
<< µ ©H8 J©
H%H«¥8{6
¦ °WIH¥8{0.8FV8©a0W'0. £H'008J¬¯OH
¯JJ¬JeIªHJ6¨
\n
¾E'¯vÁK¦
2.1.14 Statements
.¡¢R¢ £H8¥16µ56W¬]«£?800Oª5OeWg6N J'J¦
°W
J '¬'£#J¬Wc8^0W £H8¥1gFH6Hg¬96HKHDg87JJ5¯JVHF6H'.J{C "'<"'+JBf-0"KS ¦
¼FH6HJ.J)Iª5g0^ª5«¬W«W¥}ªWH¨e8©
S/1"( 0 8.'H¥¦ sF60J.J{0Wg«IJ¬
¯OHFJ.J88Zg¬H'£HJFJ{H} >FFH'£ A%8©aH£W08¥1g¦ {
HJ.J)H60h
JJHJ¬
H1£·E0g·Eª?1008¿1H¬'¦°FW1FHJF£?8F0«ªWFH6HJ.J)0W >?Bf2u2¶('-F&)-0"J;Z"J>C- J80,H¥
8«%8© Hm0J.«J88 «Wg9 J'¦V§EZh £WJgx£H8¥1gµ5.8F,6HJ.'{H'²ggW60
8^10'²3Kgx'
£HJ0F8J¦
F6H'.J{«R1H'F0HKHJ¬=0À8}m8©08HJJ'¬ 8=H}J8{F603µ#HJg¬W6ªW«
8©HJH «HJRHeªH
¨£®F60J.J{0^)HeF'²3'g¶JR8©J¬1
¦ °<J8<£W'R¥81H'
HJ0°«WaªHJ6¨Jµ)g 8¥_g¯°°¬_W1£W HJ 6 HgF85
ª5«a£5gJJO¨30W°.¬¬
8©}Wg.1¦
§E
µH'H
HR00JR¨¬8©,6HJ.'{HJ¦
¶¯«H<'
£HJ0F8Jµ{¯°0IHW6^F6H'.J{
power8.C
3 .
g¬Hg
£HJ00«8
F
HJ.J)¦®§u'²16W6HJ}H'
£HJ0F8kªWh¬'I196¨390e8©«Hm²161¦2
©HD{J{©D1H³8©xF6H'.J{H'µg¬%809g«#£W08¥1gµ{0WRF
HJ.J)
Expression statement.
££?J¬¥N0J.J8«8XH6
£HJF08
b = b * b;
g ¯°J gg,6HJ.'{HFH60H¥¯OH
std::cin 1 std::cout
H'
£HJ0F8<F
HJ.J)HJ¦
>&3;Z" {HRH£H8¥1g¦
gª?R0WRWg._8©²1
HD6ªW_8©}¥8«²3JÀ {£?1µ«¨3RÀH^¬JJ66H«8FH6HJ.J)H
Declaration statement.
^F
HJ.J)¶)0H{¬WJ'aV'¯
int a;
g¬
int b = a * a;
¬JJD6H6H8®F
HJ.J)mJ80F8© S"'+2D&37'&)-E*F/8> g¬±J8J¬¥0J.«J88C¦N§Ek8
£H8¥1g
µ¯°^¬6c¯«H t&37*,&$v2 " ¬W'JD6
H8 H'À6eª?R8©xH^©D10
power8.C
1
¯'0 ] £#1µ
«HÀWg.98©HÀWK¯º²g6H6ªW1µg¬
IgkF²1g«W98© {£?
¦ ²g6H6ªWh¬JJ66H«8¬ 'HJ)©H8 6 '
£HJ0F8 ©D1}'
g<£W1µc«Vg®J'
F£?'J« WV£WDgJ'8«3¦ ¯J]«JJH'µ#«ª#JW²3'«¨36
£HJF08N%H0J005
}¬W'JD6
H8Àg0IWgg% J'6W¬e}²gg1¦§uH J'«HIg«60.J.10<©D1HRWK¯
²g6HD6ªW6°08.g¬¬0J0Jµg¬.H *[>?*E-E*,&)2L* )" «a¯«H<H²gg8©
µ©?£HJ0J)¦§uH¶²gg
aHH'0«H¥²gg8©c0W'¯b²160D6ªW1
¦ °¬W'JD6
H8.H6¬À0 S"u>" H²160D6ªW1¦
aIHg08©?
£HJF08.F
HJ.J)HJµ{^¬JJD
6H8hF6H'.J{600J¶8H J'
8©»0W^¬JJD6H6H8g¬e¥81H'«0°²gg1¦
Return statement.
]},6HJ.'{8©»HR©D1H
¯'0 Rg=F²1g«Wg¦}§uV8«]{JJH_¯«HN.©D'H8C¦ °W}H'00ZF
HJ.J)
'²ggW6H' µ W0JRH<©DWKH8C ^J8<£WH6H8Jµcg¬£WH ÂÃV²gg
608._¾uHJ<£#160Ág¬¬0J0 HW60Wg«'8©5H©DW'08h6.gJJ'0J¦ ªWF0gKH¥_©H8
HJ0RHJgOHJJµ)¯°^F<£W«.HJÀHW6°H^FH6HJ.J) 7J"-EBf7>C( HIHRg«'¦
return
9
WJ²3hFJJ®8«N8WI
6<£5«I0e© 6¹VHIF6H'.J{
<
return 0; H'HH^0W²16
0 ¾E©D1H96«3µH««H'6 0 8©²gg 0 ÁH.Hm1£?'H6H¥.FFHJ¤¯NWgg«J¬H main
©D'H88©8£H8¥16¦
E
1X
:c
_
3
1x¥8H0.9607JJHF{gKHgfg¬90J9g)HgHKH.¶¯°WJ²3{FH¬JJ¬Cµ68¥
¯OH±HJ«.H'D6H8J¦
¡¢^¢m¦
% W¥8HJ<£WWg07'JhH%J'{06H8eHW6<
£HJF08.£5k
+$,
- *.
()
#$
%$
&'"
*
$
&'
!"#
M)>C-F&+-E*F+Y&)2&3>S<(g"';=&3>C-E*F+Y&)2?-0"J7;%(m&@@?"Y&37*u>#\I*u> /8Bf7 7v(J-?@C7J/'\87'&3;
T
power8.C
i B57J"2LM](g"J;=&3>C-E*,+K&)2-0"J7;e(9&@@#"K&37h*[>kQ!*E-0"'`@CBf7J"2LM]('M)>C-F&+-E*F+Y&)2 -0"J7;%(}*u> S&37vn
\87'&3MT10* <W"KSN-0"J7;e(e&37J"eS37'&3Q°> *u>±2A*d\3!-\87'&3MT
/32L*,S&377'/8Q(
&37'".-0/$J"
/
A→B
7J"K&S &)(32
!f&)(
`Q!*E2 "9(g/32L*,S]2L*u>"(<*[> -:!#"'" <v@C7J"('('*F/8>@#&37v-_;Z"Y&3>s-:!f&)-R-:!#"
A
B4
B{@@?"J7h-0"J7; *E(};Z/87J"\"J>"J7'&)2 -:!f&3>-:!#"h2d/8Q_"J7/8>"gT
Figure 2: /
2.1.15 Details
'H9e¯J®8©°¯H«0¥J8..J{0^HW660À1.OHJ¬ZH]89.8©
J {¬Wg¦ {eH
JJ80J¬]ª
/* ¾E,608© J8..'{YÁg¬ */ ¾E'W¬]8© J8..J)YÁ¥81HJ¬
ªZH<J8<£W'J¦ °.«HD6'8..J{^8©8m£W08¥1g
power8.C J8¬®g«0W²3<ª#JJ
¯0«0HJeg
Commenting.
/*
Program : power8 . C
3 Raise a number to the power 8.
*/
°W«.JWg0
9JZ0JJ 0J©D©D1}8¥8'm'8..J{H^F£5g¥0'²3'6J8©°J{¬Wgµ
ªWH_£H1ªW'½HW638À¬W1°..J¬D60J«mHJ'8¥8W87JR9H_.¬¬W«8©c0Ye
J8F00WKH8=g_.J8..J{J¹°38Zg«¯JWJ²3mH91¨%©D1R0W}JJ«80¥
/* g¬ */ H.ª?
0H1¦
8.'H.'Jµ
g¬
H^0'¬%©D1²3'Fe010J8..J)Ha¯OH9J8©xJ{¬WgµW««¨3_
/*
*/
c = a + /* don ’t subtract ! */ b;
1 10g¬W6ªW« <0g0
8Jµ¯°R¬WI1g¬²3{6H_H¨¬8©J8..J)µJOH'¦
¸_'g08Wg««3µfH6O·:«©D¡¢R¢½J¬}J8{Hg6>F¬J{0O·
W'H Am,60H«W¥^¯«H<0WW¬'HFJ1HW6g'0' µgOH8W¥8IH¶¶W1gv¯°J¬.g'J1H¬¥VH
_
' W«H8
¦9°0HH9¶HW6 -:!#"@C7J/'\87'&3;;Z"J7 a1°g«
¯°J¬<0mWFRFW >F¬J{0« W'H A
H'X6H9HJF'0²3J¬ ©D1<«{H'056WFª®HÀJ8<£W'J¦®¡°8<£W«'Hm08¬k«00e
hJgFI
¯6H¥µ¯W'%H'e¬FJ
²3K0]ª5g¬«À©D1H.J¬ >F¬J{HO 5K AµªW8©HJ%0WK F«'O
£5g0J¦
Identifiers starting with an underscore.
§EX¡¢R¢}µ «V¥8{¬¥8J'6¶£g'H«JhH¬' W.²g6HD
ª5«
..J¬D
HJ«_ª?J©D10« «0J¬IH° H,H«.1¦ °°0g¬W6ªW« V8©#£W08¥1gp<£Hv²3JJµ8©5©D1
g)I²g6HD
ª5«HW6¶6££?
H¶h08.
£HJ00«8cµ3H'10HJF£#8W¬¥¬' W«H«8I60ª{<g¬
g®JJhª#<©D8W¬ {W«¨«3
¦ °W«¥8¬J}V«J8{0HgFHe08.h1H'V£W08¥1g..¥
Dg¥8Wg¥8J ©D1} g<£Wgµx ¡ g²160D6ªWJ^5J²3<Hª?.¬JJD60J¬ 6VH<ª?'¥8W«W¥8©aH
©D'H8À¯'HRH'6HRWFJ¬C¦
Define variables where needed!
main ©D'H8«Vg'
J'£H«856©D'H«80K²3'g¯J¦.¸
£560H«JD6cF£?J'Dg« RCHW6»0WH'HHm,6HJ.'{»gª?8.«0HJ¬C¦ main ©D'H8V¯«H8
^HKHH9F6H'.J{a6aHJ¬.ª?JWJ²3Ja£HJ'0J«<ga©?O¶¯°8¬.J¬9¯«H
return 0; ¦9
The main function.
°
¬' W«H8®Wg}ª?JJ±96¬W.©D1IFH10g¶0g08.8FH« «}g±g89g«=J8<£56HJ¬®H
1H'¶©DW'08¾u¯W«YI¯ª#¬0J00'¬.D6H'ÁK
¦ '0J©D1H1µ)¯°FHH¨HVH
£W'« H'HH
F
HJ.J)6W¬egF¨À38eHI¬WH^0g.1¦
Using directives. §u£?8F0«ªW_H.J²38¬]g std:: £W0' J008W¥88Vg¬¬WOH8Wg?R8©
S3*u7J"K+-E*ut" ¦§E%60V8©
3 ¦
J{¬Wgµ5
using
power8.C µH°¯°8¬À1¨9O¨3^ : 08¥1g
Ä
Ç
Å
Æ
// Program : power8 .C
// Raise a number to the eighth power .
# include < iostream >
ÈÉ
Ê
using namespace std ;
1X
Ë
Ì
ÄHÍ
Ä Ä
ÄHÅ
ÄHÆ
ÄFÇ
ÄHÉÈ
_
3 3
int main ()
{
// input
cout < < " Compute x ^8 for x =? ";
int a;
cin > > a;
// computation
int b = a * a ; // b = a ^2
b = b * b;
// b = a ^4
Ä
Ä Ê
ÄHË
ÄHÌ
ÅÍ
Å Ä
8
ÅÅ
:c
// output b * b , i .e . , a ^8
cout < < a < < " ^8 = " < < b * b < < " .\ n ";
return 0;
}
Program 3:
@C7J/'\3(,Î@#/8QR"'76
Bf('*u>#\T
using ¬«0J'H«²3R}¬W'JD6
H8ÀF6H'.J{8©xHR©D1H
using namespace
u§ Rg«
¯H90gx©DJ6HHJ_©H8¤Wg.J,£f6J
X ¯«H8 {Wg©¥hHJ HH8¥8H
£H' X:: ¦*°x.JWg0 0J'. «0¶J«£W©D
x HFF¥8{µ
ªWx«Wg»0'²3'0¬H¯ª5gH¨
HW6°£H'²3J)©08³0¥À¾E'g«8WRg¬²3{6H¥)Áa«ÀHª?1¨f¦
"cK cF6F»¯«H_H9 1C¬J¯ª5gH¨#¦ g.J,£f6JJC9J_5J²36H¥8 }ª?'c8©©D
HHJ
¾E<£56FHJD6Jµ30WWg.JF£5gJ
std WgHÁKµ{¯«H.V6H¥8{ª?K¶8©?Wg.J'¦ cin g¬ cout 6H
¯°<0]56.J©H8ºHWg.JF£5g'
std ¦§u²3K0%¬ hJ«¾:6W¬%g0<1¬W'0«6ªWÁH
¨v¯ gcHJ0mWg.J'¦_¸_NH1H'_Wg¬Cµ#« Q_/8Bf2 S ª?m¥8{¬H<¨Wv¯¼HJ¿]1H¬'H
J²38¬.J86W'H ¯OHhHWg.' Q_" «{0H{¬W'1
¦ 11 6<£5«1µ3©f¯°¬' WR²160D6ªW56.J¬
08.'¯WKH :H8¥16 3 µv¯°6HgF¨«W¥©D1c0H8ªW1¹#¯J^¯°6H'c0 H £HJ00«8
cout
cout µ«1J«6¯'H'«°HJ©D'HHhHRFg¬W6H¬%80£WF0H6µ1HI8²g6HD6ªWg¦
E
JgIJg0«J²38¬mHa²160D6ªWaWg.
cout µ88©J8H01µ8ªW¯°9Jg'J¬J{Hg«^{FH¬J
g1H'56._05
gF<6££?
HHVWg.JF£5g'
std ¦ ^W©D100WW60VJ80D {JJ
HW6}®08..' £HJ0F8k8©°8}£W08¥1gµxHmWg.h.¥8{ >/3- H'©D'}HN0W.©DJ6HH.¯°
)0H¬JJ¬CµfªWHÀ<©D
HH}8© 0Wm0g.Wg.©H8 0Wm,g¬W6H¬N«ª603¦ E m9J%J¬
£]0'{H«À0¥hI©D600©H8³0W^Fg¬W6H¬««ª60.HW6¯°¬8CÂÃ'²3J¨v¯¼6W¬%05
¯°h'²3Km{0J¬W'¬H%016
¦ °WHJ0«0¥eF0Hg¥8Iª?JWJ²«1V8©8V£H8¥1Hg Jgª?I²3K0
¬ <'WO0I06¨À¬v¯C¦
§EHR1H¥8WgW£H8¥1g
power8.C µ)0H¬J¥mWg. cout ¾E1g)91H'56._g0
6££?
H¥.Wg.J,£f6J
std Á¬J1Jg0g).W6H¹x¯«H8H std:: {Wg« W608Cµ
«geWK²3'
>0g'J¬J{Hg«%
A}0J©D'0h08.'0W«W¥}©H8 HRFg¬W6H¬«ª603¦
'HÀ}HFJJ8¬±¬J¯ª5gH¨ 8©
using ¬«HJKH«²3JJ¦ ºD6H¥8.£H8¥16 J8{696{
Wg.JJµ»g¬1H¬'^He¨3JK£ FgH¨8©:µ»«^¬J0«
ª5«HW6RH<Wg. >,HJ« AeV¯'HhO
J8.J©H8¹¶«R56.¯°WJ²3)0H¬JJ¬Cµ)1¬J¶«aJ8.©H8½^«ª60 ?e§E©?0µ{©H8
3 $
¯ 8W? E «0
using ¬«HJ'0«²3JJµ¯°R80HW6©D1H96H«8cµ).g¥HW6°H_£H8¥1g
ª?J'8.J°J0Hg¬W6ªWRg¬%.1H_¬ hJ«Hh96{6C¦
2.1.16 Goals
Dispositional.
°°H°£?8)µ38%FW8¬Z¦J¦J¦
< P
Á.W¬'0Fg¬kH9ª5g09F{gKHgg¬±FJ9g{0g¶0'H.}8©¡¢R¢mµaX£56FHJD6 " {
@C7J"(J('*,/8> µ /J@?"J7'&)-0/87 µ (J-F&)-0"J;="J>C- µ 2Lt&)2LBx" µ 7t&)2LBx" µ 2L*E-0"'7'&)2 µ5g¬ t&37* &$v2 "
power8.C ¦
8Á.W¬'0Fg¬%F{5
%6W¬e0J9g)HJ°8©»0W_£H8¥1g
Operational.
¾
§Ee£560H«JD6µ)3808W«¬ª?^6ªWHe¦'¦¦
Á9¬JF'H«ª?0Wmª5g0«F)g'0g6W¬N0J96{HJg»HKH.8©_¡¢^¢º¾:g,HJ¬=6ª?v²3vÁ
38
¯e¯°1H¬6W¬e¥8«²3^' g<£WJ
¾8Á.0J#¯'0WK}¥8«²3J%W66'H'0D{W'W'ge¬J)H« W'
¾
Á.0J#¯'0WK}¥8«²3J%W66'H'0D{W'W'0«<£5«
£H'008CµWg¬' WJ¬eª#Jv¯
3
¾$)Á. W¬e8¯'H'}¥8«²3J%0«<£5«
£H'008ge«²16R1geF²1g«W
¾
4
Á9K²1g«5
HR¥8«²3'%0<£W
£HJ00«8
¾)3Á.¯H«H£H8¥16.a¯«H©DWKH8Wg« h0.D
aH
power8.C ¦
('*[;I@c2 ""'<v@C7J"J(J('*F/8>
}6 '
£HJ0F8 ¯ 8«{²38«²3'
int·E«HKgJµx¬J{HO 5KHJµxH
ªWW609«H«£WJ6H8I1£?'601µHV600¥8.J)1£#'6H1Jµg¬e£56HJ)HJ0J'¦
2.1.17 Exercises
!*,+!
Exercise 1
Q!M>/3-
~K&
~'"F
/H4V-:!#"°4g/32u2 /8Q°*u>#\]+!f&37K&+-0"J7<(6" B»"J>+'"(.&37J"}>/3-^R
¾8Á
identifier
A99_
~K$0
~«4
int
_tmp
~'+F
~ \J
x_i
T#
~KS
~F!g
4x__
x12b
! *,+!/H4-:!#"46/32u2 /8Q*[>#\.+!f&37'&+J-0"J7V(6" B»"J>+'"(&37J">/3-_I
Q!M>/3-oh"J7J"'`
&3>S
&37J"t&37*,&$2d"(À/H4}-EM
@#"
T
Exercise 2
a
~K&
~'"F
*,S"'>C-E* "J7v('`&3>S
1*(2*3)
(a=5)*(b=7)
b
~K$0
~«4
a=(b=5)
(1
~'+F
~,\J
int
1=a
(a=b)*(b=5)
K~ S
~0!g
"'<v@C7J"J(J('*F/8>C(K`a&3>S
¾
3
Á
(a=1)
(a*3)=(b+5)
y /87Z&)2[2/H4-:!#"Z"'<v@C7J"('('*F/8>C(-:!f&)-VM5/8B !f&3t"*,S"J>C-E*Ã"KS®*[>;<"J7J+J*u(g" `IS"K+J*,S"
Q!#"-:!#"J7.-:!#"J(g"&37J"h2At{&)2AB»"(À/87I7t&)2LBx"('`&3>SZ"'<v@c2D&3*u>kMW/8Bf7ÀS"'+J*u('*F/8>C(
T
¾$)Á
Exercise 3
l "-0"'7;e*u>"]-:!#"et&)2AB»"(=/H4-:!#""'<@C7J"(J('*,/8>C(%-:!f&)-MW/8Bb!f&3t"e*,S"J>C-E*Ã"KS®*u>;<{P
.
"J7J+'*E(g"
&3>S " <v@c2 &3*[> !#/8Q -:!#"(g"®t&)2LBx"J(&37'" /$-F&3*u>"KST
!*F+!p/H4-:!#"(6" t{&)2AB»"(k&37J"
Bf>C( @?"'+J*Ã"KS&3>SZ+K&3>-:!#"'7J"E4g/87'"<>/3-^$J"ÀS"-0"J7;*u>"KS%Bf>?* Bx"2L
M ¾ 4 Á
Exercise 4
1X
:c
_
3 4
7 *u-0"&@C7J/'\87'&3;
-:!f&)-7J"Y&S)(-:!7J"'"*[>C-0",\"'7v(
4K7J/8;
multhree.C
a, b, c
*u>@CBf-R&3>SZ/8B#-«@CB#-:(-:!#"J*[7^@C7J/gS3B»+T
Exercise 5
abc
Exercise 6
&3>S/8Bf-«@CB#-:(
7*u-0"N&9@C7J/'\17'&3;
-:!f&)-_7J"K&S)(%&3>
power20.C
#
B
K
(
u
*
#
>
N
\
)
&
Z
;
3
/
'
(
x
t
"
e
;
#
B
2A-E*O@c2L*F+Y&)-E*F/8>C(6T
20
*u>C-0" \"J7
4'7'/8;
a
('-F&3>S&37'S
¾)3Á
(J-F&3>S&37'SN*u>@CBf¾)3Á
a
2.1.18 Challenges
|"$J"R-:!#"_(';=&)2[2d"J(J->?Bf;=$'"J7}/H4;eBf2O-E*A@c2A*,+K&)-E*,/8>C(-:!f&)-a&37J"_>"'"KS"YS<*[>/87'S"J7
`(n)
0- /b+K/8;I@CBf-0"-:!#"
P,-:!X@?/8Q_"J7
/H4&3> *u>C-0",\"J7
T
*u>+'"
;=&3M S"F@#"J>S /8>¼Q!f&)n
an
a /
`(n)
Q_"X+K/8>C('*,S"'7X&)(& 2F+K/8;I@CB#-F&)-E*,/8> `QR"=;=&)n"
Q_"2[2OPS"E>"KSs$M7J"(J-E7*,+-E*u>#\-0/±-:!#"
`(n)
4
4g/32[2d/8Q°*[>#\Àng*u>SN/H4h+K/8;I@CBf-F&)-E*F/8>C(6T^|"S"J>/3-0"-:!#"m*[>@CB#->?Bf;N$J"J7
TRz +K/8;I@CBf-F&)-E*F/8>
a
a
+'/8>C(K*E(J-:(]/H4
(J-0"F@c('`RQ!#"J7J"
*E(À(g/8;="À>0&)-EB57'&)2>?Bf;N$J"J7`&3>S(J-0"F@
!f&)(-:!#"
t
t
i, 1 i t
4g/87;
Exercise 7
ai = a j * a k
Q°*E-:!
TÀ!#".+'/8;@CB#-F&)-E*F/8>*u(h+'/877'"'+-* 4
TVy/879"'<&3;@c2d"'`-0/]+'/8;I@CBf-0" 8 *u>
j, k < i
a t = an
a
-:!7J"K".(J-0"F@c(À~0-:!7J"K"<;eBf2O-E*A@c2A*,+K&)-E*F/8>C( N&)(}*u>
` Q_"+K&3>±Bf(g"h-:!#"+'/8;@CB#-F&)-E*F/8>
power8.C
a1 = a 0 * a 0
a2 = a 1 * a 1
a3 = a 2 * a 2
/8Q°`
*E(S"E>"YS%&)(_-:!#"(';N&)2u2 "(J-t{&)2AB»"I/H4
('B»+!À-:!f&)-¶-:!#"J7'"<"'<)*u(J-:(}&+'/877'"'+- PF(J-0"F@
`(n)
t
t
+'/8;@CB#-F&)-E*,/8>e4g/87
nT
a
&±UH>k-:!#"&$J/8t"h;Z/6S"2/H4.+'/8;I@CBf-F&)-E*F/8>?`@C7J/8t"h-:!f&)-x4g/87À&)2u2
λ(n)
`(n)
n
1
`
λ(n) + ν(n) − 1,
Q!#"J7J"
*u(%/8>"À2d"('(.-:!f&3>b-:!#"À>?Bf;N$J"J7N/H4.('*d\8>?* +Y&3>C-$*u-:(%/H4
*[>b-:!#"$*[>&37M
λ(n)
n
7J",@C7J"(g"J>C-F&)-E*,/8>³/H4
~0(g"K"
"'+-E*,/8>
8`&3>S
*u(Z-:!#">?B5;=$'"J7 /H4kw (N*u> -:!#"
n
/
??
ν(n)
$*[>&37MX7'"F@C7J"(g"'>C-F&)-E*F/8> /H4
Tky /87" <&3;I@c2 "J`}-:!#"Z$*[>&37MX7'"F@C7J"(g"'>C-F&)-E*F/8> /H4
*u(
n
20
`&3>S!#"J>+K"
&3>S
`°7J"(KB#2A-E*u>#\%*[>
T
λ(20) = 4
10100
$0
ν(20) = 2
`(n)
°*E-:!#"J7@C7J/8t"-:!f&)-¶-:!#"VB{@@#"J7I$'/8Bf>S.*[>X&I*E(m&)2AQ&3M{($J"J(J-»@?/3(J(K*,$v2
n
(KBx+!N-:!f&)-
`(n ) < λ(n ) + ν(n ) − 1
T
5
"J`/87¶>S%&ht&)2AB»"
3 )
© Copyright 2026 Paperzz