Anda di halaman 1dari 34

@sp&ct$s bs|c$s d& l|ng"@g&m C

C$ns|d&r@&s g&r@|s

M"|t@s l|ng"@g&ns f$r@m d&s&nv$lv|d@s & p$r m"|t$s @n$s "t|l|z@d@s c$m d|
f&r&nt&s $bj&t|v$s & c@r@ct&rst|c@s, t@|s c$m$: F$rtr@n, C$b$l, B@s|c, @lg$ls,
P@sc@l & &tc. M@s $ q"& C? C $ n$m& d& "m@ l|ng"@g&m @t"@lm&nt&
"t|l|z@d@ &m d|f&r&nt&s r&@s & pr$ps|t$s. F@z p@rt& h$j& d& "m@ l|
ng"@g&m c$ns|d&r@d@ @v@n@d@, d&s&nv$lv|d@ n$s l@b$r@tr|$s B&ll n$s
@n$s 70.

@ d&f|n|$ f$rm@l d@ l|ng"@g&m p$d& s&r &nc$ntr@d@ n$ l|vr$ Th& C


Pr$gr@mm|ng L@ng"@g& d& Br|@n W. K&rn|gh@n & D&nn|s M. R|tch|& ($s p@|
s d@ l|ng"@g&m). N$s @n$s 80 |n|c|$"-s& "m tr@b@lh$ d& cr|@$ d& "m p@dr$
ch@m@d$ C @NS| (@m&r|c@n N@t|$n@l St@nd@rd|z@t|$n |nst|t"t&).

"m@ l|ng"@g&m d& nv&l md|$, p$|s p$d&-s& tr@b@lh@r &m "m nv&l prx|
m$ @$ d@ mq"|n@ $" c$m$ "m@ l|ng"@g&m d& @lt$ nv&l c$m$ $"tr@s &x|
st&nt&s.

C$m $ C p$d&m$s &scr&v&r pr$gr@m@s c$nc|s$s, $rg@n|z@d$s & d& fc|l


&nt&nd|m&nt$, m@s |nf&l|zm&nt& @ f@lt@ d& d|sc|pl|n@ p$d& g&r@r
pr$gr@m@s m@l &scr|t$s, d|fc&|s d& s&r&m l|d$s & c$mpr&&nd|d$s. N$ s&
d&v& &sq"&c&r q"& C "m@ l|ng"@g&m p@r@ pr$gr@m@d$r&s, p$|s |mp&
p$"c@s r&str|&s @$ q"& p$d& s&r f&|t$. $ C @m|gv&l & &str"t"r@d$ p@r@
&nc$r@j@r b$ns hb|t$s d& pr$gr@m@$; c@b& @$ pr$gr@m@d$r &x&rc|t@r
&ss&s hb|t$s.

@ n&c&ss|d@d& d& &scr&v&r pr$gr@m@s, q"& f@@m "s$ d& r&c"rs$s d@ l|


ng"@g&m d& mq"|n@ d& "m@ f$rm@ m@|s s|mpl&s & p$rtt|l, f&z c$m q"& @
pr|nc|p@l "t|l|z@$ d$ C f$ss& @ r&&scr|t@ d$ s|st&m@s $p&r@c|$n@l "N|X. S"@
|nd|c@$ pr|nc|p@lm&nt& n$ d&s&nv$lv|m&nt$ d& pr$gr@m@s, t@|s c$m$:
c$mp|l@d$r&s, |nt&rpr&t@d$r&s, &d|t$r&s d& t&xt$; b@nc$ d& d@d$s.
C$mp"t@$ grf|c@, m@n|p"l@$ & pr$c&ss@m&nt$ d& |m@g&ns, c$ntr$l&
d& pr$c&ss$s,

Pr|nc|p@|s c@r@ct&rst|c@s d@ l|ng"@g&m C @ s&r&m p$nd&r@d@s:

- P$rt@b|l|d@d&
- G&r@$ d& cd|g$s &x&c"tv&|s c$mp@ct$s & rp|d$s
- |nt&r@$ c$m $ s|st&m@ $p&r@c|$n@l
- F@c|l|d@d& d& "s$ (@tr@vs d& @mb|&nt&s c$m$ $ B$rl@nd C++ 5.0)
- L|ng"@g&m &str"t"r@d@
- C$nf|@b|l|d@d&
- S|mpl|c|d@d&
1. &l&m&nt$s bs|c$s

1.1 |d&nt|f|c@d$r&s

S$ "t|l|z@d$s p@r@ d@r n$m&s @ c$nst@nt&s, v@r|v&|s, f"n&s & vr|$s $bj&t$s d&f|
n|d$s p&l$ "s"r|$. @s r&gr@s p@r@ f$rm@$ d&ss&s n$m&s s$:

1) T$d$ |d&nt|f|c@d$r d&v& |n|c|@r p$r "m@ l&tr@ (@..z $" @..Z) $" "m s"bl|nh@d$
2) N$ p$d& c$nt&r smb$l$s &sp&c|@|s. @ps $ pr|m&|r$ c@r@ct&r p$d& s&r "t|l|
z@d$: l&tr@s, s"bl|nh@d$s &/$" dg|t$s.
3) "t|l|z@-s& |d&nt|f|c@d$r&s d&, n$ mx|m$, 32 c@r@ct&r&s p$r &st&s s&r&m s|gn|
f|c@t|v$s.
4) N$ p$d& s&r p@l@vr@ r&s&rv@d@ & n&m n$m& d& f"n&s d& b|bl|$t&c@s.

$bs: l&tr@s m@|sc"l@s & m|nsc"l@s s$ tr@t@d@s d& f$rm@ d|f&r&nt&.

1.2 T|p$s d& d@d$s bs|c$s

T|p$ Nm&r$ d& byt&s &sc@l@


ch@r 1 -128 @ 127
|nt 21 -32768 @ 327671
fl$@t 4 3.4&-38 @ 3.4&+38 (+-)
d$"bl& 8 1.7&-308 @ 1.7&+308 (+-)
v$|d 0 s&m v@l$r

1.3 M$d|f|c@d$r&s

T|p$ Nm&r$ d& byt&s &sc@l@


"ns|gn&d ch@r 1 0 @ 255
"ns|gn&d |nt 21 0 @ 655351
Sh$rt |nt 2 -32768 @ 32767
"ns|gn&d sh$rt |nt 2 0 @ 65535
l$ng |nt 4 -2147483648 @ 2147483647
"ns|gn&d l$ng |nt 4 0 @ 4294967295
l$ng d$"bl& 10 3.4&-4932 @ 1.1&+4932

$bs&rv@&s:

1) $ m$d|f|c@d$r s|gn&d &v&nt"@lm&nt& p$d& s&r "t|l|z@d$, p$rm $ s&" "s$ &q"|
v@l& @ "t|l|z@r "m t|p$ s&m q"@lq"&r m$d|f|c@d$r.
1
$ t@m@nh$ d$ t|p$ |nt d&p&nd&nt& d@ pl@t@f$rm@ s$br& @ q"@l $ pr$gr@m@ c$mp|l@d$.
P@r@ @ c$mp|l@$ n@ pl@t@f$rm@ D$S p@dr$ (16 b|ts), "m d@d$ d$ t|p$ |nt $c"p@ d$|s byt&s
d& t@m@nh$
1
1
1
2) @ p@l@vr@ |nt p$d& s&r $m|t|d@. &x: "ns|gn&d l$ng |nt "ns|gn&d l$ng

1.4 D&cl@r@$ d& v@r|v&|s

@ f$rm@ g&r@l p@r@ d&cl@r@$ d& "m@ v@r|v&l :

t|p$_d@_v@r|v&l l|st@_d&_v@r|v&|s;

$nd& t|p$_d@_v@r|v&l "m t|p$ vl|d$ &m C (S&&s 1.2 & 1.3) & l|st@_d&_v@r|v&|s
p$d& s&r "m $" m@|s n$m&s d& |d&nt|f|c@d$r&s s&p@r@d$s p$r v|rg"l@.
&x&mpl$s:

|nt f, |, k; /* t$d@s v@r|v&|s d$ t|p$ |nt */2


fl$@t @, @, b; /* t$d@s v@r|v&|s d$ t|p$ fl$@t */

1.5 C$nst@nt&s

&m C, c$nst@nt&s s$ v@l$r&s f|x$s q"& n$ p$d&m s&r @lt&r@d$s p$r "m pr$gr@m@.

1.5.1 C$nst@nt&s &m b@s& d&c|m@l

1) C$nst@nt&s n"mr|c@s |nt&|r@s: p$d&m s&r @tr|b"d@s @ v@r|v&|s d$s t|p$s


ch@r & |nt, m$d|f|c@d$s $" n$, d&p&nd&nd$ d$ v@l$r d@ c$nst@nt& & d@ f@|
x@ d& v@l$r&s @c&|t@ p&l@ v@r|v&l.

&x&mpl$s: 345 10 0 5000000

2) C$nst@nt&s n"mr|c@s n$ |nt&|r@s: p$d&m s&r @tr|b"d@s @ v@r|v&|s d$s t|p$s


fl$@t & d$"bl&, m$d|f|c@d$s $" n$, d&p&nd&nd$ d$ v@l$r d@ c$nst@nt& & d@
f@|x@ d& v@l$r&s @c&|t@ p&l@ v@r|v&l.

&x&mpl$s: -56.897 1.2&+5

3) C$nst@nt&s &m f$rm@ d& c@r@ct&r: p$d&m s&r @tr|b"d@s @ v@r|v&|s d$ t|p$
ch@r, m$d|f|c@d@s $" n$. $ v@l$r d@ c$nst@nt& |g"@l @$ v@l$r n"mr|c$ d@
t@b&l@ @SC||3 d$ c@r@ct&r r&pr&s&nt@d$ &ntr& (c$m"m&nt& ch@m@d$s
d& pl|c@s)

1.5.2 C$nst@nt&s &m b@s&s h&x@d&c|m@l & $ct@l4

2
/* & */ d&l|m|t@m "m c$m&ntr|$ t&xt"@l, q"& n$ c$mp|l@d$ m@s q"& @"x|l|@ $
pr$gr@m@d$r n@ d$c"m&nt@$ d$ s&" cd|g$. N$t&-s& q"& &x|st& "m@ v&rs$ @lt&rn@t|v@
p@r@ d&l|m|t@r "m c$m&ntr|$ @t $ f|n@l d@ l|nh@, "s@nd$ //, p$rm &st@ v&rs$ p@dr$ C+
+ & n$ d&v& s&r "t|l|z@d@ p@r@ c$mp|l@$ d& cd|g$ @NS| C (C p@dr$)
3
@ t@b&l@ @SC|| "m@ t@b&l@ p@dr$n|z@d@ q"& r&l@c|$n@ "m c$nj"nt$ d& c@r@ct&r&s
@ v@l$r&s n"mr|c$s &ntr& 0 & 255. P$r &x&mpl$, $ c@r@ct&r c$rr&sp$nd&nt& @$ dg|t$ 9
c$rr&sp$nd& @$ cd|g$ @SC|| 57.
4
P@r@ m@|$r&s |nf$rm@&s s$br& nm&r$s $ct@|s & h&x@d&c|m@|s, c$ns"lt@r $ t&xt$ s$br&
B@s&s N"mr|c@s
C$nst@nt&s &m b@s& h&x@d&c|m@l |n|c|@m c$m 0x, @$ p@ss$ q"& c$nst@nt&s &m
b@s& $ct@l |n|c|@m c$m "m 0.

&x&mpl$s: 0x@B (h&x@d&c|m@l) 016 ($ct@l)

1.5.3 C$nst@nt&s &m f$rm@ d& s&q"nc|@ d& c@r@ct&r&s (str|ngs)

S$ r&pr&s&nt@d@s &ntr& @sp@s.

&x&mpl$: &st@ "m@ c$nst@nt& &m f$rm@ d& str|ng.

1.5.4 C@r@ct&r&s d& c$ntr$l& d@ l|ng"@g&m C

&st&s c@r@ct&r&s d&v&m s&r r&pr&s&nt@d$s c$m$ c@r@ct&r&s @lf@n"mr|c$s


(&ntr& ) $" c$m$ c$nt&d$ d& "m@ str|ng

Cd|g$ S|gn|f|c@d$
\@ s|n@l @"dv&l
\b r&tr$c&ss$ d$ c"rs$r
\f @l|m&nt@$ d& f$rm"lr|$
\n n$v@ l|nh@
\r r&t$rn$ d& c@rr$
\t t@b"l@$ h$r|z$nt@l
\ @sp@s
\ @pstr$f$
\0 n"l$ (z&r$)
\\ b@rr@ |nv&rt|d@
\v t@b"l@$ v&rt|c@l
\@ s|n@l s$n$r$
\N c$nst@nt& $ct@l ($nd& N "m $ct@l)
\xN c$nst@nt& h&x@d&c|m@l ($nd& N "m
h&x@d&c|m@l)

1.6 |nstr"&s

"m@ |nstr"$ &m l|ng"@g&m C "m@ &xpr&ss$ s&g"|d@ d& "m p$nt$ & vrg"l@. P$d&
s&r "m@ @tr|b"|$, "m@ ch@m@d@ d& f"n$, "m t&st& d& d&sv|$ $" "m t&st& d&
l@$.

&x&mpl$ d& |nstr"$ d& @tr|b"|$: x = 12;

$nd& $ s|n@l d& |g"@l (=) $ $p&r@d$r d& @tr|b"|$. N$t&-s& q"& $ $p&r@nd$ d$
l@d$ &sq"&rd$ d$ $p&r@d$r d& @tr|b"|$ s&mpr& "m@ v@r|v&l, & q"& $ $p&r@nd$
d$ l@d$ d|r&|t$ d&v& s&r d& "m t|p$ d& d@d$ c$mp@tv&l c$m $ t|p$ d@ v@r|v&l.

1.7 $p&r@d$r&s

1.7.1 $p&r@d$r&s @r|tmt|c$s


@d|$ +
S"btr@$ -
D|v|s$ /
M"lt|pl|c@$ *
R&st$ %

$bs&rv@&s:

1) T$d$s $s $p&r@d$r&s s$ d&f|n|d$s p@r@ $s t|p$s |nt&|r$s & n$ |nt&|r$s, &xc&t$


