Академический Документы
Профессиональный Документы
Культура Документы
ªî£ìè
A,A,BBä
äð®
C=A+B
Cä Cä
ÜC´
Þ¬ô Ý
Bä Bä
ÜC´
ä A > B? Aä Aä
ÜC´
ä
º®¾
ð£¾ðì 4.1
201
ªî£ìè, º®¾
àk´, ªõOf´
ð£¾ðì 4.2
«ñ«ô °PHì ð£¾ðìF,
C=A+B
B A
A
B
B
ð£¾ðì 4.3
203
ð£¾ðìèO¡ ñè
ð£¾ðìè ¶Lòñ£ù¬õ. ïñ¶ âíè¬÷ Iè êK
ò£è à¼õèð´¶ð¬õ. CPò ð£¾ðìè¬÷ âOî£è ¹K¶
ªè£÷ º®». ï¬ìº¬ø õ£M¡ CèèÀè£ù ð£¾
ðìè ðô ðèèè¬÷ â´¶ ªè£À, âù«õ Üõ¬ø
¹K¶ªè£õ¶ Iè¾ è®ù â¡ð¶ å¼ °¬ø𣴠ݰ.
âù«õ, Üî¬èò G¬ô¬ñèO âõ¼ ð£¾ðìè¬÷ ðò¡
ð´î ñ£ì£è.
W«ö 裵 èí°èÀè£ù CPò ð£¾ðìè¬÷ â´
¶ ªè£Àè. ܬõ, èí°èÀè£ù b¬õ õö°A¡ø
ùõ£ âù ð£¼è. Üõ¬ø ñùð£ì ªêò«õì£. Üõ
¬ø ¹K¶ªè£÷ ºò½è. å¼ Gó¬ô ⿶õî° º¡ð£è
ï£ âõ÷¾ CFè «õ®»÷¶ â¡ð¬î èõùF ªè£
Àè.
å¼ ªð®J¡ c÷, Üèô, àòó ÝAòõ¬ø ªè£´
Üî¡ ªè£÷÷¾ èíAìð´õ¬î ð£¾ðì 4.4- è£è.
ªî£ìè
c÷, Üèô,
c÷, Üèô,àòó
àòó
Þõ¬ø
Þõ¬øð®ð®
ªè£÷÷¾=c÷*Üèô*àòó
ªè£÷÷¬õ
C
º®¾
ð£¾ðì 4.4
204
ð£¾ðì 4.5, 0L¼¶ 3 õ¬óJô£ù âè¬÷ ð®¶,
Üõ¬ø â¿F â¿F 裴Aø¶.
ªî£ìè
Nä
Nä ð®
Ý
Ý
²N Þ¬ô
âù N = 0?
⿶
⿶ ⿶
Ý
Ý Þ¬ô
å¡Á
âù NN =
= 1?
⿶
⿶ 1?
Þó
Þó´ Ý
Ý Þ¬ô
´
âù NN =
= 2?
âù
⿶ 2?
Í¡Á
Í¡ Ý Þ¬ô
no
Ý
Á
âù NN= 3?
=
âù
⿶ 3?
º®¾
ð£¾ðì 4.5
205
ð£¾ðì 4.6, ªè£´èðì Í¡Á âèO CPò â
¬í èìP¶ ªê£Aø¶.
ªî£ìè
a, b, c ä ð®
Þ¬ô Ý
Ý
aa<<b?
b?
Þ¬ô Þ¬ô
b b< <c? a a<<c?
? ?
Ý
Ý Ý
Ý
bä ÜC´
bä cc ä
ä ÜC´ a ä ÜC´
º®¾
ð£¾ðì 4.6
206
ð£¾ðì 4.7, Þ¼ð® Gèð£¬ì (Quadratic equation) bð
îè£ù å¼ õNº¬ø¬ò õö°Aø¶.
ªî£ìè
a,
a, b,
b, cc ä
ä ð®
Ý
Ý Þ¬ô
Þ¼ð®
êñ¡ð£´
aa ==0? d=b2-4ac
Þ¬ô âù
⿶
Þ¬ Ý
Ý
Þ¬ô
d d< <0?
Þ¬ô 0?
d d= =0? Þñ£TùK
Þñ£TùK
Þ¬ô 0? Ý
Ý M¬ìè
M¬ìè
âù ⿶
âù ⿶
e=Öd
r1=(-
b+e)/2a r = -b/a
º®¾
Þ¼
Þ¼ «õÁ
«õÁ Þ¼
Þ¼ êñ
êñ
M¬ìè, r1,
M¬ìè r1 r2 M¬ìè,
M¬ìè r,r r
º®¾ º®¾
n=1,n=1,
sum=0
Þ¬ô Ý
n<=100?
n<=100
?
Sumää
Sum
ªõOJ´
ªõOJ´ aa ä
ä ð®
Sum=sum+
Sum=sum+a
º®¾
a
ð£¾ðì 4.8
208
ð£¾ðì 4.9, ªè£´èðì å¼ º¿â (Integer), ð°
âí£ (prime number) Üô¶ ðè£ âí£ â¡ð¬î bñ£Q
Aø¶.
ªî£ìè
nn ä
ä ð®
i=2
Þ¬ô Ý
i<n? i=i+1
Þ¬ô
õ°ðì£ Ý
õ°ðì£ nä i
â
â âù õ°°ñ£
⿶
âù
õ°ð´
õ°ð´
â
â âù
º®¾
end ⿶
âù
º®¾
ð£¾ðì 4.9
209
ð£¾ðì 4.10, 1+2+3+............+ n â¡ðî¡ Ã´ ªî£¬è êK
ò£è 1000 Üô¶ Üî° ê«ø ôîô£è õ¼ñ£Á, eCÁ º¿
â¬í (smallest integer) èìP¶ ªê£Aø¶.
ªî£ìè
i=1, i=1,
sum=1
Þ¬ô Ý
sum<10
sum<100?
0?
sum, i=i+1
i=i+1
sum, ii ä
ä
sum=sum+i
ªõOJ´ sum=sum+
ªõOJ´
º®¾
ð£¾ðì 4.10
ªî£ìè
i=1, i=1,
sum=1
=0 =3
sum<100?
sum<10
0?
=1 =2
º®¾
ð£¾ðì 4.11
213
ⴶ裴:
If n is 0 then print Zero
1 then print One
2 then print Two
3 then print Three
i=1
Þ¬ô Ý
i<=1000 «î¬õò£ù
«î¬õò£ù
i<=1000? ªêò
? ªêò
Ü´î õK i=i+1
ð£¾ðì 4.12
Þ¬ô
no Ý
yes
a > b? Þ¬ô
no Ý
yes
a<10?
b- ä a- ä
Print b Print a b=c+d
ÜC´ ÜC´
i=1
Þ¬ô
no Ý
yes
sum< 1000?
Þ¬ô
no Ý
yes
i<=20? n=n+i
sum = sum+i
i=i+1
i=i+1
ð£¾ðì 4.13
start
read a, b, c
if a < b then
(if a < c then
print a
else
print c
)
else
(if b < c then
print b
else
print c )
end
218
u Þ¼ð® Gèð£¬ì bî
start
read a, b, c
if a = 0 then
(
write this is not a quadratic equation
exit
)
else
find d = b2 - 4ac
if d < 0 then
write imaginary roots
else
if d = 0 then
r = -b/a
write equal roots
write r, r
else
r1 = (-b + d)/ 2a
r2 = (-b - d)/2a
write unequal roots
write r1, r2
end
219
u ô ªî£¬è ÝJó¬î â´ õ¬ó
start
i=1
sum = 1
while sum < 1000 do
i=i+1
sum = sum + i
print i and sum
end
223
«ñèì ð®G¬ôè¬÷ º¬øð®ò£ù «ð£L °Pº¬ø
èì¬÷è÷£è â¿F ð£«ð£.
Read 100 numbers and put them in an array, as a(1), a(2) etc.
Do for i = 1 to 99
Let j=position
224
a(i) ñÁ a(i) Þó®¡ ñF¹è¬÷» Þì ñ£Áî:
Let temp = a(i)
a(i) = a(j)
a(j) = temp
Þ«è, Þõ£Á â¿Fù£ H¬öò£A «ð£°.
a(i) = a(j)
a(j) = a(i)
è£óí, ºî èì¬÷ G¬ø«õøðì¾ì«ù a(i)- ¡ ð¬öò
ñF¹ Þöèð´Aø¶.
4.2 C-ªñ£N Góô£è - æ ÜPºè
Góô£è¶° Iè¾ ðóõô£è ðò¡ð´îð´ ªêõ£
° ªðø Góô£è ªñ£N C-ªñ£Nò£°. ºð¶ Ý´èÀ°
º¡ù£ ã¯&¯ ªð ݾ ÃìF ªì¡Qv â.KC, C-
ªñ£N¬ò à¼õ£Aù£. ªî£ìèF, ÎQv Þòè º¬ø¬ñ
«ò£´ Þ¬í¶ ðò¡ð´¶õîªèù õ®õ¬ñèðì «ð£F
½, C-ªñ£N å¼ ªð£¶ðò¡ ªñ£Nò£è FèAø¶. C-ªñ£N,
ªêòFø¡ Iè¶; ªïA¾ ñ ªè£ì¶; ªðò¾Fø¡
(Portability) ªðø¶. å¼õ¬è èEªð£PJ Þò°õîè£è â¿î
ðì ªñ¡ªð£¼¬÷, âMî ñ£øº Þ¡P«ò£ Üô¶ CPî÷¾
ñ£ø¶ì«ù£ «õÁõ¬è èEªð£PJ GÁM Þòè º®».
Þî° ð¬ð«ò ªðò¾ Fø¡ â¡A«ø£. C-ªñ£N ð«õÁ
ðì ªêò°Pè¬÷» (Operators) èì¬÷è¬÷» (Commands)
ªè£´÷¶. Þòè º¬ø¬ñè (Operating Systems), Gó ªðòH
è (Compilers), à¬ó ªêòLè (Text Processors), îó¾î÷ «ñô£
º¬ø¬ñè (Database Management Systems) «ð£¡ø ðô Mîñ£ù
º¬ø¬ñ ªñ¡ªð£¼è¬÷ C-ªñ£NJ à¼õ£è º®». ܶ
ñ´I¡P ðò¡ð£´ ªñ¡ªð£¼è¬÷ (Application Software) à¼
õ£°õî° C-ªñ£N Iè¾ ãø¶.
C-ªñ£Nò£ù¶ W裵 Ü®ð¬ì õ¬è àÁ¹è÷£
Ýù¶:
® ñ£PLè (Constants)
® °Pªðòè (Identifiers)
® GÁî°Pè (Punctuation)
® Cø¹ ªê£è (Keywords)
225
Þî àÁ¹è ܬù¬î» «ê¶ ªñ£îñ£è M¬ôè
(tokens) â¡A«ø£. GóªðòHò£ù¶ «ñ½ CPò àÁ¹
è÷£è Ãø£è º®ò£î, Íô GóL¡ à¬óð°F«ò M¬ô
âùð´Aø¶.
number = number + 1;
228
Ü«î«ð£ô, M´ð´ õK¬ê¬ò ðò¡ð´F, Cô ÜCìMò
ô£î °P»¼è¬÷ °PHìô£.
ⴶ裴è:
\a ñE (Beep)
\b H¡QìªõO (Back Space)
\f ð®õ ªê½¶¬è (Form Feed)
\r ªê½F F¼ð (Carriage Return)
\n ¹Fò õK (New Line)
\0 Þ¡ñ °P»¼ (null character)
H¡ê£¾ «è£¬ì«ò å¼ °P»¼ ñ£PLò£è °PHì,
Þó´ H¡ê£¾ «è£´è¬÷ (\\) ðò¡ð´î «õ´.
4.2.1.4 êó G¬ô»¼ (String literal)
êó G¬ô»¼ Üô¶ êó ñ£PL â¡ð¶, º¬ø¬ñJ¡ °P»¼
ªî£°FJ½÷ °P»¼èO¡ êó¬î Þó¬ì «ñ«è£
°PèÀ° î¼õ. º¡Qòð£è (by default), Þ¡ñ °P»¼
(\0) êó G¬ô»¼M¡ ÞÁF °P»¼õ£è «ê¶ ªè£÷ð´.
å¼ êó ñ£PLJ¡ ð°Fò£è Þó¬ì «ñ«è£ °P» Þìªðø
«õ´ªñQ M´ð´ M¬ê¬ò (\) ðò¡ð´î «õ´.
â¡ð¶ 㹬ìò êó G¬ô»¼. Þî êó G¬ô»¼M
hello
à÷ ⿶èO¡ êKò£ù âE¬è, ÞÁFJ à÷ Þ¡ñ
°P»¼¬õ» «ê¶ 6 Ý°. Þ¡ñ °P»¼ èE ¹ô
ð죶. G¬ùõèF Þî êó¬î Þ¼F¬õè ÝÁ ¬ð´è
«î¬õ. â¡ø£½ ÞêóF¡ c÷ (length) â¡ð¶ 5 ⿶è«÷
Ý°.
4.2.2. °Pªðòè (Identifiers)
å¼ GóL à÷ ñ£Pè (Variables), ªêòÃÁè (functions),
îóMùè (data types), C¬ìè (labels) ÝAòõ¬ø °P°
ªðòè °Pªðòè âùð´A¡øù. å¼ ñ£PJ¡ ªðò ⿶
è, âè¬÷ ªè£®¼èô£. Hø °P»¼è Þìªðø
Ã죶. ñ£PJ¡ ªðòK Ü®WÁ (underscore) ñ´ Þì ªðøô£.
°¬øî Ü÷¾ æªó¿¶. ÜFè Ü÷õ£è 32 ⿶è Þìªðø
ô£. ºî ⿶, Üèó õK¬ê â¿î£è (alphabet) Þ¼è
«õ´. âè Þìªðø Ã죶. 㹬ìò ñ£P ªðòè:
229
x
length
x_value
y_value
a123
Üô¶
long i;
longÞù ñF¬ð G¬ùõèF Þ¼î, 4 ¬ð´è «î¬õ.
ªñªòè¬÷ (real ) Iè¾ ¶Lòñ£è ¬èò£÷ «õ´ªñQ
double Þù¬î ðò¡ð´î «õ´. Þ¶ G¬ùõèF 8 ¬ð´
è¬÷ â´¶ªè£À.
unsigned int â¡ð¶ int Þù¬î «ð£ô«õ 2 ¬ð´è¬÷«ò
â´¶ ªè£À. Ýù£ ÜF½÷ ܬù¶ H´èÀ ñF
H¬ù Þ¼î ðò¡ð´F ªè£÷ð´. Ýù£ ê£î£óí int
ñFH, àòñF¹ H (Þì¶ æó H) «ïñ (positive) Üô¶
âFñ (negative) â â¡ð¬î °P° °P (sign) H Ý°. int- ¡
ñF¹ - 32768 ºî +32767 õ¬ó. unsigned int- ¡ ñF¹ 0 ºî
65535 õ¬ó. Þ¶«ð£ô«õ unsigned long, unsigned char ÝAò îó
MùèÀ à÷ù.
231
4.2.3.2. ²´ ñ£Pè (Pointer Variables)
C-ªñ£NJ¡ ñ£Pè¬÷ ê£î£óí ñ£Pè (ordinary variables), ²´
ñ£Pè (pointer variables) âù õ¬èð´îô£. ê£î£óí ñ£P ܶ
ªî£ì¹¬ìò ÞùF¡ ñF¹è¬÷ â´¶ªè£À.
ⴶ裴:
int x;
Þ«è, x â¡ð¶, int ÞùF å¼ ê£î£óí ñ£P; º¿ â¬í
Üî¡ ñFð£è ãÁªè£À.
x = 10;
²´ ñ£P ÜPMèð´ º¬ø:
int *y ;
«ñèì ÜPMH y â¡ð¶ ²´ ñ£P. Þî¡ Þù -
º¿â ²´ (int *).
²´ ñ£P â«ð£¶ å¼ ºèõK¬ò«ò ñFð£è ã°.
ªð£¶õ£è, åªõ£¼ ñ£P», ܶ ê£î Þù¶° ãð, G¬ù
õèF ÞìH®¶ ªè£Aø¶. ºî¡¬ñ G¬ùõèF½÷ å
«õ£ Þ¼Hì¬î» Üî¡ ºèõK Íô Üµè º®».
«ñèì ⴶ裮 x â¡ð¶ ê£î£óí ñ£P, y â¡ð¶
²´ ñ£P. x â¡ð¶ å¼ ê£î£óí º¿â, y â¡ð¶ å¼ º¿ â
µè£ù ²´. âù«õ, x Þ¡ ºèõK¬ò y - Þ¼î º®».
y = &x;
²´è¬÷ ªð£Áîõ¬ó Þó«ì Þó´ ªêò°Pè«÷
à÷ù. å¡Á ºèõK ²´ (address of -&) ªêò°P. ñªø£¡Á
à«ï£° (indirection-*) ªêò°P. Þó´«ñ å¼ñ ªêò°Pè
(unary operators). å«óªò£¼ ñ£PJ¡ e¶ ñ´«ñ ªêòð´ð¬õ.
å¼ñ ªêò°Pè ðP Ü´î ð°FJ ð®«ð£.
x å¼ º¿â â¡ðî£, G¬ùõèF Þó´ ¬ð´è¬÷
â´¶ ªè£À. Üî¡ ºèõKè¬÷ W«ö à÷õ£Á ðìñ£è
à¼õAèô£: 948 949
X
232
x-¡ ºèõK 948 â¡ð¬î ðìF è£è. ºî¡¬ñ G¬ù
õèF åªõ£¼ ¬ð¬ì» Üî¡ ºèõK Íô Üµè º®
». G¬ùõèF å¼ ñ£P Þ¼° ÞìF¡ ºèõK¬ò ÜPò
ºèõK ²´ (address of - &) ªêò°P¬ò ðò¡ð´î «õ´.
y = &x;
â¡ø ÃP, x- ¡ ºèõK y â¡Â ²´ ñ£PJ ðF¾ ªêò
ð´÷¶. y ²´ ñ£P â¡ðî£, ܶ ºèõK ñF¬ð ñ´«ñ
ã° â¡ðîP«õ£. y, x- ä ²´Aø¶ âù ªê£ôô£. Þî¬ù
Þõ£Á à¼õAèô£:
948 949
Y X
x-¡ ñF¹ 10 â¡è. x- ¡ ñF¬ð y â¡Â ²´ ñ£PJ¡
Íôñ£è (ãªùQ, y, x - ä ²´Aø¶ Üôõ£?) ªðø º®».
Üî°, à«ï£° (indirection - *) ªêò°P¬ò ðò¡ð´î «õ
´. Üî£õ¶, *y â¡ð¶, y- Ý ²ìð´ ºèõKJ Þ¼F
¬õèð´÷ ñF¬ð ªðÁî¼. âù«õ, x- ¡ ñF¹ 10,
²´ñ£P y, x -ä ²´Aø¶ âQ, * y - ¡ ñF¹ 10 Ý°.
«ñèì ⴶ裮 cè G¬ùM ªè£÷ «õ®
ò¬õ:
y, x â¡ø ñ£PJ¡ ºèõK¬ò ªè£´÷¶ (&x)
*y, x â¡ø ñ£PJ¡ ñF¬ð ªè£´÷¶ (x)
ºèõK ²´ (address of - &), à«ï£° (indirection -*) ªêò°P
è Þó´«ñ å¼ñ ªêò°Pè â¡ð¬î G¬ùM ªè£è.
4.2.4 ªêò°Pè (Operators)
C-ªñ£N õ÷ñ£ù ªêò°Pè¬÷ ªè£´÷¶. ªêò°P
è ªêòè¬÷ Gè¶A¡øù. G¬ø«õøðì «õ®ò å¼
ªêòð£¬ì (operaton) °PA¡ø å¼ °Pf´ (symbol) âù ªêò
°P¬ò (operator) õ¬óòÁèô£. ⡪ù¡ù ðEè¬÷ ªêò
«õ´, Üõ¬ø âî õK¬êJ ªêò«õ´ â¡ð¬î
233
ªêò°Pè èEªð£P° àí¶A¡øù. ªêòð£´è G¬ø
«õøð´A¡ø õK¬êº¬ø º¡ÂK¬ñ õK¬ê (order of prece-
dence) â¡Á ܬöèð´A¡øù. ð®ñó¹ (hierarchy) â¡Á ܬö
èð´. ªêòð£´è G¬ø«õøð´ F¬êºè (ÞìI¼¶
õô Üô¶ õôI¼¶ Þì`) ªî£ì¹Áî (associatirity), âù
ð´Aø¶. C-ªñ£NJ Íõ¬è ªêò°Pè à÷ù:
® å¼ñ ªêò°Pè (Unary operators)
® Þ¼ñ ªêò°Pè (Binary operators)
® ºñ ªêò°P (Ternary operators)
4.2.4.1 å¼ñ ªêò°Pè (Unary operators)
å¼ñ ªêò°Pè º¡ÂK¬ñ õK¬êJ ºîG¬ôJ
à÷ù. Þ¬õ å«óªò£¼ ªêò«ôH¬ò (operand) ªè£´÷ù.
èEH´ F¬êºè (associativity) õôI¼¶ Þìñ£°. å¼ñ
ªêò°PèO¡ ð®ò¬ô» ÜõP¡ ðEè¬÷» Üìõ¬í
4.1- è£è:
Üìõ¬í 4.1 å¼ñ ªêò°Pè
+ Ãì (Addition)
- èNî (Subtraction)
* ªð¼è (Multiplication) ÞìI¼¶ õô
/ õ°î (Division)
% õ°eF (Modulus)
235
ⴶ裴:
5 / 2 = 2 (H¡ù ð°F ¹øèEèð´÷¶)
5 % 2 = 1 (õ°îH¡ õ¼ eF)
º¿âè¬÷ ªð£Áîõ¬ó, õ°î ªêò°P, õ°îH¡
õ¼ ßM¬ù M¬ìò£è î¼. õ°eF ªêò°P, õ°îH¡
õ¼ eF¬ò M¬ìò£è î¼. õ°î, ªð¼è, õ°eF ªêò
°Pè, Ãì ñÁ èNî ªêò°Pè¬÷ 裮½ àò
º¡ÂK¬ñ ªðø¬õ.
°P¹: * °Pf´, ªð¼è½è£ù Þ¼ñ ªêò°Pò£è
¾, ²´ ñ£PèO¡ å¼ñ ªêò°Pò£è¾ (à
« ï £ è - indirection) ðò¡ð´îð´Aø¶. * °Pf´ ðò¡
ð´îð´ Åö¬ô ªð£Á¶ Üî¡ ªêò𣴠ܬñ
».
4.2.4.3 åd´ ªêò°Pè (Relational Operators)
åd´ Üô¶ ÌLò¡ ªêò°Pè â«ð£¶«ñ Þó´
ªêò«ôHèO¡ e¶ ªêòð´õî£ Ü¬õ Þ¼ñ ªêò°P
è÷£è«õ è¼îð´A¡øù. å«óªò£¼ MFMô° ! â¡Â ÌL
ò¡ ªêò°P (âFñ¬ø ªêò°P â¡Á ܬöèð´) å¼ñ
ªêò°P Ý°. Üî£õ¶, å«óªò£¼ ªêò«ôHJ¡ e«î ªêò
ð´. Üìõ¬í 4.3- åd´ ªêò°PèO¡ ð®ò¬ô
è£è. ܬù¶ åd´ ªêò°PèO¡ F¬êºè ÞìI¼¶
õôñ£°. Üî£õ¶, å¡Á° «ñðì ªêò°Pè å¼ èí
W´ «è£¬õJ ÞìªðP¼°ñ£J¡ ÞìI¼¶ õôñ£è å
ªõ£¡ø£è ªêòð´îð´.
Üìõ¬í 4.3 åd´ ªêò°Pè
°Pf´ ªêò𣴠õ¬è F¬êºè
== Gèó£ù (equla to)
< Mì CPò (less than)
> Mì ªðKò (greater than) ÞìI¼¶ õô
<= Mì CPò Üô¶ Gèó£ù
(less than or equal to)
>= Mì ªðKò Üô¶ Gèó£ù
(greater than or equal to)
!= Gè Üô£î (not equal to)
236
åd´ ªêò°Pè Þó´ ñF¹è¬÷ (àÁ¹è¬÷) å
H´ M¬ì ÜPò ðò¡ð´îð´A¡øù. M¬ì, êK (True), îõÁ
(False) ÝAò Þó® å¡ø£è Þ¼°. &&, || ÝAò î¼è
ªêò°Pè, Þó´ Üô¶ Üî° «ñðì åd´ «è£¬õ
è¬÷ Þ¬íè ðò¡ð´îð´A¡øù. && ªêò°P, î¼è
à (logical AND) ªêò°P Ý°. Þî ªêò°P,  Þ¬í
A¡ø Þó´ åd´ «è£¬õèÀ«ñ êK âù M¬ì î¼ñ£J¡
Þ¶¾ êK â¡ø M¬ì¬ò î¼. Þó® å¡Á Üô¶
Þó´«ñ îõÁ âù M¬ì î¼ñ£J¡ Þ¶¾ îõÁ âù M¬ì
î¼. î¼è Üô¶ (logical OR) ªêò°P ÞFL¼¶ ñ£Áðì¶.
 Þ¬íA¡ø Þó´ åd´ «è£¬õèÀ«ñ îõÁ âù
M¬ì î¼ñ£J¡ Þ¶¾ îõÁ â¡ø M¬ì î¼. Þó® å¡Á
Üô¶ Þó´«ñ êK â¡Á M¬ì î¼ñ£J¡ Þ¶¾ êK â¡ø
M¬ìî¼. åd´ ªêò°Pè, èíW´ ªêò°Pè¬÷
裮½ °¬øõ£ù º¡ÂK¬ñ ªè£ì¬õ. &&, || ÝAò¬õ å
d´ ªêò°Pè¬÷ Mì¾ º¡ÂK¬ñ °¬øî¬õ.
ⴶ裴:
â¡Â «è£¬õ â«ð£¶«ñ êK â¡ø M¬ì
(10<15) && (14<23)
¬ò«ò î¼. Þî «è£¬õ ÞìI¼¶ õôñ£è ñFHìð´.
Þó´ åd´ «è£¬õè, î¼è && ªêò°Pò£ Þ¬íè
ð´÷ù. && ªêò°P º¿«è£¬õ¬ò» ñFH´õî° º¡
ð£è, Þó´ åd´ «è£¬õèÀ Ü´î´¶ ñFHìð´.
Þ¡«ù£ ⴶ裬ì ð£«ð£.
(10<15) || (14<23) â¡Â «è£¬õ» êK â¡ø M¬ì¬ò«ò
î¼. î¼è || ªêò°P, Þó´ åd´ «è£¬õè¬÷ Þ¬í
A¡øù. î¼è Üô¶ MFJ¡ð®, Þó´ åd´ «è£¬õ
èÀ«ñ êK âQ, å´ªñ£î «è£¬õ» êK . Þî â´
¶è£® ºî åd´ «è£¬õ êK â¡ðî£, Þóì£õ¶
åd´ «è£¬õ ñFHìð죶. Þî 輶¼¾° ªðò
°Á° ²Á ñFd´ (Short Circuit Evaluation) Ý°.
î¼è à (logical AND-&&) ªêòð£®, Þó´ «è£¬õ
èÀ ºî «è£¬õ îõÁ âQ, å´ªñ£î «è£¬õ»«ñ
îõÁ Ý°. âù«õ Þóì£õ¶ «è£¬õ ñFHìð죶.
237
4.2.4.4 ñFH¼¶ ªêò°Pè (Assignment Operators)
ñFH¼¶ ªêò°P (=), õôðèº÷ ªêò«ôHJ¡
ñF¬ð, Þìðè ªêò«ôHJ Þ¼¶. C-ªñ£NJ, +=,
-=, *=, /=, %= ÝAò èíA´-ñFH¼¶ ªêò°PèÀ
à÷ù.
i=i+1;
â¡Á â¿îô£.
«ñèì ÃP, i- ¡ ñFH å¡Á I°èð´ ¹Fò
ñF¬ð i- J«ô«ò Þ¼¶õî° += ªêò°P ðò¡ð´îð
´÷¶. Þ«î«ð£ô, i *= 2 ; â¡Â ÃP, i - ¡ º¬îò ñF¹
2-Ý ªð¼èð´, ¹Fò ñF¹ i-J«ô«ò Þ¼îð´Aø¶.
ܬù¶ ªêò°PèO½, ñFH¼¶ ªêò°Pè«÷ Iè
°¬øî º¡ÂK¬ñ ªè£ì¬õ.
4.2.4.5 ñFHì õK¬ê (The order of evaluation)
ªêò°PèO¡ º¡ÂK¬ñ ðP ãªèù«õ Mõ£F¶
«÷£. ªêò°PèO¡ º¡ÂK¬ñ Ü®ð¬ìJ å¼ «è£¬õ¬ò
âõ£Á ñFH´õ¶ âù ð£«ð£. âô£õÁ° º¡ð£è,
H¬ø ܬ칰PèÀ° à÷ «è£¬õ ñFHìðì «õ
´.
5 * 2 + 8 + 3 ( 3 - 2 ) * 5
â¡Â «è£¬õ¬ò â´¶ªè£«õ£. Þ¶, W«ö à÷õ£Á
ñFHìð´:
5 * 2 + 8 + 1 * 5
(ܬ칰PèÀ° Þ¼î «è£¬õ ºîL ñFHìð´÷¶)
10 + 8 + 5 (ªð¼è, Ãì¬ôMì º¡ÂK¬ñ ªðÁAø¶)
23 (Ãì º®îH¡ «è£¬õJ¡ ñF¹ 23)
238
4.2.4.6 ºñ ªêò°P Ternary Operator)
C-ªñ£NJ å¼ ºñ ªêò°P à÷¶. Þ¶ªõ£¼ Gðî
¬ù ªêò°P (Conditional Operator) Ý°. Þ ªêò°P° ðò¡
ð´ °Pf´ ? : Ý°. Þ¶ Í¡Á ªêò«ôHè¬÷ ªè£®
¼°. Gðî¬ù ªêò°PJ¡ èì¬÷ ܬñ¹:
(Gðî¬ù «è£¬õ) ? «è£¬õ1 : «è£¬õ2 ;
Gðî¬ù «è£¬õ êK âQ, «è£¬õ1 ñFHìð´. Gð-
î¬ù «è£¬õ îõÁ âQ, «è£¬õ2 ñFHìð´.
ⴶ裴:
j = ( i < 0 ) ? -i : i;
#include <stdio.h>
main()
{
printf(Hello World);
}
240
Þî Gó¬ô ÞòAù£, Hello world â¡Â ªêF¬ò F¬ó
J 裴. C-GóL, main() âù õ¬óòÁèð´ å¼ ªêòÃÁ
èì£òñ£è Þ¼è «õ´. main() - ðòù õ¬óòÁ° ªêò
Ãø£°. Þîè£ù èì¬÷ ªî£°F¬ò ðòù â¿î«õ´.
å¼ C-Gó¬ô Þò°«ð£¶, è´ð£´ main() ªêò½ÃÁ° ñ£
øð´Aø¶. Þî ªêòÃÁ, GóL¡ ¸¬ö¾ õ£J âùð´A
ø¶. «ñ«ô»÷ GóL Þó´ ªêòÃÁè à÷ù. ÜF
å¡Á, GóL¡ ¸¬ö¾ õ£Jô£è M÷° main( ) - ðòù õ¬ó
òÁî¶. Þ¡ªù£¡Á, printf() - º¡ õ¬óòÁèðì¶. Ü®ð¬ì
ªõOf® (F¬ó Üô¶ F¬óòè) GóL¡ M¬ì¬ò 裴
õî° ðò¡ð´îð´÷¶. ªêòÃÁ â¡ð¬î àíFì
H¬ø ܬ칰Pè ( ) ðò¡ð´îð´÷ù. Þó´ ªêò
ÃÁèÀ main( ), ܬö° ªêòÃø£°. printf() ܬöèð´
ªêòÃø£°. Hello world Gó «î¬õò£ù M÷èèÀì¡ W«ö
îóð´÷¶.
â¡Á ܬñF¼°.
«ñèì ªêòÃÁè åªõ£¡Á ªõ«õÁ âE
¬èJ Ü÷¹¼è¬÷ (variable numbers of parameters) ãè º®»
â¡ð¬î º¹Oè(...) àí¶A¡øù. ºîô£õî£è ÞìªðÁ
Ü÷¹¼ å¼ êóñ£è«õ (string) Þ¼°. Ü÷¹¼ â¡ð¶, ܬö
èð´ ªêòÃP° õöèð´ îó¾ Üô¶ îèõ¬ô
°P°. ªð£¶õ£è, ªêòÃÁèÀ° Þî¬èò Ü÷¹¼è Cô
ÜÂððìô£ Üô¶ ÜÂððì£ñ½ Þ¼èô£. å¡Á°
«ñðì Ü÷¹¼è ÞìªðÁ«ð£¶ ܬõ, ªêòÃP¡ ªðò¬ó
Ü´¶, ܬ칰PèÀ° 裹OJ´ å¡ø¡H¡ å¡
ø£è °PHìð´A¡øù. «ñ«ô»÷ GóL printf( ) ªêòÃP
å«óªò£¼ Ü÷¹¼ ñ´«ñ ÞìªðÁ÷¶. ܶ, F¬óòèF
è£ìðì«õ®ò å¼ êóñ£°. ºî Ü÷¹¼õ£è Þìªð
Á÷ char * â¡Â (êó Þù) Ü÷¹¼, °P»¼ ²´ (Character
pointer) â¡Á ܬöèð´Aø¶. Þ¬îðP Hø° ð®«ð£.
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
printf(hello);
}
242
Þî GóL ðò¡ð´îð´÷ clrscr() â¡Â º¡-õ¬óò
Áèðì ªêòÃP¡ ñ£FK õ®õ (ÜPM¹) conio.h â¡Â
î¬ô¹ «è£H ÞìªðÁ÷¶. âù«õ, Ü«è£H¬ù Þî
GóL Þ¬í¶ªè£´«÷£. # include <conio.h> â¡Â ÃÁ
Þî GóL Þ¬íèðìM¬ôªòQ, C-ªñ£N Gó
ªðòH (Compiler), clrscr() ªêòÃP¬ù Góô«ó õ¬óòÁ¶÷£ó£
âù ð£°. Üð® Þ¬ôªòQ, H¬ö âù ÜPM°.
4.3.1 ÃÁè (Statements)
C - GóL¡ åªõ£¼ õKèÀ å¼ Ãø£è (Statement) è¼î
ð´A¡øù. ªð£¶õ£è, ° õ¬èò£ù ÃÁè à÷ù. ܬõ
® º¡-ªêòL ÃÁè (Preprocessor Statements)
® ªêòÃÁ î¬ô¹ ÃÁè (Function Header Statements)
® ÜPM¹ ÃÁè (Declaration Statements)
® ªêò𣴠ÃÁè (Executable Statements)
%d int
%f float
%c char
%s char [ ]
â¡Â ÃÁ,
one
two
three
Þî¡ ªõOf´,
10 10.500000
âù Þ¼°.
Iî¬õ ¹O ñF¹è º¡Qòð£è (by default) ÝÁ Þô
è ¶LòF è£ìð´. Þó´ Þôè ¶LòF ªõO
Jì M¼Hù£, õ®õ¬ñ¹ õ¬óòÁ¹ % 0.2f â¡Á ܬñò
«õ´. ÞF, ðF¡ñ H¡ù Þó´ Þôè ¶Lòñ£è
è´ð´îð´Aø¶. âù«õ,
250
printf ( %0.2f , y);
â¡Â ÃÁ,
bbbbbbbb10bbbbb10.50 /* b â¡ð¶ ªõÁ ÞìªõO¬ò °PAø¶ */
M¬êðô¬èJL¼¶ àk´ (Input from keyboard)
M¬ê ðô¬èJL¼¶ (Ü®ð¬ì àk´) ñF¹è¬÷ à
kì£è ªðø scanf() ªêòÃÁ ðò¡ð´Aø¶. scanf()- ¡ ñ£FK õ®õ
(prototype), printf()-¡ ñ£FK õ®õ¬î åî. Þ¶¾ «õÁðì
âE¬èJ Ü÷¹¼è¬÷ ã°.
å¼ º¿â ñ£P x-¡ ñF¬ð M¬êðô¬è Íô ªðø,
int x ;
scanf (%d, &x);
â¡Â °Pº¬ø (code) ðò¡ð´îð´Aø¶.
ªêòÃÁ Þòèð´«ð£¶, ðòùK¡ àk´è£è
scanf()
èEªð£P è£F¼°. ðòù M¬êðô¬è Íôñ£è îóM¬ù
àOì«õ´. ðòù Enter M¬ê¬ò Ü¿Fò Hø«è, à
Oì îó¾ G¬ùõèF x-°Kò ÞìF Þ¼îð´Aø¶. scanf()
ªêòÃP¡ Þóì£õ¶ Ü÷¹¼õ£è &x ÞìªðÁ÷¶. Þ¶ x
â¡Â ñ£PJ¡ G¬ùõè ºèõK¬ò °PAø¶. & â¡ð¶ ºè
õK ²´ ªêò°P â¡ð¬î ÜP«õ£. Üî¬ù å¼ ñ£P»ì¡
«ê¶ ðò¡ð´¶«ð£¶, Üî ñ£PJ¡ ºèõK¬ò °PAø¶.
4.3.2 ðòù õ¬óòÁ° ªêòÃÁè (User -defined Functions)
å¼ GóL å¼ °PHì ðE¬ò e´ e´ ªêò
«õ®J¼î£«ô£, ÜðE¬ò ÜGóL ªõ«õÁ ÞìèO
G¬ø«õø «õ®ò «î¬õ ãð죫ô£, ÜðE¬ò å¼ ªêò
ÃPì åð¬ì¶M´, «õ®ò«ð£¶ Üî ªêòÃP¬ù
ܬö¶ªè£÷ô£. ðòù Üô¶ Góô (Programmer) °P
Hì ðEè¬÷ G¬ø«õÁõîè£è ñ ªêòÃÁè¬÷ à¼
251
õ£A ¬õ¶ªè£´, GóL¡ ð«õÁ ÞìèO Üõ¬ø
ðò¡ð´Fªè£÷ º®». âù«õ, ªêòÃÁ â¡ð¶, M¼
¹ M¬ì¬ò ªðÁõîè£è, õK¬êò£è ªêòð´î «õ®ò
èì¬÷ ªî£°F¬ò à÷ìAò å¼õ¬è Gó«ô Ý°. «õªø£¼
ªêòìø ܬöA¡ø ªêòÃÁ ܬö° ªêòÃÁ
(calling function) â ù ð ´ . ܬöèð´A¡ø ªêòÃÁ,
ܬöèð´ ªêòÃÁ (called function) âùð´. ܬöè
ð´ ªêòÃÁ Ü÷¹¼è¬÷ ªè£®¼èô£. Þô£ñ½
Þ¼èô£.
ªêòÃÁè, ªêòÃÁ ܬöH¡ Íô Þòèð´A¡
øù. ªêòÃÁ ܬö¹, °PHì ªêòÃP¡ ªðò¬ó °P
H´ ܬöAø¶. Üõ£Á ܬö°«ð£¶, °PHì ðE
¬ò ªê¶ º®° ªð£¼´, ܬöèðì ªêòÃP°
«î¬õð´ îèõè¬÷ Ü÷¹¼è õ®M ÜÂH¬õAø¶.
ñ£Pè¬÷ ÜPMð¶«ð£¡«ø ªêòÃÁèÀ ÜPMèð´õ¶
C-ªñ£NJ H¡ðøð´ Cøî ï¬ìº¬øò£°. å¼ ªêò
ÃÁ ÜPM¹ (function declaration) â¡ð¶, ªêòÃP¡ ñ£FK õ®
õ (Function Prototype) Üô¶ ªêòÃÁ ñ£FKò (Function Model)
â¡Á ܬöèð´Aø¶. ªêòÃP¡ ñ£FK õ®õ ° ÃÁ
è¬÷ ªè£ì¶:
® ªêòÃP¡ ªðò
® F¼H ÜÂðð´ ñFH¡ îóMù
® Ü÷¹¼èO¡ âE¬è
® å«õ£ Ü÷¹¼M¡ îóMù
â´¶è£ì£è, Þó´ âè¬÷ î, M¬ì¬ò, ܬö
ðõ° ÜÂH¬õ° å¼ ðòù-õ¬óòÁî ªêòÃP¬ù
è£è:
int add (int, int);
252
int add(int a, int b) /* function header statement */
{
return (a+b);
}
ðòù-õ¬óòÁî ªêòÃÁ
ªêòÃP¡ ñ£FK õ®õ Üî£õ¶ ªêòÃÁ ÜPM¹
ÃÁ, ܬó¹O»ì¡ ºÁªðÁAø¶. Ýù£ ªêòÃP¡
î¬ô¹ ÃÁ ܬó¹O»ì¡ ºÁªðÁõF¬ô. å¼ ªêò
ÃÁ õ¬óòÁèð´«ð£¶ ºî Ãø£è ܬñõ¶, ªêòÃÁ
î¬ô¹ Ãø£°.
å¼ ªêòìø õ¬óòÁð¶ â¡ðî¡ ªð£¼, Üî°Kò
èìì¬÷è¬÷ ªïO¾ ܬ칰PèÀ° { } ⿶õ.
ªïO¾ ܬ칰PèÀ° â¿îð´ °Pº¬ø (code), ªêò
ÃP¡ àìð°F (body) Üô¶ ªî£°F (block) â¡Á ܬöè
ð´. å¼ ªêòÃP ÜPMèð´ ñ£Pè ܬù¶ à
÷¬ñ ñ£Pè (local variables) Ý°. ܬõ âî ªêòÃPÂ
õ¬óòÁèðìù«õ£ Üî ªêòÃP° ñ´«ñ ªîKî¬õ.
å¼ ªêòÃP¡ Ü÷¹¼èÀ à÷¬ñ ñ£Pè«÷. ܬö°
ªêòÃÁ, ܬöèð´ ªêòÃÁ-Þó´° Þ¬ì«ò îèõ
ðKñ£ø¶è£ù å¼ õNº¬ø¬ò Ü÷¹¼è õö°A¡øù.
add() ªêòÃP¬ù Þò° º¿ Gó¬ô W«ö è£è:
253
#include <stdio.h>
#include <conio.h>
main()
{
int a, b,c;
int add(int, int);
a = 12;
b = 11;
c = add(a,b); /* a » b » ªñò£ù Ü÷¹¼è */
printf(%d\n, c);
}
int add(int x, int y) /* x à y à º¬øò£ù Ü÷¹¼è*/
{
return(x+y);
}
255
#include <stdio.h>
main()
{
int i;
void change(int *);
i = 20;
change(&i);
printf(%d\n, i);
}
void change(int *x)
{
*x = 23;
}
257
%d %d
Ü´èF¡ àC
11
10 Ü´èF
Ü´è î÷ðì
ºî àÁ¹
«ñ«ô èì printf() ªêòÃÁ ܬöèð´«ð£¶, Ü´
èF ºîL î÷ð´ ñF¹, i++ «è£¬õJ¡ ñFð£°. Þ¶
å¼ H¡ªù£´ «è£¬õ â¡ðî£, «è£¬õJ¡ ñF¹ 10 Ü´
èF î÷ð´. Üî¡Hø° I°¹ ªêò°PJ¡ (++) ðô
ù£è, i-¡ ñF¹ å¡Á I°èð´, 11 âù Ý°. õôI¼¶
Þìñ£è Ü´¶ ÞìªðÁ Ü÷¹¼ i . Üî¡ ñF¹ Þóì£õî£è
Ü´èF î÷ð´. Üî£õ¶, 11 Ü´èF¡ «ñL¼°.
è¬ìC Ü÷¹¼õ£è, %d %d â¡Â è´ð£´ êó Ü´è
F î÷ð´. ÞQ î÷ð´õî° Ü÷¹¼è ⶾ Þ
ô£î«ð£¶, printf() ªêòÃÁ, Ü´èF¡ àÁ¹è¬÷ àCJL
¼¶ åªõ£¡ø£è â´è ªî£ì°. ºîL ªõOJ â´
èð´ àÁ¹ %d %d. ªêòÃÁ è´ð£´ êó¬î ݾ
ªê». ºîL %d Þ¼ðî£, Ü´èFL¼¶ Ü´î àÁ¬ð
(ñF¹ 11) ªõOJªô´¶ å¼ º¿âí£è 裴. Ü´¶÷
%d-°, Ü´ èF½÷ Ü´î àÁ¬ð (ñF¹ 10) ªõOJ
â´¶ å¼ º¿â ñFð£è 裴. ޫ𣶠ܴè è£L
ÝAMì¶. F¬óJ,
11 10
â¡Â ªõOf¬ì è£íô£. C-ªñ£N ªêòÃÁ ªêòð´
Mî¬î ޫ𣶠 ¹KF¼dè.
4.4 «êI¹ Þù°¿è (Storage Classes)
å¼ ñ£PJ¡ ð¹ÃÁè÷£è Þ¶õ¬óJ ï£ ð£î¬õ
® ªðò (Name)
® Þù (Type)
® ñF¹ (Value)
258
«êI¹ Þù°¿ â¡ð¶, ñ£P»ì¡ ªî£ì¹¬ìò ñªø£¼
ð¹Ãø£°. C-ªñ£N ° Þù°¿è¬÷ õö°Aø¶.
® auto
® static
® register
® extern
#include <stdio.h>
main()
{
add();
add();
}
add()
{
int i = 0;
i = i + 1;
printf(%d\n, i);
}
Þî GóL¡ ªõOf´,
1
1
259
âù ܬñ». i â¡ð¶, add() ªêòÃP¡ à÷¬ñ ñ£P. å
ªõ£¼ º¬ø add() ªêòÃÁ ܬöèð´«ð£¶, i â¡Â ñ£P
¹Fî£ à¼õ£èð´ 0 â¡Â ªî£ìèñF¹ Þ¼îð´Aø¶.
âù«õ M¬ì â«ð£¶«ñ 1 Ýè Þ¼°. Þ«î ñ£P static
Þùñ£è ÜPMèð®¼H¡, ªêòÃÁ ªêòð´ º®î H¡
 Üî¡ ñF¹ îè¬õ¶ ªè£÷𮼰. add() ªêò
ÃP¬ù W裵ñ£Á ñ£P ܬñè¾:
add()
{
static int i = 0;
i = i + 1;
printf(d\n, i);
}
1
2
âù ܬñ».
«ñèì GóL, i â¡Â ñ£P¬ò å¼ º¿î÷£Mò (global)
ñ£Pò£è ÜPM¶, ê«ø ñ£P â¿F ð£«ð£. º¿î÷£Mò
ñ£Pè main() ªêòÃP° «ñ«ô ÜPMèð´A¡øù. Þî
ñ£Pè¬÷, GóL à÷ ܬù¶ ªêòÃÁèÀ ܵèô£,
ñ£Pò¬ñèô£.
260
#include <stdio.h>
int i = 0;
main()
{
add();
add();
}
add()
{
i = i + 1;
printf(%d\n,i);
}
#include <stdio.h>
main()
{
int x;
printf(Enter an integer: );
scanf(%d, &x);
if (x > 0)
printf(The value is positive\n);
}
#include <stdio.h>
main()
{ int a,b,c;
int choice;
printf(Enter two integers: );
scanf(%d%d, &a,&b); /* b ²Nò Þ¬ô */
printf(1. addition\n); /* «î¾ 1 */
printf(2. subtraction\n); /* «î¾ 2 */
printf(3. multiplication\n); /* «î¾ 3 */
printf(4. division\n); /* «î¾ 4 */
printf(Enter your choice: );
scanf(%d, &choice);
if(choice == 1)
c = a + b;
else
if(choice == 2)
c = a - b;
else
if(choice == 3)
c = a * b;
else
if(choice == 4) /* åH´ èì£òI¬ô */
c = a / b;
printf(the result = %d\n, c);
}
269
#include <stdio.h>
main()
{
int i;
i = 1; /* ªî£ìè ñFH¼î */
while(i <= 10) /*Gðî¬ù */
{
printf(%d\n, i); /*ªêòô£è ÃÁ */
i = i + 1; /*¹¶Hî */
}
}
i = i +1 ;
#include <stdio.h>
main()
{
int term;
int i;
i = 1; /* ªêòô£è ñ£P*/
term = 1; /*è´ð£´ ñ£P*/
while(term <=15)
{
printf(%d\n, i);
i = i + term;
term = term + 1;
}
}
271
Þî GóL, term â¡Â ñ£P, ñìA¡ ªêòð£¬ì è
´ð´î ðò¡ð´îð´÷¶. i â¡Â ñ£P ªêòô£è ñ£P
ò£è ðò¡ð´÷¶. Þî GóL ܬñ¶÷ î¼è (logic),
i=i+term â¡Â èì¬÷¬ò ꣶ÷¶. õK¬êJ º¬îò
âµì¡ term -¡ ñF¬ð î Ü´î â ªðøð´Aø¶.
åªõ£¼ º¬ø ñì° ªêòð´«ð£¶ term-¡ ñF¹ 1 I°è
ð´Aø¶. while ñìA¬ù ðò¡ð´F»÷ Þî GóL¡ ªõP,
è´ð£´ ñÁ ªêòô£è ñ£Pè¬÷ º¬øò£è ðò¡ð´¶
õ¬î«ò ê£F¼Aø¶. è´ð£´ ñ£PJ ªî£ìè ñFH
¼î «õ´; Gðî¬ùJ ðK«ê£Fè «õ´, ñìAÂ
¹¶Hè «õ´. ªêòô£è ñ£P» î¡ ð¬è ÝP»÷¶.
æ while ÃP ޡ«ù£ while ìø H¡ùô£ ܬñè
º®». àO¼° while ñì° ªõO while ñì¬èMì «õè
ñ£è ªêòð´. Üî£õ¶ ªõO while ñì° º®¾° õ¼
º¡«ð à while ñì° º®¾° õ¶M´. å«õ£ while ñì
°° è´ð£´ ñ£PèO º¬øò£è ªî£ìè ñFH¼î
«õ´. ñì°è F¼ð F¼ð ªêòð´ âE¬è
¬ò è´ð´î º¬øò£ù Gðî¬ù¬ò ܬñè«õ´.
ñìAÂ, è´ð£´ ñ£Pè º¬øð® ¹¶Hèðì«õ´.
ⴶ裴:
å¼ Gó ⿶è: 1 强¬ø, Ü´î õKJ 2 Þ¼º¬ø,
Ü´î õKJ 3 ºº¬ø... Þõ£ø£è 10 õ¬ó F¬óJ è£ì
«õ´. ðî£õ¶ õKJ 10 𶺬ø Þìªðø «õ´.
Þî Gó½° Þ¼ ñì°è «î¬õ. à-ñì° âî¬ù º¬ø
ªêòðì«õ´ â¡ð¬î ªõOñì° bñ£Q°. Üî£õ¶,
ªõO-ñìA¡ è´ð£´ ñ£PJ¡ ñF¹° ãð, åªõ£¼
º¬ø» à-ñì° F¼ð ªêòð´ âE¬è ܬñ».
Gó¬ô «ï£°è:
272
#include <stdio.h>
main()
{ int i, j;
i = 1;
while(i<=10)
{
j = 1;
while(j <= i)
{
printf(%d , i);
j++;
}
printf(\n);
i++;
}
}
274
#include <stdio.h>
main()
{
int i;
int j;
for(i=1;i<=10;i++)
{
for(j=0;j<=i;j++)
printf(%d , i);
à-ñì°
Inner Loop
printf(\n);
}
}
275
ⴶ裴:
#include <stdio.h>
main()
{
char ch;
int count = 0;
ch = getchar();
while(ch != \n) /* Gðî¬ù*/
{
count++;
ch = getchar();
}
277
#include <stdio.h>
main ()
{ int a, b, c;
int max;
printf(Enter the 3integers:);
scanf(%d %d %d,&a,&b,&c);
max = a;
if(b > max)
max = b;
if(c > max)
max = c;
printf (%d is the maximum ,max);
}
a[1] = 20 ;
...................
a[9] = 100;
int i;
int a[10];
for(i=0;i<10;i++)
scanf(%d, &a[i]);
*a
*(&a[0])
ÝAò Í¡Á «è£¬õèÀ«ñ 10 â¡Aø ñF¬ð«ò î¼ â¡ð
îPè. Ýè,
a[0] ⇔ *a ⇔ *(&a[0])
âù ªê£ôô£. Þ«è, ⇔ â¡Â °Pf´, âô£õ¬èJ½
Þó´ å¡«ø â¡Â ªð£¼¬÷ î¼Aø¶. Þ°Pf´
C-ªñ£N ªêò°P Ü¡Á.
«ñèì M÷èèOL¼¶, æ ÜEJ¡ ªî£ìè ºèõK
(Üô¶ î÷ ºèõK) Üî ÜEJ¡ ªðòK«ô«ò Þ¼îð´A
ø¶ â¡ð¬î ¹K¶ ªè£®¼dè. ÜEJ¡ ªðò, ºèõ
K¬ò ªè£®¼ðî£ Ü¶ å¼ ²´ (pointer) ÝAø¶. Üî
ªðò, ÜEJ¡ ºî àÁH¬ù ²®ªè£®¼Aø¶. ÜE
J¡ ªðò, â«ð£¶ õK¬êJ¡ ªî£ìè ºèõK¬ò ²®
ªè£®¼° â¡ð¬î ñùF ªè£è. æ ÜEJ¡ î÷ ºè
õK¬ò (base address) ñ£Pò¬ñè º®ò£¶. Üî£õ¶, ÜEJ¡
ªðò Þóì£õ¶ àÁ¬ð ²®ªè£®¼°ñ£Á ñ£Pò¬ñè
º®ò£¶. ÜEJ¡ ªðòK Þ¼îð´÷ ºèõK¬ò ñ£Pò
¬ñè º®ò£¶ â¡ðî£ Ü¶ ²´ ñ£PL (pointer constant) ÝAø¶.
ÜEèÀ ²´èÀ å¡Áªè£¡Á ªï¼èñ£ù ªî£ì¹
¬ìò¬õ. x â¡Â ²´ ñ£P¬ò â´¶ªè£«õ£.
int *x;
*( x + 0 )⇔ *( a + 0 )
x+1 ⇔ a+1
Þ«è, å¼ ºèõKJ å¼ º¿â Ãìð´Aø¶. Þ¶,
ê£î£óí èíW´ Ü¡Á, ²´ èíW´ Ý°. ºAòñ£ù
Þî MFº¬ø¬ò G¬ùM ªè£è. ²´ èíW´èO, Ü
²´ ê£î îóMùF¡ Ü®ð¬ìJ«ô«ò Ü÷i´è ܬñ».
Þ«è x, int Þù ñF¬ð ²´Aø¶. int Þù 2 ¬ð´è¬÷
ªè£ì¶. âù«õ Ü÷i´ è£óE (scale factor) 2 Ý°. Ýè,
x+1 ⇔ 948 + 1 * 2 = 950
283
#include <stdio.h>
main()
{
int i;
int a[10];
for(i=0;i<10;i++)
scanf(%d, a+i);
}
scanf()ªêòÃP, &a[i] â¡Á Þ¼è «õ®ò ÞìF a + i
â¡Á ðò¡ ð´îð´÷¬î «ï£°è. è£óí, Þó´ å¡
Áªè£¡Á Gèó£ù¬õ â¡ð¬î ãªèù«õ GÁM»«÷£. i = 0
Ýè Þ¼°«ð£¶, a + i â¡ð¶ ºî àÁH¡ ºèõK¬ò î¼
Aø¶. i = 1 Ýè Þ¼°«ð£¶, Þóì£õ¶ àÁH¡ ºèõK¬ò
î¼Aø¶. Þõ£ø£è, a + i Íô ܬù¶ ºèõKè¬÷» ªðø
º®Aø¶.
Þ¶õ¬óJ ï£ º¿â ÜEè¬÷», ²´è Íô
Üõ¬ø âõ£Á ¬èò£õ¶ â¡ð¬î» ð£«î£. ïñ¶ Ü´î
«ï£è °P»¼ ÜE Ý°. 24 ⿶è (ªð¼ð£ô£ù Å
G¬ôèO °P»¼ â¡ð¶ ⿬î«ò °PAø¶) ªè£ì æ
ÜE¬ò ÜPM«ð£.
char name [24];
ÞF, name â¡ð¶ 24 â¿¶è ªè£ì æ ÜEò£°.
G¬ùõèF ªî£ìCò£è 24 ¬ð´è å¶èð´. ªî£ìè
ºèõK ÜEJ¡ ªðò name- Þ¼îð´. êó (string) â¡ð¶,
Þ¡ñ °P»¼ (null character - \0) ¾ì¡ º®¾Á ⿶èO¡
ªî£°¹ âù õ¬óòÁèô£. âù«õ, å¼ êó¬î ¬èò£÷,
⿶èO¡ ÜE «î¬õð´Aø¶. M¬êðô¬èJL¼¶ å¼
êó¬î ªðÁõî°,
scanf (%s, name);
â¡Â ÃÁ ðò¡ð´Aø¶.
ÞF, å¼ êó¬î ð®è %s â¡Â õ®õ¬ñ¹ õ¬óò
Á ¹ ð ò ¡ ð ´ î ð ´ ÷ ¶ . %s, ê ó F L ¼ ° ª õ Á Þ ì
ªõO¬ò (blank space) õóªð¬ô °P»¼õ£è (delimiting charac-
ter) è¼Fªè£À. âù«õ, ï´M ªõÁ ÞìªõO ªè£ì
êó¬î ªðÁõî° Þî¬ù ðò¡ð´î Þòô£¶. «ñèì
284
ìø Þò°«ð£¶, ðòùK¡ àk´è£è è£F¼°. ðòù
àO´ ܬù¶ ⿶èÀ name ²® ªè£®¼° ºè
õKJ ªî£ìA, õK¬êò£è Þ¼îð´. ÞÁFJ \0 â¡Â
Þ¡ñ °P»¼ î£ù£è«õ «ê¶ªè£÷ð´. êó¬î F¬ó
J è£ì,
printf (%s, name);
{ int count = 0;
while(*s != \0)
{
count++;
s++;
}
return(count);
}
287
ªêòÃÁ Þòèð´«ð£¶, start, end, s ÝAò ܬù
lenstr()
¶ °P»¼ ²´èÀ rama â¡Â êó¬î ²´ñ£Á ܬñ
èð´÷ù. rama â¡Â êó Ü÷¹¼õ£è ÜÂH¬õè
ð´Aø¶ .
ªî£ìè º®¾
int a[3[[3];
int i;
int j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(%d, &a[i][j]);
290
#include <stdio.h>
#include <conio.h>
main()
{
int a[3][3], b[3][3], c[3][3];
int i, j;
/* read values for the input matrix a */
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(%d, &a[i][j]);
291
Þî GóL¡ åªõ£¼ ð°F¬ò» ï¡° ¹K¶ªè£À
ªð£¼´ Ý裫è M÷辬óè (comments) «êèð´
÷ù. æ ÜE«è£¬õJ½÷ Aì¬èè¬÷ îQîQò£è ¬èò£
À º¬ø¬ò M÷° Gó¬ô W«ö è£è. Þî Gó, ªè£´è
ðì 3x3 ðKñ£í ªè£ì ÜE«è£¬õJ åªõ£¼ Aì¬è
J½ à÷ âèO ªð¼ñ ñF¹ (maximum value) ⶪõù
èìPAø¶.
#include <stdio.h>
#include <conio.h>
main()
{ int a[3][3], max[3];
int maximum(int *); /* declaration of user-defined function */
int i, j;
clrscr(); /* to clear the contents of the screen */
/* read values for the input matrix a */
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(%d, &a[i][j]);
/* find the maximum in each row and store in the array max */
for(i = 0; i < 3; i++)
max[i] = maximum(a[i]);
/* print the max array */
for(i =0; i < 3; i++)
printf(The maximum value of row %d = %d\n, i+1,
max[i] );
}
int maximum(int *x)
{ int mvalue;
mvalue = x[0];
for(i = 1; i < 3; i++)
if(x[i] > mvalue)
mvalue = x[i];
return(mvalue);
}
292
Þî GóL, 3 º¿â àÁ¹è ªè£ì ÜEJ ªð¼ñ
ñF¬ð èìPò å¼ ðòù-õ¬óòÁî ªêòÃÁ â¿îð
´÷¶. ܪêòÃP¡ ªðò maximum() . ܶ, å«óªò£¼ int *
Þù Ü÷¹¼¬õ ã°. å¼ º¿â ñF¬ð F¼H ÜÂ
¹. ܶ«õ ªð¼ñ ñFð£°. Þî ªêòÃÁ main() ªêò
ÃP, å¼ for ñìA 3 º¬ø ܬöèð´Aø¶. åªõ£¼
º¬ø maximum() ªêòÃÁ ܬöèð´«ð£¶, Í¡Á º¿
âè ªè£ì å¼ Aì¬è Ü÷¹¼õ£è ÜÂH¬õèð´
Aø¶. a[i], i =0,1,2 ÝAò Aì¬èè«÷ Ü÷¹¼è Ý°. ܬö
èðì ªêòÃP, º¿â ²´ x â¡Â º¬øò£ù Ü÷
¹¼M, åªõ£¼ Aì¬èJ¡ ªî£ìè ºèõK» ªðøð´
Aø¶. ãªèù«õ ï£ ÜPîð®, x â¡Â ²®¬ù ²´õK¬ê
ò£è (ܶ 3 àÁ¹è ªè£ì õK¬ê¬ò ²´Aø¶ â¡ðî£)
º®». Üî¡õN«ò ÜEJ¡ àÁ¹è¬÷ Üµè º®». å
ªõ£¼ Aì¬èJ¡ ªð¼ñ ñF¹, º¬ø«ò mx â¡Â ÜE
J Þ¼F¬õèð´A¡øù. Þõ£ø£è, æ ÜE«è£¬õJ½÷
åªõ£¼ Aì¬è¬ò» Üî¡ ªî£ìè ºèõK¬ò ðò¡
ð´F îQîQ«ò ¬èò£÷º®» â¡ðîPè.
4.8 è´¼è (Structures)
C-ªñ£NJ è´¼ (structure) â¡ð¶ î¼Mèðì îó¾ Þù
(derived data type) Ý°. Hø îóMù ñ£Pè¬÷ ªè£´ à¼õ£
èð´A¡ø¶. (ðô ñ£Pè¬÷ å¡ø£è è® à¼õ£èð´õî£
è´¼ ÝJÁ). ðòù-õ¬óòÁ° îóMùè¬÷ à¼õ£è
è´¼è ðò¡ð´A¡øù. ªð£¶õ£è, å¼ «è£HQ «êI
èð´ ã´è¬÷ (record) õ¬óòÁè è´¼è ðò¡ð´A¡øù.
«è£¹ â¡ð¶ ã´èO¡ ªî£°¹. ã´ â¡ð¶ îèõ ¹ôèO¡
(fields of information) ªî£°ð£°.
struct student x, y;
int rollno;
char name[24];
int age;
} x, y ;
297
x[0].rollno, x[0].name, x[0].age
ðJC Mù£è
I. êK Üô¶ îõÁ âù °PH´è
1. å¼ Gó¬ô ⿶õî° º¡ð£è ð£¾ðì õ¬óõ¶
èì£òñ£°.
2. «ð£L °Pº¬øè¬÷Mì ð£¾ðìè âOî£ù¬õ.
3. b¾ªïP (Algorithm) â¡ð¶ õó¹Á âE¬èJô£ù ð®
G¬ôè¬÷ ªè£®¼è «õ´.
4. GêJFì£î 𡺬ø ªêòL (Indefinite Iteration) ²´ â
ñ£P (Index variable) ðò¡ð´îð´Aø¶.
5. GêJFì£î 𡺬ø ªêòL åªõ£¼ º¬ø» Gð
î¬ù êKð£èð´Aø¶.
298
II ¹OJì Þìè¬÷ Gó¹è
1. Gó ⿶õî° _________ ð£¾ðì õ¬óòð´
Aø¶.
2. «ð£L °Pº¬ø¬ò ¹K¶ ªè£õ¶, ð£¾ðì¬î
¹K¶ ªè£õ¬îMì _________.
3. åªõ£¼ Gó¬ô» å¼ ð£¾ðìî£ à¼õAè
_________.
4. êK𣹠(walkthrough) Íô õ®õ¬ñH à÷ ܬù¶
H¬öè¬÷» èìPò _________ .
5. b¾ ªïPJ (Algorithm) à÷ åªõ£¼ ð®G¬ô»
_________ Ü÷M _________», _________» â´
¶ ªè£÷«õ´.
302
2 2 . å¼ õK¬êJ½÷ 10 âè¬÷ °¬ø¶ ªê½ õK¬ê
º¬øJ å¿è¬ñè C-Gó ⿶è.
2 3 . å¼ ªêòìø ðò¡ð´F Þó´ âèO¡ ñF¹è¬÷
Þìñ£P ܬñè å¼ C-Gó ⿶è.
2 4 . 10 âèO¡ êó£êK¬ò èìPò å¼ C-Gó ⿶è.
25. a â¡Â æ ÜE n âè¬÷ ªè£´÷¶. âè
ãÁºèñ£è ܬñF¼è «õ´. ãÁºè ÜE¬ò
ðK«ê£F¶, ã«î æ â õK¬êñ£P H¬öò£è Þì
ªðP¼H¡ å¼ H¬ö²´ ªêF¬ò è£ì«õ´.
õK¬êð® ܬñF¼H¡ Üîè£ù ªêF¬ò 裴è.
2 6 . æ ÜE «è£¬õJ (Matrix) ͬôMì (diagonal) àÁ¹
èO¡ ô ªî£¬è¬ò èìPò å¼ C-Gó ⿶è.
2 7 . æ ÜEJ¡ Þìñ£Á ÜE «è£¬õ¬ò (Transpose) ªðø
å¼ C-Gó ⿶è.
2 8 . ÜE «è£¬õ ªð¼è (Matrix Multiplication) ªê¶ M¬ì
è£í C-Gó ⿶è.
2 9 . ªè£´èðì æ ÜE «è£¬õJ åªõ£¼ ªï´
¬èJ½ ªð¼ñ, CÁñ ñF¹è¬÷ èìPò å¼ C-Gó
⿶è. ªð¼ñ, CÁñ ñF¹è¬÷ èìPò ªêòÃÁè
⿶è. åªõ£¼ ªêòÃÁ å¼ º¿â ²®¬ù
(integer pointer) Ü÷¹¼õ£è ªè£®¼è«õ´. (àîM
°P¹: åªõ£¼ ªï´¬è» æ ÜEò£è ªêòÃP
° ÜÂH¬õèðì «õ´. åªõ£¼ ªï´¬èJ¡
àÁ¹è¬÷» å¼ îè£Lè õK¬êJ Þ¼F¬õ¶,
ªêòÃP° ÜÂH¬õè¾).
30. 10 ªðòè¬÷ å¼ ÜEJ «êI¶ ¬õ¶, åªõ£¼
ªðò¬ó» å¼ õKJ 裴ñ£Á, C-Gó ⿶è.
303