$ $p&r@d$r r&st$ (%) q"& n$ d&f|n|d$ p@r@ v@r|v&|s d$s t|p$s n$ |nt&|r$s.
2) P@r@ q"@lq"&r t|p$ |nt&|r$, @ @d| $ d& "m @$ m@|$r nm&r$ d@ f@|x@
d@q"&l& t|p$ pr$d"z $ m&n$r nm&r$ d@ f@|x@. $s &rr$s d& &st$"r$ n&m
s&mpr& s$ d&t&ct@d$s, c@b&nd$ @$ pr$gr@m@d$r t$m@r c"|d@d$ @$ d|
m&ns|$n@r @s v@r|v&|s d$ pr$gr@m@ p@r@ q"& &l&s n$ $c$rr@m.

&x&mpl$:

"ns|gn&d ch@r x;
x = 255;
x = x + 1; /* x d&v&r|@ @ss"m|r 256, n$ &nt@nt$ &st$"r@ @ f@|x@
& r&t$rn@ p@r@ $ m&n$r v@l$r q"& 0 */

1.7.2 $p&r@d$r&s r&l@c|$n@|s

M&n$r q"& <


M@|$r q"& >
M&n$r $" |g"@l <=
M@|$r $" |g"@l >=
|g"@ld@d& ==
D&s|g"@ld@d& !=

$bs&rv@&s:

1) T$d@s @s $p&r@&s r&l@c|$n@|s t&m c$m$ r&s"lt@d$ "m |nt&|r$


r&pr&s&nt@nd$ "m v@l$r lg|c$ (1 = tr"& & 0 = f@ls&).
2) N$ c$nf"nd|r $ $p&r@d$r d& @tr|b"|$ (= ) c$m $ $p&r@d$r d& |g"@ld@d& ( =
= ).

1.7.3 $p&r@d$r&s lg|c$s

& (c$nj"n$) &&


$" (d|sj"n$) ||
n$ (n&g@$) !

$s $p&r@d$r&s lg|c$s p$d&m r&c&b&r q"@lq"&r v@l$r d& $p&r@nd$, p$rm $s


v@l$r&s d|f&r&nt&s d& z&r$ s$ s&mpr& |nt&rpr&t@d$s c$m$ tr"& (v&rd@d&|r$) & $s
|g"@|s @ z&r$ s$ |nt&rpr&t@d$s c$m$ f@ls& (f@ls$). $ r&s"lt@d$ d& "m@ $p&r@$
lg|c@ s&mpr& "m v@l$r lg|c$.

T@b&l@ d@ v&rd@d&

p Q p && q p || q !p
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0

1.7.4 $p&r@d$r&s d& @tr|b"|$ c$mb|n@d$s

+= -= *= /=

&x&mpl$s:

@ += b; /* @ = @ + b; */
@ -= b; /* @ = @ b; */
@ *= b; /* @ = @ * b; */
@ /= b; /* @ = @ / b; */

$bs&rv@&s:

1) T$d$s $s $p&r@d$r&s d& @tr|b"|$ @tr|b"&m $ r&s"lt@d$ d& "m@ &xpr&ss$ @


"m@ v@r|v&l
S& $ t|p$ d$ l@d$ &sq"&rd$ n$ f$r $ m&sm$ d$ l@d$ d|r&|t$, $ t|p$ d$ l@d$ d|r&|t$ s&r
c$nv&rt|d$ p@r@ $ t|p$ d$ l@d$ &sq"&rd$. |st$ p$d& c@"s@r @ p&rd@ d& pr&c|s$ &m
@lg"ns t|p$s d& d@d$s & d&v& s&r l&v@d$ @ sr|$ p&l$ pr$gr@m@d$r.

1.7.5 $p&r@d$r&s ps-f|x@d$s & pr-f|x@d$s

$p&r@d$r S|gn|f|c@d$
++v@r|@v&l |ncr&m&nt@ @ v@r|v&l @nt&s d& "s@r $ s&" v@l$r
V@r|v&l++ |ncr&m&nt@ @ v@r|v&l d&p$|s d& "s@r $ s&" v@l$r
--v@r|@v&l d&cr&m&nt@ @ v@r|v&l @nt&s d& "s@r $ s&" v@l$r
v@r|@v&l-- d&cr&m&nt@ @ v@r|v&l d&p$|s d& "s@r $ s&" v@l$r

&x&mpl$s:

|nt @, b, c;
@ = 6;
b = ++@; /* @ r&c&b& 7 & d&p$|s b t@mbm r&c&b& 7*/
c = @++; /* c r&c&b& 7 & d&p$|s @ r&c&b& 8 */

1.7.6 $p&r@d$r&s &m nv&l d& b|t

D&sl$c@m&nt$ &sq"&rd@ (sh|ft <<


l&ft)
D&sl$c@m&nt$ d|r&|t@ (sh|ft r|ght) >>
& (@nd) &
$" ($r) |
$" &xcl"s|v$ (x$r) ^
n$ (n$t) ~

P@r@ "m@ d|sc"ss$ m@|s @pr$f"nd@d@ s$br& $ "s$ d& b|ts & nm&r$s b|nr|$s,
c$ns"lt@r $ t&xt$ s$br& B@s&s N"mr|c@s

1.7.7 $p&r@d$r&s d& &nd&r&$

& - r&t$rn@ $ &nd&r&$ d@ v@r|v&l


* - r&t$rn@ $ c$nt&d$ d$ &nd&r&$ @rm@z&n@d$ &m "m@ v@r|v&l d$ t|p$ p$nt&|r$

P@r@ s@b&r m@|s s$br& $p&r@d$r&s d& &nd&r&$, c$ns"lt@r $ t&xt$ s$br& P$nt&|r$s.

1.7.8 $"tr$s $p&r@d$r&s

s|z&$f($p&r@nd$) f$rn&c& $ t@m@nh$ &m byt&s d$ s&" $p&r@nd$


&x:

|nt x;
fl$@t y;
ch@r c;
x= s|z&$f(|nt); /* f$rn&c& $ t@m@nh$ d$ t|p$ |nt (2 byt&s) */
x= s|z&$f(y); /* f$rn&c& $ t@m@nh$ d@ v@r|v&l y (4 byt&s) */
x= s|z&$f(c); /* f$rn&c& $ t@m@nh$ d@ v@r|v&l c (1 byt&) */

1.8 &xpr&ss&s

$p&r@d$r&s, c$nst@nt&s, v@r|v&|s & f"n&s c$nst|t"&m &xpr&ss&s. @s pr|nc|p@|s


r&gr@s @lgbr|c@s s$ c$ns|d&r@d@s n@s &xpr&ss&s. @lg"ns @sp&ct$s d@s
&xpr&ss&s s$ &sp&cf|c$s d@ l|ng"@g&m C & s$ &xpl|c@d$s @ s&g"|r.

1.8.1 C$nv&rs$ @"t$mt|c@ d& t|p$s

Q"@nd$ c$nst@nt&s, v@r|v&|s & f"n&s d& t|p$s d|f&r&nt&s s$ m|st"r@d$s &m "m@
&xpr&ss$, &l@s s$ t$d@s c$nv&rt|d@s p@r@ $ t|p$ d$ $p&r@nd$ m@|$r. |st$ f&|t$
$p&r@$ @ $p&r@$, d& @c$rd$ c$m @s s&g"|nt&s r&gr@s:

1) T$d$s $s $p&r@nd$s d$s t|p$s ch@r & sh$rt |nt s$ c$nv&rt|d$s p@r@ |nt. T$d$s $s
$p&r@nd$s d$ t|p$ fl$@t s$ c$nv&rt|d$s p@r@ d$"bl&.
2) P@r@ t$d$s $s p@r&s d& $p&r@nd$s &nv$lv|d$s &m "m@ $p&r@$, s& "m d&l&s
l$ng d$"bl& $ $"tr$ $p&r@nd$ c$nv&rt|d$ p@r@ "m l$ng d$"bl&. S& "m d$"bl&, $
$"tr$ c$nv&rt|d$ p@r@ d$"bl&. S& "m l$ng, $ $"tr$ c$nv&rt|d$ p@r@ l$ng. S& "m
"ns|gn&d, $ $"tr$ c$nv&rt|d$ p@r@ "ns|gn&d.

&x:

fl$@t x, r&s;
ch@r c;
...
r&s = x/c; /* $ v@l$r d& x/c c$nv&rt|d$ p@r@ "m fl$@t, &mb$r@
c s&j@ $r|g|n@lm&nt& "m ch@r */

1.8.2 C$nv&rs$ &xplc|t@ d& t|p$s (typ& c@sts)

p$ssv&l f$r@r "m@ &xpr&ss$ @ s&r d& "m t|p$ &sp&cf|c$, s&m n$ &nt@nt$ m"d@r
$s t|p$s d@s v@r|v&|s &nv$lv|d@s n&st@ &xpr&ss$. @ &ss& t|p$ d& $p&r@$
ch@m@-s& c$nv&rs$ &xplc|t@ d& t|p$, $" typ& c@st.

@ f$rm@ g&r@l d& "m typ& c@st :

(t|p$) &xpr&ss$;

$nd& t|p$ "m d$s t|p$s d& d@d$ p@dr$ d@ l|ng"@g&m C.

@s $p&r@&s d& typ& c@st s$ m"|t$ t&|s &m &xpr&ss&s n@s q"@|s @lg"m@
$p&r@$ r&s"lt@ &m p&rd@ d& pr&c|s$ d&v|d$ @$ t|p$ d@s v@r|v&|s $" c$nst@nt&s
&nv$lv|d@s. P$r &x&mpl$:

fl$@t r&s;
|nt $p1,$p2;
$p1 = 3;
$p2 = 2;
r&s = $p1 / $p2; /* r&s r&c&b& 1, j q"& $p1 & $p2 s$ @mb$s
nm&r$s d$ t|p$ |nt & $ r&s"lt@d$ d@ s"@
d|v|s$ t@mbm |nt */
r&s = (fl$@t)$p1 / $p2; /* r&s r&c&b& 1.5, j q"& $ typ& c@st
f$r$" $ $p&r@nd$ $p1 @ s&r "m fl$@t
n&st@ $p&r@$. $ r&s"lt@d$ d@ d|v|s$,
p$r c$ns&q"nc|@, t@mbm fl$@t */

1.8.3 &sp@@m&nt$ & p@rnt&s&s

P$d&m$s c$l$c@r &sp@$s &m "m@ &xpr&ss$ p@r@ t$rn-l@ m@|s l&gv&l. $ "s$ d&
p@rnt&s&s r&d"nd@nt&s $" @d|c|$n@|s n$ c@"s@r &rr$s $" d|m|n"|r @ v&l$c|d@d&
d& &x&c"$ d@ &xpr&ss$.
&x:

@=b/9.67-56.89*x-34.7;
@ = (b / 9.67) (56.89 * x) 34.7; /* &q"|v@l&nt& */

2. &str"t"r@ d& "m pr$gr@m@ &m C

"m@ p@rt|c"l@r|d@d& |nt&r&ss@nt& n$ pr$gr@m@ C s&" @sp&ct$ m$d"l@r & f"nc|


$n@l, &m q"& $ prpr|$ pr$gr@m@ pr|nc|p@l "m@ f"n$. &st@ f$rm@ d&
@pr&s&nt@$ d@ l|ng"@g&m f@c|l|t@ $ d&s&nv$lv|m&nt$ d& pr$gr@m@s, p$|s p&rm|
t& $ &mpr&g$ d& f$rm@s &str"t"r@d@s & m$d"l@r&s &nc$ntr@d@s &m $"tr@s l|
ng"@g&ns.
@ &str"t"r@ d& "m pr$gr@m@ &m C p$ss"| $s s&g"|nt&s &l&m&nt$s, s&nd$ q"&
@q"&l&s d&l|m|t@d$s p$r c$lch&t&s s$ $pc|$n@|s:

[ d&f|n|&s d& pr-pr$c&ss@m&nt$ ]


[ d&f|n|&s d& t|p$ ]
[ d&cl@r@&s d& v@r|v&|s gl$b@|s ]
[ pr$tt|p$s d& f"n&s ]
[ f"n&s ]

m@|n ( )
{
/* d&f|n|&s d& v@r|v&|s */
/* c$rp$ d@ f"n$ pr|nc|p@l, c$m d&cl@r@&s d& s"@s v@r|v&|s,
s&"s c$m@nd$s & f"n&s */
}

D&f|n|&s d& pr-pr$c&ss@m&nt$ s$ c$m@nd$s |nt&rpr&t@d$s p&l$ c$mp|l@d$r, &m


t&mp$ d& c$mp|l@$, q"& d|z&m r&sp&|t$ @ $p&r@&s r&@l|z@d@s p&l$ c$mp|
l@d$r p@r@ g&r@$ d& cd|g$. G&r@lm&nt& |n|c|@m c$m "m@ c&rq"|lh@ (#) & n$
s$ c$m@nd$s d@ l|ng"@g&m C, p$r |ss$ n$ s&r$ tr@t@d$s @q"| c$m m@|$r&s
d&t@lh&s.

&x:

#|ncl"d& <std|$.h> /* c$m@nd$ d& pr-pr$c&ss@d$r, "t|l|z@d$


p@r@ |nd|c@r @$ c$mp|l@d$r q"& &l& d&v& c$l@r @s d&f|n|&s d$ @rq"|
v$ std|$.h n&st& @rq"|v$ @nt&s d& c$mp|l-l$ */

D&f|n|&s d& t|p$s s$ d&f|n|&s d& &str"t"r@s $" t|p$s d& d@d$s &sp&c|@|s, |ntr$d"z|
d$s p&l$ "s"r|$ p@r@ f@c|l|t@r @ m@n|p"l@$ d& d@d$s p&l$ pr$gr@m@. T@mbm
n$ s&r$ tr@t@d$s @q"| &m m@|$r&s d&t@lh&s.

D&cl@r@&s d& v@r|v&|s gl$b@|s s$ f&|t@s q"@nd$ n&c&ssr|$ "t|l|z@r v@r|v&|s


gl$b@|s n$ pr$gr@m@. $ c$nc&|t$ d& v@r|v&l gl$b@l & @s v@nt@g&ns &
d&sv@nt@g&ns d$ s&" "s$ d|z&m r&sp&|t$ m$d"l@r|z@$ d& "m pr$gr@m@ &m C
(c$ns"lt@r $ m@t&r|@l s$br& m$d"l@r|z@$ & f"n&s).

Pr$tt|p$s d& f"n&s & f"n&s t@mbm d|z&m r&sp&|t$ @ q"&st&s d& m$d"l@r|
z@$.

m@|n() @ f"n$ pr|nc|p@l d& "m pr$gr@m@ &m C, c$nt&nd$ $ cd|g$ q"& s&r |n|c|
@lm&nt& &x&c"t@d$ q"@nd$ $ pr$gr@m@ &m s| f$r &x&c"t@d$. T$d$ pr$gr@m@ &m
C d&v& c$nt&r @ f"n$ m@|n(), d$ c$ntrr|$ s&r g&r@d$ "m &rr$ d"r@nt& $ pr$c&ss$
d& g&r@$ d$ pr$gr@m@ (m@|s &sp&c|f|c@m&nt&, n@ &t@p@ d& l|g@$).

3. F"n&s bs|c@s d& &/S

&st@ s&$ d&scr&v& @lg"m@s d@s f"n&s bs|c@s d& &/S, q"& s&r$ "t|l|z@d@s |n|c|
@lm&nt& p@r@ pr$v&r $ pr$gr@m@d$r d& "m c@n@l d& &ntr@d@ d& d@d$s v|@
t&cl@d$ & "m c@n@l d& s@d@ d& d@d$s v|@ m$n|t$r.
3.1 F"n$ pr|ntf( ) (b|bl|$t&c@ std|$.h)

@ f"n$ pr|ntf( ) b@s|c@m&nt& "t|l|z@d@ p@r@ &nv|@r |nf$rm@&s @$ m$n|t$r, $"


s&j@, |mpr|m|r |nf$rm@&s. $ s&" pr$tt|p$ $ s&g"|nt&:

pr|ntf( str|ng d& d@d$s & f$rm@t$, v@r1, v@r2,..., v@rN);

$nd& str|ng d& d@d$s & f$rm@t$ f$rm@d@ p$r d@d$s l|t&r@|s @ s&r&m &x|b|d$s n$
m$n|t$r (p$r &x&mpl$, "m t&xt$ q"@lq"&r) m@|s "m c$nj"nt$ $pc|$n@l d& &sp&c|f|
c@d$r&s d& f$rm@t$ (|nd|c@d$s p&l$ smb$l$ % & "m c$nj"nt$ d& c@r@ct&r&s). &st&s
&sp&c|f|c@d$r&s d&t&rm|n@r$ d& q"& f$rm@ $ c$nt&d$ d$s @rg"m&nt$s v@r1 @
v@rN s&r &x|b|d$.

v@r1 @ v@rN |nd|c@m, p$r s"@ v&z, $s @rg"m&nt$s (v@r|v&|s $" c$nst@nt&s) c"j$s
v@l$r&s s&r$ &x|b|d$s n$ l$c@l & n$ f$rm@t$ d&t&rm|n@d$ p&l$s &sp&c|f|c@d$r&s d&
f$rm@t$, d&ntr$ d@ str|ng d& d@d$s & f$rm@t$. $ nm&r$ N d&v& s&r |g"@l @$
nm&r$ d& &sp&c|f|c@d$r&s d& f$rm@t$ f$rn&c|d$s.

&sp&c|f|c@d$r&s d& f$rm@t$ m@|s "t|l|z@d$s:

%c c@r@ct&r&s s|mpl&s (t|p$ ch@r)


%d |nt&|r$ (t|p$ |nt )
%& n$t@$ c|&ntf|c@
%f p$nt$ fl"t"@nt& (t|p$ fl$@t)
%g %& $" %f (m@|s c"rt$)
%$ $ct@l
%s str|ng
%" |nt&|r$ s&m s|n@l
%x h&x@d&c|m@l
%lf t|p$ d$"bl&
%" |nt&|r$ n$ s|n@l|z@d$ (t|p$ "ns|gn&d |nt)
%ld t|p$ l$ng |nt

&x&mpl$s:

1)
|nt n = 15;
pr|ntf($ v@l$r d& n &h %d, n);

/* &x|b& $ v@l$r d& n &h 15. N$t&-s& q"& t$d$ $ c$nt&d$ d@


str|ng d& d@d$s & f$rm@t$ &x|b|d$ l|t&r@lm&nt&, c$m &xc&$ d$
&sp&c|f|c@d$r %d, q"& s"bst|t"d$ p&l$ v@l$r &m f$rm@t$ |nt&|
r$ d@ v@r|v&l n */

2)
ch@r c@r@c = @;
fl$@t n"m = 3.16;
pr|ntf(@ l&tr@ &h %c & $ n"m&r$ &h %f, c@r@c, n"m);

/* &x|b& @ l&tr@ &h @ & $ n"m&r$ &h 3.16. N&st& c@s$, $


&sp&c|f|c@d$r %c (pr|m&|r$ d@ str|ng) s"bst|t"d$ p&l$ v@l$r
d@ v@r|v&l c@r@c & $ &sp&c|f|c@d$r %f s"bst|t"d$ p&l$ v@l$r
d@ v@r|v&l n"m. N$t&-s& q"& $s t|p$s d$s &sp&c|f|c@d$r&s & d@s
v@r|v&|s s$ c$mp@tv&|s */
3.2 F"n$ sc@nf() (b|bl|$t&c@ std|$.h)

@ f"n$ sc@nf "t|l|z@d@ p@r@ r&c&b&r d@d$s d& "m@ &ntr@d@ d& d@d$s p@dr$.
C$ns|d&r@r&m$s, p@r@ f|ns d& s|mpl|f|c@$, q"& &ss@ &ntr@d@ p@dr$ s&mpr& $
t&cl@d$. $ pr$tt|p$ d& sc@nf $ s&g"|nt&:

sc@nf (str|ng d& f$rm@t$, &v@r1, &v@r2, , &v@rN);

$nd& @ str|ng d& f$rm@t$ c$ntm $s &sp&c|f|c@d$r&s d& f$rm@t$ n@ s&q"nc|@ &
r&l@t|v$s @ c@d@ "m d$s d@d$s q"& s& pr&t&nd& r&c&b&r. P@r@ "m@ l|st@ d$s
&sp&c|f|c@d$r&s d& f$rm@t$ m@|s "t|l|z@d$s, v&r s&$ 3.1.

v@r1 @ v@rN |d&nt|f|c@m @s v@r|v&|s n@s q"@|s s&r$ @rm@z&n@d$s $s v@l$r&s


r&c&b|d$s p$r sc@nf, n@ m&sm@ $rd&m d&t&rm|n@d@ p&l$s &sp&c|f|c@d$r&s d&
f$rm@t$. $ nm&r$ N d&v& s&r |g"@l @$ nm&r$ d& &sp&c|f|c@d$r&s d& f$rm@t$
f$rn&c|d$s.

|MP$RT@NT&: $ $p&r@d$r d& &nd&r&$ (&) D&V& $br|g@t$r|@m&nt& s&r "t|l|z@d$ d|


@nt& d$s |d&nt|f|c@d$r&s d@s v@r|v&|s, d$ c$ntrr|$ $c$rr& "m &rr$. P@r@ m@|$r&s
d&t@lh&s, c$ns"lt@r @ t&$r|@ s$br& p$nt&|r$s.

&x&mpl$s:

1)
|nt t;
pr|ntf(D|g|t& "m |nt&|r$: );
sc@nf(%d, &t); /* @g"@rd@ @ d|g|t@$ d& "m nm&r$ d$ t|p$
|nt. $ nm&r$ d|g|t@d$ @rm@z&n@d$ n@
v@r|v&l t q"@nd$ $ "s"r|$ d|g|t@ &NT&R */

2)

ch@r c@r@c1;
|nt |;
pr|ntf(D|g|t& "m c@r@ct&r & "m |nt, s&p@r@d$s p$r vrg"l@: );
sc@nf(%c, %d, &c@r@c1, &|);

/* n&st& c@s$, $s &sp&c|f|c@d$r&s d& f$rm@t$ %c & %d &st$


s&p@r@d$s p$r vrg"l@, $ q"& s|gn|f|c@ q"& $ "s"r|$ d&v& d|g|
t@r $s v@l$r&s t@mbm s&p@r@d$s p$r vrg"l@ & n@ $rd&m c$rr&t@ */

3.3 F"n$ g&tch() (b|bl|$t&c@ c$n|$.h)

@ f"n$ g&tch "t|l|z@d@, b@s|c@m&nt&, p@r@ &sp&r@r $ pr&ss|$n@m&nt$ d& "m@


t&cl@ p&l$ "s"r|$. @ t&cl@ pr&ss|$n@d@ p$d& s&r c@pt"r@d@ @tr@vs d$ v@l$r d&
r&t$rn$ d@ f"n$ (p@r@ m@|$r&s d&t@lh&s s$br& v@l$r d& r&t$rn$, c$ns"lt@r @ t&$r|
@ s$br& f"n&s).

P&l$ f@t$ d& |nt&rr$mp&r @ &x&c"$ @t $ pr&ss|$n@m&nt$ d& "m@ t&cl@, @


f"n$ g&tch p$d& s&r "t|l|z@d@ n$ f|n@l d& "m pr$gr@m@ d& c$ns$l& p@r@ p&rm|t|r
q"& $ "s"r|$ v|s"@l|z& $ r&s"lt@d$ d$ pr$gr@m@ @nt&s q"& @ s"@ j@n&l@ s& f&ch&.

&x&mpl$:
pr|ntf(&st$" m$str@nd$ "m@ fr@s&\n);
pr|ntf(D|g|t& q"@lq"&r t&cl@ p@r@ s@|r d$ pr$gr@m@);
g&tch(); /* @g"@rd@ @q"| @t "m@ t&cl@ s&r pr&ss|$n@d@ */

/* f|m d$ pr$gr@m@ */

$bs&rv@$: @ f"n$ g&tch& f"nc|$n@ d& f$rm@ s&m&lh@nt&, p$rm &x|b& n@ t&l@
$ c@r@ct&r d|g|t@d$ ($ n$m& s|gn|f|c@ g&t ch@r w|th &ch$).

3.4 F"n$ clrscr() (b|bl|$t&c@ c$n|$.h)

@ f"n$ clrscr "t|l|z@d@ p@r@ l|mp@r @ t&l@ ($ n$m& s|gn|f|c@ cl&@r scr&&n).

4. &str"t"r@s d& c$ntr$l&

4.1 C$m@nd$ s|mpl&s

"m@ l|nh@ d& c$m@nd$ &m C s&mpr& t&rm|n@ c$m "m p$nt$ & vrg"l@ (;)

&x&mpl$s:

x = 443.7;
@ = b + c;
pr|ntf(&x&mpl$);

4.2 Bl$c$ d& c$m@nd$s

"t|l|z@-s& ch@v&s ( { } ) p@r@ d&l|m|t@r bl$c$s d& c$m@nd$ &m "m pr$gr@m@ &m C.
&st&s s$ m@|s "t|l|z@d$s n$ @gr"p@m&nt$ d& |nstr"&s p@r@ &x&c"$ p&l@s
cl"s"l@s d@s &str"t"r@s c$nd|c|$n@|s & d& r&p&t|$.

4.3 &str"t"r@s c$nd|c|$n@|s

4.3.1 &str"t"r@ |f-&ls&

F$rm@t$:

|f ( c$nd|$ )
{
bl$c$ d& c$m@nd$s 1
}
&ls&
{
bl$c$ d& c$m@nd$s 2
}
c$nd|$ q"@lq"&r &xpr&ss$ q"& p$ss@ s&r @v@l|@d@ c$m $ v@l$r v&rd@d&|r$
(tr"&) $" f@ls$ (f@ls&). N$ c@s$ d& &xpr&ss&s q"& p$ss"@m "m v@l$r nm&r|c$
@$ |nvs d& "m v@l$r lg|c$, s& $ v@l$r d|f&r&nt& d& z&r$ @ &xpr&ss$ @v@l|
@d@ c$m v@l$r lg|c$ tr"&, d$ c$ntrr|$ @v@l|@d@ c$m $ v@l$r lg|c$ f@ls&.

C@s$ @ c$nd|$ p$ss"@ "m v@l$r lg|c$ tr"&, bl$c$ d& c$m@nd$s 1 &x&c"t@d$. S&
$ v@l$r lg|c$ d@ c$nd|$ f$r f@ls&, bl$c$ d& c$m@nd$s 2 &x&c"t@d$. P@r@
q"@lq"&r "m d$s bl$c$s, s& &st& f$r f$rm@d$ p$r "m n|c$ c$m@nd$ @s ch@v&s s$ $pc|
$n@|s.

@ &str"t"r@ |f-&ls& s&m&lh@nt& @ "m@ &str"t"r@ c$nd|c|$n@l c$mp$st@, &m q"&


"m $" $"tr$ bl$c$ d& c$m@nd$s &x&c"t@d$; @ cl"s"l@ &ls&, n$ &nt@nt$, $pc|$n@l,
& s& f$r $m|t|d@ @ &str"t"r@ p@ss@ @ f"nc|$n@r c$m$ "m@ &str"t"r@ c$nd|c|$n@l s|
mpl&s, &m q"& "m bl$c$ d& c$m@nd$s (n$ c@s$, $ bl$c$ 1) s$m&nt& &x&c"t@d$ s&
@ c$nd|$ f$r v&rd@d&|r@.

&x&mpl$s:

1)
|nt n"m;
pr|ntf(D|g|t& "m n"m&r$: );
sc@nf(%d, &n"m);

|f (n"m < 0) /*t&st@ s& n"m m&n$r q"& z&r$ */


{
/* bl$c$ d& c$m@nd$s &x&c"t@d$ s& @ c$nd|$ v&rd@d&|r@.
N&st& c@s$, c$m$ pr|ntf "m n|c$ c$m@nd$ @s ch@v&s
p$d&r|@m s&r $m|t|d@s */

pr|ntf(\n$ nm&r$ m&n$r q"& z&r$);


}
&ls&
{
/* bl$c$ d& c$m@nd$s &x&c"t@d$ s& @ c$nd|$ f@ls@.
N&st& c@s$, c$m$ pr|ntf "m n|c$ c$m@nd$ @s ch@v&s
p$d&r|@m s&r $m|t|d@s */

pr|ntf(\n$ nm&r$ m@|$r q"& z&r$);


}

2)

|f ((@ == 2) && (b == 5)) /* c$nd|$ c$m $p&r@$ lg|c@ */


pr|ntf(\nC$nd|$ s@t|sf&|t@); /* bl$c$ d& c$m@nd$s */

g&tch(); /* &st@ |nstr"$ n$ f@z p@rt& d@ &str"t"r@


c$nd|c|$n@l, l$g$ s&mpr& &x&c"t@d@ */

3)

|f (m == 3)
{
|f ((@ >=1) && (@ <= 31)) /* &st& |f f@z p@rt& d$ bl$c$
d& c$m@nd$s d$ |f @nt&r|$r */
{
pr|ntf(D@t@ $K);
}
&ls& /* &st& &ls& d$ |f m@|s pr$x|m$ (q"& f@z
p@rt& d$ bl$c$ d& c$m@nd$s) */
{
pr|ntf(D@t@ |nvl|d@);
}
}

4.3.2 &str"t"r@ sw|tch

F$rm@t$:

sw|tch (&xpr&ss$)
{
c@s& v@l$r1:
s&q. d& c$m@nd$s 1
br&@k;
c@s& v@l$r2:
s&q. d& c$m@nd$s 2
br&@k;
...
c@s& v@l$rN:
s&q. d& c$m@nd$s N
br&@k;
d&f@"lt:
s&q. p@dr$
}

$ c$m@nd$ sw|tch @v@l|@ &xpr&ss$ & c$mp@r@ s"c&ss|v@m&nt& c$m "m@ l|st@ d&
c$nst@nt&s v@l$r1 @ v@l$rN (m&n$s c$nst@nt&s str|ngs). Q"@nd$ &nc$ntr@ "m@
c$rr&sp$ndnc|@ &ntr& $ v@l$r d@ &xpr&ss$ & $ v@l$r d@ c$nst@nt&, s@lt@ p@r@
@ cl"s"l@ c@s& c$rr&sp$nd&nt& & &x&c"t@ @ s&q"nc|@ d& c$m@nd$s @ss$c|@d@
@t &nc$ntr@r "m c$m@nd$ br&@k, s@|nd$ &m s&g"|d@ d@ &str"t"r@.

@ cl"s"l@ d&f@"lt &x&c"t@d@ s& n&nh"m@ c$rr&sp$ndnc|@ f$r &nc$ntr@d@.


&st@ cl"s"l@ $pc|$n@l &, s& n$ &st|v&r pr&s&nt&, n&nh"m@ @$ s&r r&@l|z@d@
s& t$d@s @s c$rr&sp$ndnc|@s f@lh@r&m. "s@d@ n$rm@lm&nt& p@r@ d|r&c|$n@r
q"@lq"&r f|n@l l|vr& q"& p$ss@ f|c@r p&nd&nt& n@ d&cl@r@$ sw|tch.

$BS&RV@&S:
- s& $ c$m@nd$ br&@k f$r &sq"&c|d$ @$ f|n@l d& "m@ s&q"nc|@ d&
c$m@nd$s, @ &x&c"$ c$nt|n"@r p&l@ prx|m@ d&cl@r@$ c@s&
@t q"& "m br&@k $" $ f|n@l d$ sw|tch s&j@ &nc$ntr@d$, $ q"&
n$rm@lm&nt& |nd&s&j@d$.
- n"nc@ d"@s c$nst@nt&s c@s& n$ m&sm$ sw|tch p$d&m t&r v@l$r&s |
g"@|s.
- "m@ d&cl@r@$ sw|tch m@|s &f|c|&nt& d$ q"& "m &nc@d&@m&nt$
d& |f-&ls&, @lm d$ q"& p$d& s&r &scr|t$ d& f$rm@ m"|t$ m@|s
&l&g@nt&.
- v@l$r1 @ v@l$rN D&V&M s&r v@l$r&s c$nst@nt&s.

&x&mpl$s:
1)
|nt d|@;
pr|ntf(D|g|t& "m d|@ d@ s&m@n@, d& 1 @ 7);
sc@nf(%d, &d|@);
sw|tch(d|@) /* t&st@ $ v@l$r d@ v@r|v&l d|@ */
{
c@s& 1:
pr|ntf(D$m|ng$);
br&@k;
c@s& 2:
pr|ntf(S&g"nd@);
br&@k;
c@s& 3:
pr|ntf(T&r@);
br&@k;
c@s& 4:
pr|ntf(Q"@rt@);
br&@k;
c@s& 5:
pr|ntf(Q"|nt@);
br&@k;
c@s& 6:
pr|ntf(S&xt@);
br&@k;
c@s& 7:
pr|ntf(Sb@d$);
br&@k;
d&f@"lt:
pr|ntf(&st& d|@ n$ &x|st&); /* s &ntr@ @q"| s& $
"s"r|$ n$ d|g|t@r "m d|@ &ntr& 1 & 7 */
br&@k;
}

4.4 &str"t"r@s d& r&p&t|$

4.4.1 &str"t"r@ wh|l&

F$rm@t$:

wh|l& (c$nd|$)
{
s&q"nc|@ d& c$m@nd$s
}

$ c$m@nd$ wh|l& @v@l|@ $ v@l$r lg|c$ d& c$nd|$; s& $ v@l$r lg|c$ f$r v&rd@d&|r$
(tr"&) @ s&q"nc|@ d& c$m@nd$s &x&c"t@d@, c@s$ c$ntrr|$ @ &x&c"$ d$
pr$gr@m@ c$nt|n"@ @ps @ &str"t"r@ wh|l&. C@s$ @ s&q"nc|@ d& c$m@nd$s s&j@
f$rm@d@ p$r "m n|c$ c$m@nd$, $ "s$ d@s ch@v&s $pc|$n@l.

@ps @ &x&c"$ d@ s&q"nc|@ d& c$m@nd$s, $ v@l$r lg|c$ d& c$nd|$ r&@v@l|
@d$, & s& c$nt|n"@r s&nd$ v&rd@d&|r$ (tr"&) @ s&q"nc|@ d& c$m@nd$s
&x&c"t@d@ n$v@m&nt&. &st& c$mp$rt@m&nt$ s& r&p&t& @t q"& $ v@l$r lg|c$ d@
c$nd|$ s&j@ f@ls$ (f@ls&), q"@nd$ @ &x&c"$ d@ &str"t"r@ wh|l& |nt&rr$mp|d@
& c$nt|n"@ n@ |nstr"$ s&g"|nt&.
C@d@ "m@ d@s &x&c"&s d@ s&q"nc|@ d& c$m@nd$s ch@m@d@ d& |t&r@$ d$
l@$. N$ c@s$ d@ &str"t"r@ wh|l& $ nm&r$ d& |t&r@&s p$d& v@r|@r d& 0 @t N,
s&nd$ N $ nm&r$ d@ |t&r@$ @ps @ q"@l $ t&st& d@ c$nd|$ r&s"lt@ &m "m v@l$r
lg|c$ f@ls$.

$BS&RV@$: c@s$ @ c$nd|$ s&j@ v&rd@d&|r@ n$ pr|m&|r$ t&st& & @ s&q"nc|@


d& c$m@nd$s s&j@ &x&c"t@d@, n&c&ssr|$ q"& &st@ t$rn& @ c$nd|$ f@ls@ &m
@lg"m m$m&nt$; d$ c$ntrr|$, @ c$nd|$ s&mpr& s&r r&@v@l|@d@ c$m$ v&rd@d&|
r@ & @ s&q"nc|@ d& c$m@nd$s s&r &x&c"t@d@ &m "m nm&r$ |nf|n|t$ d& |
t&r@&s5.

&x&mpl$:

|nt x = 0;

/* |mpr|m& $s v@l$r&s d& x d& 0 @t 9


$ v@l$r 10 n$ |mpr&ss$ p$rq"&, @$ t&st@r @ c$nd|$ p@r@
x |g"@l @ 10, $ v@l$r lg|c$ f@ls$ & @ &x&c"$ d$ wh|l&
|nt&rr$mp|d@ */

wh|l& (x < 10)


{
pr|ntf(\nx = %d, x);
x++; /* f@z @ c$nd|$ t$rn@r-s& f@ls@
&m @lg"m m$m&nt$ */
}

4.4.2 &str"t"r@ d$ wh|l&

F$rm@t$:

d$ {

s&q"nc|@ d& c$m@nd$s

} wh|l& (c$nd|$);

@ s&q"nc|@ d& c$m@nd$s s&mpr& &x&c"t@d@ |n|c|@lm&nt& &m "m@ &str"t"r@


d$-wh|l&. @ps @ s"@ &x&c"$, $ v@l$r lg|c$ d@ c$nd|$ @v@l|@d$, & s& f$r
v&rd@d&|r$ (tr"&) @ s&q"nc|@ d& c$m@nd$s &x&c"t@d@ n$v@m&nt&. $ c|cl$ s&
r&p&t& @t q"& $ v@l$r lg|c$ d@ c$nd|$ s&j@ f@ls$ (f@ls&), q"@nd$ @ &x&c"$
c$nt|n"@ n@ |nstr"$ s&g"|nt& &str"t"r@ d$-wh|l&. C@s$ @ s&q"nc|@ d& c$m@nd$s
s&j@ f$rm@d@ p$r "m n|c$ c$m@nd$, $ "s$ d@s ch@v&s $pc|$n@l.

D|f&r&nt&m&nt& d$ q"& $c$rr& n@ &str"t"r@ wh|l&, n@ &str"t"r@ d$-wh|l& $ nm&r$


d& |t&r@&s v@r|@ &ntr& 1 & N, $nd& N $ nm&r$ d@ |t&r@$ @ps @ q"@l $
t&st& d@ c$nd|$ r&s"lt@ &m "m v@l$r lg|c$ f@ls$.

$BS&RV@$: @ss|m c$m$ n@ &str"t"r@ wh|l&, c@s$ @ c$nd|$ s&j@ v&rd@d&|r@


n$ pr|m&|r$ t&st& n&c&ssr|$ q"& @ s&q"nc|@ d& c$m@nd$s t$rn& @ c$nd|$ f@ls@
&m @lg"m m$m&nt$.
5
&st@m$s c$ns|d&r@nd$ pr$gr@m@s &x&c"t@d$s l|n&@rm&nt&, $" s&j@, s&m @ $c$rrnc|@
d& &v&nt$s @ssncr$n$s (p. &x., |nt&rr"p&s).
&x&mpl$:

|nt n"m;

d$ {

pr|ntf(D|g|t& "m nm&r$ d& 1 @ 9: )


sc@nf(%d, &n"m);

} wh|l& (!((n"m >=1) && (n"m <=9))); /* n&ss& c@s$, @ $bt&n$


d$ v@l$r d& n"m v|@
sc@nf p$d& t$rn@r @ c$nd|$ f@ls@ */

4.4.3 &str"t"r@ f$r

F$rm@t$:

f$r (|n|c|@l|z@$; c$nd|$; |ncr&m&nt$)


{
s&q"nc|@ d& c$m@nd$s
}

@ |n|c|@l|z@$ &x&c"t@d@ "m@ n|c@ v&z, n$ |nc|$ d@ &x&c"$ d@ &str"t"r@ f$r,


& n$rm@lm&nt& "m@ @tr|b"|$ "t|l|z@d@ p@r@ |n|c|@l|z@r @lg"m@ v@r|v&l d&
c$ntr$l& d$ l@$.

@ps @ |n|c|@l|z@$, $ v@l$r lg|c$ d@ c$nd|$ t&st@d$. S& f$r v&rd@d&|r$ (tr"&),
@ s&q"nc|@ d& c$m@nd$s &x&c"t@d@, d$ c$ntrr|$ @ &x&c"$ c$nt|n"@ @ps @
&str"t"r@ f$r. @$ f|n@l d@ &x&c"$ d@ s&q"nc|@ d& c$m@nd$s, $ c$m@nd$
c$rr&sp$nd&nt& @$ |ncr&m&nt$ &x&c"t@d$, & @ c$nd|$ v$lt@ @ s&r t&st@d@. $ c|
cl$ s& r&p&t& @t q"& $ t&st& d@ c$nd|$ r&s"lt& &m "m v@l$r lg|c$ f@ls$ (f@ls&),
q"@nd$ &nt$ @ &x&c"$ pr$ss&g"& @ps @ &str"t"r@ f$r. C@s$ @ s&q"nc|@ d&
c$m@nd$s s&j@ f$rm@d@ p$r "m n|c$ c$m@nd$, $ "s$ d@s ch@v&s $pc|$n@l.

@ &str"t"r@ f$r &q"|v@l&nt& @ "m@ &str"t"r@ wh|l& c$m $ s&g"|nt& f$rm@t$:

|n|c|@l|z@$
wh|l& (c$nd|$)
{
s&q"nc|@ d& c$m@nd$s
|ncr&m&nt$
}

$BS&RV@&S:
- Q"@lq"&r "m@ d@s cl"s"l@s d$ c@b&@lh$ (|n|c|@l|z@$, c$nd|$ $"
|ncr&m&nt$) p$d& s&r $m|t|d@; n$ c@s$ d@ $m|ss$ d@ |n|c|@l|z@$ $"
d$ |ncr&m&nt$ c$ns|d&r@-s& q"& &st&s s$ c$m@nd$s n"l$s ($" s&j@,
n$ &x&c"t@m n@d@), j n@ $m|ss$ d@ c$nd|$ c$ns|d&r@-s& q"& $
s&" v@l$r lg|c$ s&mpr& v&rd@d&|r$. $s s|n@|s d& p$nt$-&-vrg"l@
q"& s&p@r@m c@d@ "m@ d@s cl"s"l@s n$ p$d&m s&r $m|t|d$s.
- @s cl"s"l@s d& |n|c|@l|z@$ & |ncr&m&nt$ p$d&m s& c$nst|t"|r d& vr|
$s c$m@nd$s c@d@ "m@; n&ss& c@s$, $s c$m@nd$s d&v&m s&r
s&p@r@d$s &ntr& s| p$r vrg"l@s.

&x&mpl$s:

1)
/* n&st& c@s$, x "s@d$ c$m$ v@r|v&l d& c$ntr$l& d$ l@$
(c$ntr$l@ @ &x&c"$ &ntr& 1 & 100) & t@mbm t&m $ s&" v@l$r
|mpr&ss$ p&l@ f"n$ pr|ntf */

f$r (x = 1; x <= 100; x++)


{
pr|ntf(%d, x);
}

2)
/* n&st& c@s$ @ s&q"nc|@ d& c$m@nd$s n"l@, & $ l@$
"t|l|z@d$ s$m&nt& p@r@ g@st@r t&mp$ c$nt@nd$ d& 0 @ 999 */

f$r (x = 0; x< 1000; x++);

3)
/* n$ h |ncr&m&nt$, & $ l@$ &x&c"t@d$ @t q"& $ v@l$r
d|g|t@d$ p&l$ "s"r|$ s&j@ 10 */

f$r (x = 0; x != 10;)
sc@nf(%d, &x);

4)
/* d"@s v@r|v&|s s$ |n|c|@l|z@d@s, t&st@d@s & |ncr&m&nt@d@s */

f$r (x = 0, y = 0; x + y < 100; x++, y++)


pr|ntf(%d, x + y);

4.5 C$m@nd$s d& |nt&rr"p$

4.5.1 C$m@nd$ br&@k

$ c$m@nd$ br&@k p$d& s&r "t|l|z@d$ p@r@ |nt&rr$mp&r @ &x&c"$ d& "m l@$ @
q"@lq"&r m$m&nt$. S$m&nt& $ l@$ m@|s |nt&rn$ |nt&rr$mp|d$, & @ &x&c"$ c$nt|
n"@ n$ c$m@nd$ s&g"|nt& @ &ss& l@$.

&x&mpl$:

#|ncl"d& <stdl|b.h> /* r&q"&r|d@ p@r@ "s@r r@nd() */


#|ncl"d& <std|$.h>

v$|d m@|n(v$|d)
{

|nt s$rt&|$ = r@nd(); /* g&r@ "m nm&r$ @l&@tr|$


&ntr& 0 & 32767 */
|nt n"m, x;
f$r (x = 0; x<10; x++)
{
pr|ntf(T&nt& @c&rt@r $ nm&r$ (&ntr& 0 & 32767).);
pr|ntf(Vc t&m %d t&nt@t|v@s., 10 x);
sc@nf(%d, &n"m);
|f (n"m == s$rt&|$) /* s& @c&rt$" $ nm&r$ */
{
br&@k; /* |nt&rr$mp& $ l@$ (n$ s$
n&c&ssr|@s m@|s t&nt@t|v@s) */
}
}

/* s& x |g"@l @ 10, $ "s"r|$ &sg$t$" s"@s t&nt@t|v@s


s&m $bt&r s"c&ss$ */

|f (x < 10)
{
pr|ntf(M"|t$ b&m!);
}
&ls&
{
pr|ntf(L@m&ntv&l!);
}
}

4.5.2 C$m@nd$ c$nt|n"&

$ c$m@nd$ c$nt|n"& t&m f"nc|$n@m&nt$ s&m&lh@nt& @$ br&@k, c$m @ d|f&r&n@


d& q"& s$m&nt& @ |t&r@$ c$rr&nt& |nt&rr$mp|d@; $" s&j@, @ &x&c"$ d$ l@$
c$nt|n"@ @ p@rt|r d$ |nc|$ d@ prx|m@ |t&r@$.

&x&mpl$:

/* |mpr|m& $s nm&r$s p@r&s

f$r (x = 0; x < 100; x++)


{
/* s& $ nm&r$ n$ p@r, p@ss@ p@r@ @ prx|m@ |t&r@$
s&m |mpr|m|r */

|f (x % 2 != 0)
c$nt|n"&;

pr|ntf(%d, , x);
}

5. M$d"l@r|z@$ &m C

5.1 F"n&s
&m C n$ &x|st& "m@ d|st|n$ &ntr& f"n&s & s"br$t|n@s. $" s&j@, t$d@s @s s"br$t|
n@s, d$ p$nt$ d& v|st@ d& @lg$r|tm$s, p$d&m s&r tr@t@d@s c$m$ f"n&s q"& n$
r&t$rn@m n&nh"m v@l$r.

F$rm@t$ d& d&cl@r@$ d& f"n&s :

T|p$ d& r&t$rn$ |d&nt|f|c@d$r_d@_f"n$ (t|p$1 p@r@m1, t|p$2


p@r@m2,..., t|p$N p@r@mN)
{

/* c$rp$ d@ f"n$ */

r&t"rn v@l$r d& r&t$rn$;

} /* f|m d@ f"n$ */

T|p$ d& r&t$rn$ &sp&c|f|c@ $ t|p$ d$ v@l$r q"& s&r r&t$rn@d$ p@r@ q"&m ch@m$" @
f"n$. Q"@nd$ $ t|p$ d& r&t$rn$ f$r v$|d |st$ s|gn|f|c@ q"& s& tr@t@ d& "m@ f"n$ q"&
s& c$mp$rt@ c$m$ "m@ s"br$t|n@; $" s&j@, @ f"n$ n$ n&c&ss|t@ r&t$rn@r n&nh"m
v@l$r, @p&n@s s&r ch@m@d@.

&x&mpl$s d& t|p$s d& r&t$rn$ n$s c@b&@lh$s d@s f"n&s:

|nt f"nc1(...) /* r&t$rn@ "m v@l$r |nt&|r$ */


v$|d f"nc2(...) /* n$ r&t$rn@ n&nh"m v@l$r. C$mp$rt@-s& c$m$
s"br$t|n@ */

$ c$m@nd$ r&t"rn "t|l|z@d$ p@r@ r&@l|z@r $ r&t$rn$ d@ f"n$; &st& p$d& s&r "t|l|
z@d$ &m q"@lq"&r p$nt$ d@ f"n$ q"& s& d&s&j& f|n@l|z@r @ s"@ &x&c"$ &
r&t$rn@r $ v@l$r (s& @ f"n$ r&t$rn@r @lg"m v@l$r) p@r@ q"&m @ ch@m$".

V@l$r d& r&t$rn$ $ v@l$r @ s&r &f&t|v@m&nt& r&t$rn@d$ & p$d& s&r t@nt$ "m@
v@r|v&l c$m$ "m@ c$nst@nt&; n$s c@s$s &m q"& @ f"n$ n$ r&t$rn@ n&nh"m v@l$r
$ c$m@nd$ r&t"rn d&v& s&r "t|l|z@d$ s$z|nh$ $" p$d&-s& s|mpl&sm&nt& $m|t-l$, $ q"&
f@r c$m q"& @ f"n$ r&t$rn& @"t$m@t|c@m&nt& @$ s&" f|n@l.

&x&mpl$s d& "s$ d& r&t"rn:

r&t"rn 0; /* r&t$rn@ $ v@l$r c$nst@nt& 0 */


r&t"rn v@r; /* r&t$rn@ $ v@l$r d@ v@r|v&l v@r */
r&t"rn; /* n$ r&t$rn@ v@l$r. "s@d$ p@r@ f"n&s c$m
r&t$rn$ d$ t|p$ v$|d */

$s p@rm&tr$s p@r@m1 @ p@r@mN |d&nt|f|c@m $s p@rm&tr$s q"& s& d&s&j@


p@ss@r p@r@ @ f"n$. C@d@ "m d&st&s p@rm&tr$s p@ss@ @ s&r "m@ v@r|v&l
l$c@l d@ f"n$ d& t|p$ t|p$1 @ t|p$N & |n|c|@l|z@d$ c$m $ v@l$r q"& f$| p@ss@d$
p@r@ s| n$ m$m&nt$ d@ ch@m@d@ d@ f"n$. F"n&s q"& n$ r&c&b&m n&nh"m
v@l$r c$m$ p@rm&tr$ d&v&m s&r d&cl@r@d@s c$m @ p@l@vr@ v$|d &ntr& $s
p@rnt&s&s.

&x&mpl$s d& d&cl@r@&s d& p@rm&tr$s n$ c@b&@lh$ d@s f"n&s:

/* d$|s p@rm&tr$s, "m |nt & "m ch@r. $ ... s& r&f&r& @ "m t|p$
d& r&t$rn$ q"@lq"&r */
... F"nc1(|nt v@r, ch@r v@r2)
{
}
... F"nc2 (v$|d) /* n$ r&c&b& n&nh"m p@rm&tr$ */
{
}

&x&mpl$ d& f"n$ & pr$gr@m@ &m C q"& @ ch@m@:

|nt f"nc1 (ch@r c@r@c, |nt |nt&|r$, fl$@t fl"t"@nt&) /* d&cl@r@c$ d@


f"n$ */
{
/* p$d&-s& d&cl@r@r $"tr@s v@r|v&|s @q"| d&ntr$, c$m$ &m "m
tr&ch$ n$rm@l d& pr$gr@m@ &st@s v@r|v&|s s$ l$c@|s d@ f"n$ */
|nt $"tr@;

/* "s$ d@s v@r|v&|s r&c&b|d@s c$m$ p@rm&tr$ */


pr|ntf(%c, c@r@c); pr|ntf(%f, fl"t"@nt&);
sc@nf(%d, &$"tr@);

pr|ntf(%d, |nt&|r$ + $"tr@);

r&t"rn $"tr@; /* r&t$rn@ $ v@l$r d@ v@r|v&l $"tr@ */

} /* f|m d@ f"n$ */

v$|d m@|n (v$|d) /* pr$gr@m@ pr|nc|p@l */


{
ch@r c1;
fl$@t f;
|nt r&s"lt@d$;
|nt |nt&|r$;
/*&st@ v@r|v&l |nt&|r$ &x|st& n$ &sc$p$ d@ f"n$ m@|n,
l$g$ n$ t&m n@d@ @ v&r c$m @ v@r|v&l |nt&|r$ q"& cr|@d@ n@
f"n$ f"nc1 n$ m$m&nt$ d@ p@ss@g&m d$s p@rm&tr$s */

/* l "m nm&r$ |nt&|r$, "m c@r@ct&r & "m fl$@t */


sc@nf(%d, %c, %f, &|nt&|r$, &c1, &f);

/* ch@m@ @ f"n$ f"nc1 c$m $s p@rm&tr$s n@ $rd&m c$rr&t@ */


r&s"lt@d$ = f"nc1(c1, |nt&|r$, f);
pr|ntf(%d, r&s"lt@d$); /* |mpr|m& r&s"lt@d$ d@ f"n$ */

$bs&rv@&s:

- m@|n () t@mbm "m@ f"n$, p$rm &sp&c|@l j q"& &l@ r&pr&s&nt@ $


p$nt$ d& p@rt|d@ p@r@ q"@lq"&r pr$gr@m@ &m C;
- $ r&s"lt@d$ d@ f"n$ f"nc1, n$ &x&mpl$ @c|m@, n$ pr&c|s@ n&c&ss@r|
@m&nt& s&r @tr|b"d$ @ "m@ v@r|v&l (n$ c@s$, r&s"lt@d$); s& |st$ n$
@c$nt&c&r $ v@l$r d& r&t$rn$ d@ f"n$ s|mpl&sm&nt& s&r p&rd|d$. P$rm,
c$m$ @ f"n$ f$| f&|t@ p@r@ r&t$rn@r "m v@l$r |nt&|r$ |st$ d&v& s&r &v|
t@d$, p$rq"& c$nst|t"|-s& &m "m@ m &str"t"r@$ & "s$ d@ f"n$;
- T$d@s @s v@r|v&|s d&cl@r@d@s d&ntr$ d$ c$rp$ d& "m@ f"n$ s$ l$c@|s
@ &l@, $" s&j@, s &x|st&m &nq"@nt$ @ f"n$ &st s&nd$ &x&c"t@d@.

T$d@s @s f"n&s d&v&m s&r c$nh&c|d@s n$ l$c@l $nd& f$r&m "t|l|z@d@s, $" s&j@,
@ s"@ d&cl@r@$ d&v& v|r @nt&s d$ "s$. C@s$ n$ s& d&s&j& |mpl&m&nt@r @
f"n$ @nt&s d$ l$c@l $nd& &l@ v@| s&r "t|l|z@d@ p$d&-s& &scr&v&r "m pr$tt|p$ d@
s&g"|nt& f$rm@:

T|p$ d& r&t$rn$ |d&nt|f|c@d$r_d@_f"n$ (t|p$1 p@r@m1, t|p$2


p@r@m2,..., t|p$N p@r@mN);

$ pr$tt|p$ d&v& s&r c$l$c@d$ @nt&s d@ ch@m@d@ d@ f"n$, s|n@l|z@nd$ &nt$ @$


c$mp|l@d$r q"& @q"&l@ f"n$ &x|st& & v@| s&r |mpl&m&nt@d@ @d|@nt&. N$ n$ss$
&x&mpl$, s& q"|sss&m$s &scr&v&r @ f"n$ f"nc1 d&p$|s d@ f"n$ m@|n
d&v&r@m$s |ncl"|r "m pr$tt|p$ d& f"nc1 @nt&s d&l@.

C"|D@D$!! $ pr$tt|p$ n$ &x@t@m&nt& |g"@l @$ c@b&@lh$ d@ f"n$, &l& p$ss"|


"m p$nt$-&-vrg"l@ @ m@|s n$ f|n@l!

5.2 V@r|v&|s gl$b@|s

&m C c$ns|d&r@-s& c$m$ v@r|v&l gl$b@l t$d@s @q"&l@s v@r|v&|s d&cl@r@d@s


f$r@ d$ &sc$p$ d& q"@lq"&r f"n$ (|ncl"s|v& d@ f"n$ m@|n). Q"@lq"&r v@r|v&l s
c$nh&c|d@ @ps @ s"@ d&cl@r@$, l$g$ c$st"m@-s& d&cl@r@r t$d@s @s v@r|v&|s
gl$b@|s n$ |nc|$ d$ pr$gr@m@, @nt&s d@ |mpl&m&nt@$ d@s f"n&s q"& @ "t|l|z@m.

&x&mpl$ d& d&cl@r@$ & "s$ d& v@r|v&|s gl$b@|s:

|nt c;
ch@r t;

/* f"n$ q"& r&t$rn@ "m v@l$r |nt&|r$ & n$ r&c&b& p@rm&tr$ */


|nt f"nc1 (v$|d)
{
/* &x|st& "m@ v@r|v&l t q"& gl$b@l, p$rm &st@ f"nc|$n@ c$m$
"m@ v@r|v&l l$c@l */
|nt t;
/* c gl$b@l, l$g$ p$d& s&r "t|l|z@d@ d&ntr$ d@ f"n$ f"nc1
*/
|f (c!=0)
{
c++;
t = c*2;
/* n&st& c@s$ $ v@l$r d& t r&t$rn@d$ $ d@ v@r|v&l l$c@l,
j q"& d&f|n|&s l$c@|s s$br&p&m-s& @ d&f|n|&s gl$b@|s n$s
&sc$p$s $nd& &x|st&m */
r&t"rn t;
}
&ls& r&t"rn 0;

v$|d m@|n(v$|d)
{
|nt r&t$rn$;
pr|ntf(&ntr& c$m "m c@r@ct&r:);
sc@nf(%c, &t);
pr|ntf(&ntr& c$m "m |nt&|r$:);
sc@nf(%d, &c); /*@s v@r|v&|s t & c p$d&m s&r "s@d@s
@q"| p$rq"& s$ gl$b@|s */

r&t$rn$ = f"nc1(); /* ch@m@ @ f"n$ f"nc1 & r&t$rn@ $ v@l$r


n@ v@r|v&l r&t$rn$ */

pr|ntf(\nR&s"lt@d$: %d, r&t$rn$);

5.3 P@ss@g&m d& p@rm&tr$s p$r v@l$r

N@ p@ss@g&m p$r v@l$r, "m@ cp|@ d$ v@l$r d$ @rg"m&nt$ @rm@z&n@d$ n$


p@rm&tr$ d@ f"n$ ch@m@d@. Q"@lq"&r @lt&r@$ d&st& p@rm&tr$ n$ s&
r&fl&t& n$ v@l$r $r|g|n@l d$ @rg"m&nt$.

"m@ @lt&rn@t|v@ p@r@ @ p@ss@g&m d& p@rm&tr$ d& v@l$r, q"& @ p@ss@g&m
d& p@rm&tr$s p$r r&f&rnc|@ "t|l|z@nd$ p$nt&|r$s, p&rm|t|r|@ q"& @ f"n$
@lt&r@ss& $ v@l$r d$ p@rm&tr$ d& f$rm@ q"& &st@ @lt&r@$ s& r&fl&t|ss& n$
v@l$r $r|g|n@l d$ @rg"m&nt$. &st& t|p$ d& p@ss@g&m d& p@rm&tr$s s&r m&lh$r
&st"d@d$ n$ c@pt"l$ s$br& P$nt&|r$s.

5.4 F"n&s c$m l|st@ v@r|v&l d& p@rm&tr$s

&m C p$ssv&l d&cl@r@r f"n&s c"j@ q"@nt|d@d& d& p@rm&tr$s n$ d&f|n|d@.


C@b& &nt$ f"n$, p$r m&|$ d$ "s$ d& f"n&s &sp&cf|c@s d& b|bl|$t&c@ d& C,
$bt&r c@d@ "m d$s p@rm&tr$s r&c&b|d$s & c$nv&rt-l$ p@r@ $ t|p$ d&s&j@d$.

@ b|bl|$t&c@ cstd@rg pr$v @lg"ns t|p$s d& d@d$s & f"n&s "t|l|z@d@s p@r@ @
$bt&n$ d$s p@rm&tr$s d& "m@ l|st@:

v@_l|st t|p$ d& l|st@ d& p@rm&tr$s v@r|v&|s, "t|l|z@d$ p@r@ d&cl@r@r "m@
&str"t"r@ (v&r $ c@pt"l$ s$br& &str"t"r@s d& d@d$s) q"& c$ntm $s p@rm&tr$s v@r|
v&|s r&c&b|d$s.

v$|d v@_st@rt(v@_l|st l|st@, "lt|m$) m@cr$ "t|l|z@d@ p@r@ |n|c|@l|z@r @ l|st@ d&
p@rm&tr$s d$ t|p$ v@_l|st. "lt|m$ $ |d&nt|f|c@d$r d$ lt|m$ p@rm&tr$ d|r&|t@ q"&
n$ p&rt&nc& l|st@ v@r|v&l d& p@rm&tr$s.

t|p$ v@_@rg(v@_l|st l|st@, t|p$) p&rm|t&, @ p@rt|r d@ l|st@ d$ t|p$ v@_l|st, $bt&r $
v@l$r d& t|p$ t|p$ d$ prx|m$ @rg"m&nt$ d@ l|st@.

v$|d v@_&nd(v@_l|st l|st@) f|n@l|z@ @ $bt&n$ d$s p@rm&tr$s d@ l|st@.

P@r@ d&cl@r@r "m@ f"n$ c$m l|st@ v@r|v&l d& p@rm&tr$s:

T|p$ d& r&t$rn$ |d&nt|f|c@d$r_d@_f"n$ (t|p$1 p@r@m1, t|p$2 p@r@m2,


...);

$nd& @ &l|ps& (. . .) d&n$t@ $ |nc|$ d@ l|st@ v@r|v&l d& p@rm&tr$s.


"m &x&mpl$: f"n$ q"& r&c&b& n v@l$r&s & r&t$rn@ @ s"@ md|@:

/* n @ q"@nt|d@d& d& v@l$r&s, q"& vm &m s&g"|d@ n@ l|st@ d&


p@rm&tr$s */
fl$@t m&d|@ (|nt n, ...)
{
fl$@t s$m@ = 0;
|nt |;
v@_l|st v@l$r&s; /* l|st@ d& p@rm&tr$s */
v@_st@rt(v@l$r&s, n); /* n $ lt|m$ p@rm&tr$ f|x$ @nt&s d@
l|st@ d& p@rm&tr$s v@r|v&|s */

f$r (| = 0; | < n; |++)


{
/* @q"| $ v@l$r d$ prx|m$ p@rm&tr$, d& t|p$ fl$@t @d|c|
$n@d$ @ s$m@*/
s$m@ += v@_@rg(v@l$r&s, fl$@t);
}
v@_&nd(v@l$r&s); /* f|n@l|z@ @ $bt&n$ d$s p@rm&tr$s */

r&t"rn s$m@/n;

6. V&t$r&s & m@tr|z&s

6.1 D&f|n|$ d& v&t$r

V&t$r &m C "m@ v@r|v&l c$mp$st@ p$r "m c$nj"nt$ d& d@d$s c$m "m m&sm$ n$m&
(|d&nt|f|c@d$r) & |nd|v|d"@l|z@d@s p$r "m nd|c&.

6.2 D&cl@r@$ d& v&t$r &m C

$ v&t$r d&cl@r@d$ d@ s&g"|nt& m@n&|r@:

t|p$ n$m& [t@m@nh$];

$nd& t|p$ $ t|p$ d& c@d@ "m d$s &l&m&nt$s d$ v&t$r & t@m@nh$ $ nm&r$ d&
&l&m&nt$s d$ v&t$r.

P@r@ @c&ss@r "m &l&m&nt$ d$ v&t$r @ s|nt@x& :

n$m& [nd|c&];

|MP$RT@NT&! $ nd|c& d$ pr|m&|r$ &l&m&nt$ d& "m v&t$r S&MPR& Z&R$!


@ss|m, |nd|c& p$d& v@r|@r &ntr& 0 & $ v@l$r d& t@m@nh$ 1.
P$r &x&mpl$, p@r@ @ d&cl@r@$ d& "m v&t$r ch@m@d$ t&st& c"j$ t|p$ d$s d@d$s
ch@r & q"& t&nh@ 4 p$s|&s d&cl@r@-s&:

ch@r t&st& [4];

$ nd|c& d$ lt|m$ &l&m&nt$ |nd&xv&l d$ v&t$r 3, p$|s &m C @ pr|m&|r@ p$s|$ "t|l|
z@d@ @ p$s|$ 0. N&st& c@s$ @s p$s|&s d|sp$nv&|s n$ v&t$r s$ @s s&g"|nt&s:

t&st&[0]
t&st&[1]
t&st&[2]
t&st&[3]

6.3 P@ss@g&m d& v&t$r c$m$ p@rm&tr$ p@r@ f"n$

&x|st&m trs m@n&|r@s p$ssv&|s:

t|p$_r&t$rn$ n$m& (t|p$ v[t@m], ...);


t|p$_r&t$rn$ n$m& (t|p$ v[], ...);
t|p$_r&t$rn$ n$m& (t|p$ * v, ...);

&m t$d$s $s c@s$s @ f"n$ r&c&b& "m@ r&f&rnc|@ (&nd&r&$). N$t& q"& n@ lt|
m@ m@n&|r@ "t|l|z@d$ "m p$nt&|r$, q"& s&r &xpl|c@d$ m@|s @d|@nt&.

P$r s&r p@ss@d@ "m@ r&f&rnc|@, @s @lt&r@&s f&|t@s n$s &l&m&nt$s d$ v&t$r
d&ntr$ d@ f"n$ s&r$ r&fl&t|d$s n$s v@l$r&s $r|g|n@|s d$ v&t$r (j q"& s& "t|l|z@r
s"@ p$s|$ r&@l n@ m&mr|@).

P$r &x&mpl$:

v$|d tr$c@ (|nt v[])


{
|nt @"x;
v[0] = v[1];
v[1] = @"x;
}

v$|d m@|n(v$|d)
{
|nt n"ms[2];
n"ms[0] = 3;
n"ms[1] = 5;
tr$c@ (n"ms); /* $ @rg"m&nt$ $ n$m& d$ v&t$r */
/* |mpr|m& 5, 3, j q"& $s v@l$r&s d$ v&t$r n"ms f$r@m
tr$c@d$s d&ntr$ d@ f"n$ tr$c@ */
pr|ntf(%d, %d, n"ms[0], n"ms[1]);
}

6.4 D&cl@r@$ d& m@tr|z

@ d&cl@r@$ d& m@tr|z&s s& d d@ s&g"|nt& m@n&|r@:

t|p$ n$m&[d|m1][d|m2];
$nd& d|m1 & d|m2 s$ @s d"@s d|m&ns&s d@ m@tr|z (n$ c@s$ d& "m@ m@tr|z b|-d|
m&ns|$n@l). P@r@ s& @c&ss@r "m &l&m&nt$ d@ m@tr|z @ s|nt@x& :

n$m&[|nd1][|nd2];

$nd& |nd1 & |nd2 s&g"&m @s m&sm@s r&gr@s d$s nd|c&s d& v&t$r&s "n|d|m&ns|$n@|s
($" s&j@, p$d&m @ss"m|r v@l$r&s &ntr& 0 & @ d|m&ns$ 1), s&nd$ |nd1 $ nd|c& d@ l|
nh@ & |nd2 $ nd|c& d@ c$l"n@.

@s r&pr&s&nt@$ grf|c@ d& "m@ m@tr|z M 3x2 s& d d@ s&g"|nt& m@n&|r@:

M[0][0] M[0][1]
M[1][0] M[1][1]
M[2][0] M[2][1]

N@ m&mr|@ &l@ p$d& s&r v|st@ d@ s&g"|nt& f$rm@ ($bs: $s v@l$r&s d@ &sq"&rd@
r&pr&s&nt@m &nd&r&$s @rb|trr|$s d& m&mr|@, c$ns|d&r@nd$ "m@ m@tr|z d&
&l&m&nt$s ch@r d& "m byt&):

0100 M[0][0]
0101 M[0][1]
0102 M[1][0]
0103 M[1][1]
0104 M[2][0]
0105 M[2][1]

6.5 P@ss@g&m d& m@tr|z c$m$ p@rm&tr$ p@r@ f"n$

@s p$ss|b|l|d@d&s s$ @s s&g"|nt&s:

t|p$ r&t$rn$ n$m&(t|p$ m[][d|m2],...)


t|p$ r&t$rn$ n$m&(t|p$ *m,...)

N$ pr|m&|r$ c@s$, d|m2 d&v& s&r f$rn&c|d$ p@r@ q"& $ c$mp|l@d$r p$ss@ c@lc"l@r $
d&sl$c@m&nt$ &m byt&s &m r&l@$ @$ &nd&r&$ d$ pr|m&|r$ &l&m&nt$ p@r@
"m@ d&t&rm|n@d@ p$s|$.

N$ s&g"nd$ c@s$, m s p$d& s&r "t|l|z@d$ @tr@vs d@ @r|tmt|c@ d& p$nt&|r$s (&xpl|
c@d@ @d|@nt&).

&x&mpl$:

v$|d |nv&rt&_l|nh@(|nt m[][2])


{
|nt @"x1, @"x2;
@"x1 = m[0][0];
@"x2 = m[0][1];
m[0][0] = m[1][0];
m[0][1] = m[1][1];
m[1][0] = @"x1;
m[1][1] = @"x2;
}

v$|d m@|n(v$|d)
{
|nt m[2][2];
.
.
.
|nv&rt&_l|nh@(m);
.
.
.
}

6.6 |n|c|@l|z@$ d& v&t$r&s & m@tr|z&s

P@r@ v&t$r&s: v@l$r&s &ntr& ch@v&s, s&p@r@d$s p$r vrg"l@s. P$r &x&mpl$ :

|nt pr|m$s [7] = {2, 3, 5, 7, 11, 13, 17};

C@s$ $ nm&r$ d& v@l$r&s d& |n|c|@l|z@$ s&j@ m&n$r q"& $ t@m@nh$ d$ v&t$r, @s
p$s|&s r&st@nt&s s&r$ pr&&nch|d@s c$m z&r$s. P$r &x&mpl$:

|nt t&st&[5] = {1, 2, 3}; /* t&st&[3] & t&st&[4] r&c&b&m 0 */

P@r@ m@tr|z&s c@d@ l|nh@ pr&&nch|d@ &ntr& ch@v&s, c$m v@l$r&s s&p@r@d$s
p$r vrg"l@s. T$d@s @s l|nh@s f|c@m &ntr& ch@v&s.
&x:

|nt m[5][3] = {{1, 2, 3,}, {3, 2, 1}, {3, 3, 2}, {1, 2, 1} {3,
2, 0}};

C@s$ @lg"m &l&m&nt$ n$ s&j@ &xpl|c|t@d$, &l& s&r pr&&nch|d$ c$m z&r$.
&x:

|nt m2[3][4] = {{3, 2, 5}, {4, 6}, {1, 2, 3, 4}};

3 2 5 0
4 6 0 0
1 2 3 4

7 P$nt&|r$s

P$nt&|r$ &m C "m@ v@r|v&l q"&, @$ |nvs d& @rm@z&n@r "m d@d$ d& "m d&t&rm|
n@d$ t|p$, @rm@z&n@ $ &nd&r&$ d& "m d@d$ d& "m d&t&rm|n@d$ t|p$:

P$nt&|r$s s$ "s@d$s fr&q&nt&m&nt& p@r@:


@c&ss$ @ &/S m@p&@d@ &m m&mr|@
"s$ d& @l$c@$ d|nm|c@ d& m&mr|@.
@lt&rn@t|v@ p@r@ p@ss@g&m d& p@rm&tr$s p$r r&f&rnc|@ (&m C++)

7.1 D&cl@r@$ d& p$nt&|r$s &m C

$s p$nt&|r$s s$ d&cl@r@d$s d@ s&g"|nt& m@n&|r@:


t|p$ *n$m&;

$nd& n$m& $ |d&nt|f|c@d$r d$ p$nt&|r$ & t|p$ $ t|p$ d& d@d$ p@r@ $ q"@l &l& p$d&
@p$nt@r.
&x:

|nt *d;
sh$rt |nt *ptr;
fl$@t *ptr2;

7.2 $p&r@d$r&s d& p$nt&|r$

$p&r@d$r &: $p&r@d$r d& r&f&r&nc|@$. R&t$rn@ $ &nd&r&$ d& "m@ v@r|v&l.
P$d& s&r "t|l|z@d$ p@r@ |n|c|@l|z@r "m p$nt&|r$.

$p&r@d$r *: $p&r@d$r d& d&rr&f&r&nc|@$. R&t$rn@ $ c$nt&d$ d$ &nd&r&$


@p$nt@d$ p$r "m p$nt&|r$.
&x:

|nt x,@;
|nt *ptr;
x = 30;
ptr = &x; /* ptr <- &nd&r&$ d& x */
.
.
.
@ = *ptr; /* @ r&c&b& $ c$nt&d$ d$ &nd&r&$ @p$nt@d$*/

"m m$d$ d|dt|c$ p@r@ $ &nt&nd|m&nt$ d& p$nt&|r$s l&r $ s|gn|f|c@d$ d& * & &
c$m$ c$nt&d$ d$ &nd&r&$ @p$nt@d$ p$r & &nd&r&$ d&, r&sp&ct|v@m&nt&.
P$r &x&mpl$ n$ s&g"|nt& cd|g$:

|nt *ptr;
|nt x;
x = 10;
*ptr = 3; /* $ C$NT&D$ D$ &ND&R&$ @P$NT@D$ P$R ptr r&c&b& 3 */
ptr = &x; /* ptr r&c&b& $ &ND&R&$ D& x */

7.3 Pr$bl&m@s n$ "s$ d& p$nt&|r$s

- P$nt&|r$s s&mpr& d&v&m @p$nt@r p@r@ &nd&r&$s c$rr&sp$nd&nt&s @ v@r|v&|s


q"& t&nh@m s|d$ d&cl@r@d@s $" @ r&g|&s d& m&mr|@ n@s q"@|s n$ &x|st@m
d@d$s $" cd|g$ d& $"tr$s pr$gr@m@s. P$r &x&mpl$, $ s&g"|nt& cd|g$ @rm@z&n@ $
c$nt&d$ d@ v@r|v&l x &m "m &nd&r&$ q"@lq"&r, q"& p$d& s&r "m &nd&r&$ |nvl|
d$.

|nt *ptr;
|nt x = 3;
*ptr = x; /* &RR$! P@r@ $nd& $ ptr @p$nt@??? */

- P$nt&|r$s d&v&m @p$nt@r p@r@ d@d$s d$ m&sm$ t|p$ d& s"@ d&cl@r@$, d$
c$ntrr|$ p$d&m $c$rr&r |nt&rpr&t@&s &rr@d@s n@ $p&r@$ d& d&rr&nf&r&nc|
@$. P$r &x&mpl$, $ s&g"|nt& cd|g$ n$ @rm@z&n@ $ v@l$r 56 n@ v@r|v&l f, j q"&
$ p$nt&|r$ p@r@ fl$@t t&nt@r l&r $ t@m@nh$ d& "m d@d$ fl$@t @ p@rt|r d$
&nd&r&$ d& m&mr|@ d@ v@r|v&l x & n$ $ t@m@nh$ d& "m |nt, q"& $ t|p$
d&cl@r@d$ d@ v@r|v&l x.

|nt x = 56;
fl$@t *ptr;
fl$@t f;
ptr = &x; /* P$nt&|r$ p@r@ fl$@t @p$nt@ p@r@ |nt */
.
.
.
f = *ptr; /* &RR$! V@l$r d& F n$ 56 */

7.4 @r|tmt|c@ d& p$nt&|r$s

V@l$r&s n"mr|c$s |nt&|r$s p$d&m s&r @d|c|$n@d$s $" s"btr@d$s d& "m p$nt&|r$. $
r&s"lt@d$ "m &nd&r&$ q"& s&g"& @s r&gr@s d@ @r|tmt|c@ d& p$nt&|r$, $" s&j@:

P@r@ "m p$nt&|r$ d&cl@r@d$ d@ s&g"|nt& m@n&|r@:

t|p$* ptr;

& |n|c|@l|z@d$ c$m "m &nd&r&$ &nd1:

ptr = &nd1;

@ $p&r@$ ptr + N, $nd& N "m nm&r$ |nt&|r$, r&s"lt@ "m &nd&r&$ q"& |g"@l @
&nd1 m@|s N v&z&s $ t@m@nh$ d$ t|p$ d& d@d$ @p$nt@d$ ($" s&j@, $ t@m@nh$
&m byt&s d& t|p$). P$r &x&mpl$, c$ns|d&r@nd$ q"& @ v@r|v&l x f$| @l$c@d@ n$
&nd&r&$ 120:

|nt x, y;
|nt * ptr;
ptr = &x; /* ptr r&c&b& $ &nd&r&$ 120 */
y = *(ptr + 4); /* y r&c&b& $ c$nt&d$ d$ &nd&r&$ 120 + 4*(t@m@nh$
d$ |nt) == &nd&r&$ 128 */

$"tr$ &x&mpl$:

fl$@t *ptr;
ptr = (fl$@t*)100; /* p$nt&|r$ f$r@d$ p@r@ $ &nd. 100 */
.
.
.
*(ptr + 3) = 15; /* Nm&r$ 15 @rm@z&n@d$ n$ &nd&r&$ 100 + 3x4
= 112 */

7.5 R&l@$ p$nt&|r$-v&t$r

Q"@nd$ "m v&t$r d&cl@r@d$, $ |d&nt|f|c@d$r d&st& v&t$r m@rc@ $ &nd&r&$ d& |
nc|$ d@ r&@ d& m&mr|@ @l$c@d@ p$r &l&. @ss|m, $ n$m& d$ v&t$r p$d& s&r
"s@d$ c$m$ r&f&rnc|@ d& &nd&r&$ c$m $s m&sm$s $p&r@d$r&s "t|l|z@nd$s p@r@
p$nt&|r$s. P$rt@nt$:
|nt v&t$r[10], b; /* v&t$r @l$c@d$ n$ &nd. 100 (p. &x.) */
.
.
.
b = v&t$r[3]; /* p$s|$ 3 == &nd. 106 d& m&mr|@ */

&q"|v@l& @:

|nt v&t$r[10], b; /* v&t$r @l$c@d$ n$ &nd. 100 (p. &x.) */

/* N@ m&mr|@ |ss$ s&r g"@rd@d$ n@ p$s|$ 106 -> 100 + 3 x


T@m@nh$ d$ t|p$ d& d@d$ @p$nt@d$ (|nt = 2 byt&s) */
b = *(v&t$r + 3);

7.6 "s$ d& p$nt&|r$ p@r@ p@ss@g&m d& p@rm&tr$s

&m m"|t$s c@s$s |nt&r&ss@nt& q"& "m@ f"n$ f$rn&@ m@|s d$ q"& "m v@l$r d&
s@d@ c$m$ s&" r&s"lt@d$. P$rm @ s|nt@x& d& l|ng"@g&m C p&rm|t& s$m&nt& "m
v@l$r d& r&t$rn$ d|r&t$ (@tr@vs d$ c$m@nd$ r&t"rn).

$ "s$ d& p$nt&|r$s cr|@ "m@ @lt&rn@t|v@ p@r@ q"& "m@ f"n$ f$rn&@ m@|s d$ q"&
"m v@l$r d& s@d@, b@s&@d$ n$ f@t$ d& q"& $ c$nc&|t$ d& &nd&r&$ &m "m
pr$gr@m@ |nd&p&nd&nt& d& &sc$p$. $" s&j@, s& "m@ f"n$ ch@m@d$r@ f$rn&c&r
p@r@ @ f"n$ ch@m@d@ $s &nd&r&$s d& s"@s v@r|v&|s, @ f"n$ ch@m@d@
p$d&r r&c&b-l$s &m p$nt&|r$s & pr&&nch&r v@l$r&s n&st&s &nd&r&$s, q"& p$r s"@
v&z &st@r$ d|sp$nv&|s p@r@ @c&ss$ d|r&t$ p&l@ f"n$ ch@m@d$r@.

&x&mpl$:

/* f"n$ r&c&b& d$|s &nd&r&$s d& |nt c$m$ p@rm&tr$s */


v$|d tr$c@ (|nt *@, |nt *b)
{
|nt @"x;
@"x = *@; /* c$nt&d$ d$ &nd&r&$ r&c&b|d$ c$m$
p@rm&tr$ */
*@ = *b
*b = @"x;
}

v$|d m@|n(v$|d)
{
|nt n1 = 8, n2 = 5;
/* &nd&r&$s d& n1 & n2 s$ p@ss@d$s p@r@ @ f"n$ tr$c@()
*/
tr$c@ (&n1, &n2);
pr|ntf(%d, %d, n1, n2);

8 Str|ngs

8.1 D&f|n|$ d& str|ng


Str|ngs s$ s&qnc|@s d& c@r@ct&r&s d|v&rs$s. S$ c$nh&c|d$s p$r l|t&r@|s n@ t&$r|
@ d& @lg$r|tm$s &str"t"r@d$s, s&nd$ r&pr&s&nt@d$s &ntr& @sp@s. @lg"ns &x&mpl$s
d& str|ngs:

F"l@n$ d@ S|lv@,
? |nt&rr$g@$? ,
1,234,
0.

&m C, str|ngs s$ r&pr&s&nt@d@s @tr@vs d& v&t$r&s d& c@r@ct&r&s, t&rm|n@d$s


c$m $ c@r@ct&r& d& f|m d& str|ng c"j$ v@l$r n@ t@b&l@ @SC|| z&r$ (0 $" \0).

8.2 D&cl@r@$ d& str|ng

"m v&t$r &m C q"& pr&t&nd@ @rm@z&n@r "m@ str|ng n c@r@ct&r&s d&v& s&r
@l$c@d$ c$m n+1 p$s|&s d$ t|p$ ch@r p@r@ c$nt&r $ t&rm|n@d$r d& str|ng. @ |n|c|@l|
z@$ d& "m@ str|ng p$d& s&r &f&t"@d@ c$m $ "s$ d& "m@ s&q"nc|@ d&
c@r@ct&r&s &ntr& @sp@s.

&x&mpl$s d& d&cl@r@&s d& str|ng:

ch@r fr@s&[] = Pr|m&|r@ str|ng; /*|n|c|@l|z@$ s&m @ d|m&ns$ */


ch@r fr@s&[16] = Pr|m&|r@ str|ng;
ch@r fr@s&[6] = {T, &, s, t, &, 0); /* |n|c|@l|z@d$ c$m$
"m v&t$r d& c@r@ct&r&s c$m"m, f$r@nd$ $ c@r@ct&r t&rm|n@d$r */

N$ c@s$ d$ pr|m&|r$ & d$ s&g"nd$ &x&mpl$, @ r&pr&s&nt@$ d$ v&t$r d@ str|ng


fr@s& :

P r | m & | r @ f r @ s & 0

$nd& c@d@ q"@dr@d$ r&pr&s&nt@ "m byt& d& m&mr|@ (t@m@nh$ d& "m ch@r).

8.3 $p&r@&s s$br& str|ng

Str|ng n$ "m t|p$ pr|m|t|v$ d@ l|ng"@g&m C, p$r |ss$ @s s&g"|nt&s $p&r@&s N$ s$


vl|d@s:

ch@r str1[10];
ch@r str2[] = P@l@vr@ 2;
str1 = str2 /* &RR$! N$ c$p|@ str2 &m str1 */

|f (str1 == str2) /* &RR$! N$ c$mp@r@ str1 c$m str2 */


{
.
.
.
}

P@r@ $p&r@r s$br& str|ngs s$ "t|l|z@d@s f"n&s d@ b|bl|$t&c@ str|ng.h. &st@ b|bl|
$t&c@ p$ss"| @lg"m@s d&z&n@s d& f"n&s c$m d|v&rs@s v@r|@&s & p$r q"&st&s
d& s|mpl|f|c@$ @p&n@s @lg"m@s d@s pr|nc|p@|s s&r$ &xpl|c@d@s n&st& m@t&r|
@l. P@r@ m@|$r&s d&t@lh&s s$br& @s d&m@|s f"n&s, c$ns"lt@r d$c"m&nt@$
s$br& @ b|bl|$t&c@ (g&r@lm&nt& d|sp$nv&l n$s @rq"|v$s d& @j"d@ d$s @mb|&nt&s
d& d&s&nv$lv|m&nt$).

8.3.1 strl&n

Pr$tt|p$:

|nt strl&n (ch@r *str|ng)

D&scr|$: R&t$rn@ $ nm&r$ d& c@r@ct&r&s d& "m@ str|ng (&xc&t$ $ c@r@ct&r& d&
f|m d& str|ng).
&x&mpl$:

ch@r n$m&[] = F"l@n$;


pr|ntf ($ n$m& p$ss"| %d l&tr@s, strl&n (n$m&));

8.3.2 strcpy

Pr$tt|p$:

ch@r *strcpy (ch@r *str|ng1, ch@r *str|ng2)

D&scr|$: C$p|@ $ c$nt&d$ d& str|ng2 &m str|ng1 & r&t$rn@ $ &nd&r&$ d& str|ng.
&x&mpl$:

ch@r str1[10];
ch@r str2[] = P@l@vr@;
strcpy (str1, str2); /* @g$r@ str1 t@mbm c$ntm P@l@vr@ */

8.3.3 strcmp

Pr$tt|p$:

|nt strcmp (ch@r *str|ng1, ch@r *str|ng2)

D&scr|$: C$mp@r@ $s c$nt&d$s d& str|ng1 & str|ng2 c@r@ct&r @ c@r@ct&r &
r&t$rn@
0 s& str|ng1 = str|ng2
<0 s& str|ng1 < str|ng2
>0 s& str|ng1 > str|ng2

&x&mpl$:

ch@r n$m&1[] = F"l@n$


ch@r n$m&2[] = B&ltr@n$;
|f (strcmp (n$m&1, n$m&2) == 0)
{
pr|ntf (N$m&s s$ |g"@|s);
}
&ls&
{
pr|ntf (N$m&s s$ d|f&r&nt&s);
}

8.3.4. g&ts
Pr$tt|p$:

v$|d g&ts (ch@r *str|ng1)

D&scr|$: R&c&b& "m@ str|ng v|@ t&cl@d$ & @rm@z&n@ &m str|ng1. $s c@r@ct&r&s
s$ @rm@z&n@d$s @t q"& $ &nt&r s&j@ pr&ss|$n@d$.
&x&mpl$:

ch@r n$m&[10];
g&ts (n$m&);

$bs&rv@&s:

@ f"n$ g&ts() p&rm|t& q"& $ "s"r|$ f$rn&@ m@|s c@r@ct&r&s d$ q"& $s q"&
p$d&m s&r @rm@z&n@d$s n$ v&t$r, $ q"& p$d& c@"s@r "m &rr$. P@r@ &v|t@r
&st& pr$bl&m@, p$d&-s& "t|l|z@r @ f"n$ fg&ts:

ch@r n$m&[10];
fg&ts(n$m&, 10, std|n); /* std|n "m @rq"|v$ @b&rt$ p$r
p@dr$, r&l@c|$n@d$ @$s d@d$s d|g|t@d$s v|@ t&cl@d$ */

N$ &x&mpl$ m$str@d$, fg&ts r&c&b&r|@ 9 c@r@ct&r&s ($" @t q"& $ "s"r|$


t&cl@ss& &nt&r) & @rm@z&n@r|@ $s d@d$s d|g|t@d$s n@ str|ng n$m&, @d|c|
$n@nd$ $ c@r@ct&r t&rm|n@d$r d& str|ng. |mp$rt@nt& $bs&rv@r q"&, c@s$ $
"s"r|$ d|g|t@ss& &nt&r @nt&s d& 9 c@r@ct&r&s, $ c@r@ct&r d& n$v@ l|nh@
(\n) t@mbm s&r|@ @rm@z&n@d$ n$ v&t$r.

g&ts() t&rm|n@ q"@nd$ $ "s"r|$ d|g|t@ "m &sp@$, |mp&d|nd$ @ d|g|t@$ d&
fr@s&s c$m m@|s d& "m@ p@l@vr@. P@r@ c$nt$rn@r &st& pr$bl&m@ p$d&-s&
"t|l|z@r $p&s d& r&c&b|m&nt$ d& d@d$s d$ sc@nf:

sc@nf (%s, str); /* R&c&b& "m@ str|ng @t q"& $ pr|m&|r$


&sp@$ s&j@ |ns&r|d$ */
sc@nf (%[\n]s, str) /* R&c&b& "m@ str|ng @t q"& s&j@ &nv|@d$
$ c@r@ct&r& @SC|| \n, q"& c$rr&sp$nd& @ &nt&r */

8.4 &ntr@d@ c$ntr$l@d@ d& d@d$s

p$ssv&l f@z&r "m@ &ntr@d@ d& d@d$s c$ntr$l@d@ ($" s&j@, $s c@r@ct&r&s s$
ch&c@d$s @ss|m q"& s$ r&c&b|d$s) r&c&b&nd$ $s m&sm$s "m @ "m. N$ &x&mpl$ @
s&g"|r |mpl&m&nt@r&m$s "m@ &ntr@d@ d& s&nh@ q"& m$str@ $s c@r@ct&r&s * n@
t&l@ @$ |nvs d@s l&tr@s c$rr&sp$nd&nt&s "t|l|z@nd$ @ f"n$ g&tch (q"& n$ &c$@ $
c@r@ct&r d|g|t@d$ p@r@ $ m$n|t$r). N$t& q"& s s&r$ @c&|t$s l&tr@s & n$ nm&r$s
& smb$l$s.

|nt | = 0; ch@r str[9];


pr|ntf (D|g|t& "m@ s&nh@ d& $|t$ l&tr@s);
wh|l& (| < 8)
{
str[|] = g&tch();
|f (((str[|] >= @) && (str[|] <= z)) || ((str[|] >=
@) && (str[|] <= Z)))
{
pr|ntf (*);
|++;
}
}
9 @l$c@$ d|nm|c@ d& m&mr|@

@l$c@$ d|nm|c@ d& m&mr|@ c$ns|st& &m r&s&rv@r &sp@$ p@r@ $


@rm@z&n@m&nt$ d& d@d$s s$b d&m@nd@, l|b&r@nd$ &st& &sp@$ q"@nd$ n$ f$r
m@|s n&c&ssr|$. P@r@ f@z&r @l$c@$ d|nm|c@ s$ "t|l|z@d@s f"n&s d@ b|bl|
$t&c@ @ll$c.h, d@s q"@|s @s pr|nc|p@|s s&r$ @pr&s&nt@d@s @q"|.

@ f"n$ m@ll$c "s@d@ p@r@ t&nt@r @l$c@r "m &sp@$ c$ntg"$ d& n byt&s d&
m&mr|@. C@s$ c$ns|g@ &l@ r&t$rn@ $ &nd&r&$ d& |nc|$ d@ r&@ d& m&mr|@,
c@s$ c$ntrr|$ r&t$rn@ z&r$. $ pr$tt|p$ d@ f"n$ :

v$|d* m@ll$c (|nt n);

&x&mpl$:

|nt *v;
|nt n;
pr|ntf (Q"@nt$s &l&m&nt$s n$ v&t$r?);
sc@nf (%d, &n);
v = (|nt*) m@ll$c(n * s|z&$f(|nt)); /* @l$c@r n v&z&s $ t@m@nh$
d& "m |nt */
|f (v == 0)
{
pr|ntf (&rr$);
}
&ls&
{
/* @q"| p$d&r|@ v|r $ cd|g$ p@r@ m@n|p"l@$ d$ v&t$r
.
.
.
*/
fr&& (v);
}

@ f"n$ fr&&() ch@m@d@ @$ f|n@l d@ "t|l|z@$ d$ &sp@$ d& m&mr|@ d|n@m|


c@m&nt& @l$c@d$ p@r@ l|b&r@r &st& &sp@$, p&rm|t|nd$ q"& s&j@ "t|l|z@d$ p$r
$"tr@s $p&r@&s d& @l$c@$ d|nm|c@. $ pr$tt|p$ d& fr&& $ s&g"|nt&:

v$|d fr&&(v$|d* ptr)

$nd& ptr c$ntm $ &nd&r&$ |n|c|@l d@ r&@ d& m&mr|@ @ s&r d&s@l$c@d@.

Anda mungkin juga menyukai