You are on page 1of 29

emeronTI2

kenSam
Expression & Statement
I. RbePTTinny
I.1. niymny

Tinn y (Data) KCabNaBtmanEdlmanBitdUcCa GtbT tMlelx sMelg nig rUbPaB


sMEdgeRkamTMrg;mYyEdlkuMBTrGaceFVIkarR)aRsyTak;Tg bGnuvtn_ kargarNamYyCamYyva)an.

I.2. RbePTTiny (Data Type)

kgPasa C manRbePTTinnymYycMnYndUc)anbgajxageRkamenH

RbePTTinnyRtUv)aneKeGayniymnyedayBIrcMnucxageRkamKW
+
CaRbePT
nigEdnkMNt;ntMl
EdleRkayeBlGefrmYy)anRbkas
CamYyRbePTTinnyenaHrYc vaGacTTYlyktMlenaH)an.
+
kgRbePTTinnynImYyGacmankMNt;RbmaNviFImYycMnYnCak;lak;.
I.3. RbePTcMnYnKt; ( Integer )

eyIgdwgehIyfa kg KNitviTa cMnnY Kt;FmCatimantMlcab;BI N rhUtdl; N


nigFatuTaMgGs;rYmcUlKabegIt)anCasMnuMcMnYnKt;. enAkgkuMBTrvaBuMmanlTPaB sMEdgtMlelx
)antaMgBI - rhUtdl; + enaHeT KWvaGacsMEdg)anEtenAcenaH kMNt;NamYyn (-, +)
b:ueNaH. dUecHcMnYnKt; (Integer) enAkgkMuBTrKWman karEbgEckCaRbePTcMnYnKt;
epSgBIKaeTot GaRsyeTAtamEdntMlrbs;vadUc xageRkam

RbePTTinny

EdntMl
-128 dl; 127
-32768 dl;

BakKnwH

cMnYn Byte

char

int

Short integer

short

-32768 dl;
32767

Long integer

long

-2147483648 dl;
2147483647

unsigned
char

0 dl; 255

unsigned int

0 dl; 65535

Unsigned short intger

unsigned
short

0 dl; 65535

Unsigned long intger

unsigned
long

0 dl;
4294967295

Character
Integer

Unsigned character
Unsigned intger

26

32767

cMNaM RbePTTinny char PaBBitCaRbePTGkSr kb:uEnkgPasa C )anGnuBaateGayeRbIRbePT


char
enHCacMnYnKt;mYyEdlmantMlGacsMEdg)an
dUckgtaragxagelI.
enHKWCaPaBrs;rvIkrbs; C EdlenAeBleFIVRbmaNviFInBVn enaHRbePTTinny char
RtUv)ancat;TukCacMnYnKt; Etdl;eBleFVIRbmaNviFICamYy tYGkSr enaHvacat;Tuk char
CaRbePTtYGkSrvij.
I.3.1. sMEdgcMnYnKt;edayelxeKal 16 nigeKal 8
enAkgkarsreskmviFIedayPasa C eRkAGMBIkarsresrelxeRkamTMrg; Decimal
(elxeKal 10) va)anpl;lTPaBeGayeyIgGacsresrelxeRkamTMrg; eKal 16 (hexa)
EfmeTot. RbBnelxeKal 16 rYmman 16 tYelxKW 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E, F EdlkgenaH A, B, C, D, E, F tMNageGay 10, 11, 12, 13, 14, 15.
kgPasa C edIm,IsresrelxeRkamTMrg; Hexa enaHRtUvsresrtamlMnaM xageRkam
Ox41mannyfa 41 hexa EdlesInwg 65 decimal
OxFmannyfa F hexa EdlesInwg 15 decimal
eRkABIkarsresrelxeRkamTMrg;CaRbBn Hexa enaHkgPasa C enA
GnuBaateGayeyIgGaceRbIR)as;elxeRkamTMrg; Octal )anEfmeTotpg. RbBne lx Octal
(RbBnelxeKal 8) rYmman 8 tYelxsMrab;eRbIKW 0, 1, 2, 3, 4, 5, 6, 7.
edIm,IsMEdgelxNamYyeRkamTMrg; Octal enaHkgPasa C RtUvsresrcab;epIm
eLIgedayelxsUn 0 (elxsUn ).
]TahrN_ 013 mannyfa 13 Octal EdlesInwg 11 decimal
07 mannyfa 7 Octal EdlesInwg 7 decimal
I.3.2. Pab;tMlcab;epImeGayGefrRbePTcMnYnKt;
]bmafaeyIgPab;tMl 5 eGayGefr x enaHeyIgGacsresr)anBIrrebob dUcxageRkam
int x;
x = 5;

bsresr
int x = 5;

27

I.3.3. cMnYnefrRbePTcMnYnKt;

eBlxHeyIgRtUvkarsresrcMnYnefredIm,IPab;eGayGefr bbrimaNGVImYy. edIm,ITTYl)annUv


kMritsuRkitx<s; Kb,IeyIgRtUvsresrbBaak;bEnmnUvtYGkSrbBaak; mYyenAEpk xageRkay
bMputrbs; bNatYelxntMlenaH.
]TahrN_
1000U )annyfaCacMnYnefrcMnYnKt; unsigned int EdlmantMl 1000
1000L )annyfaCacMnYnefrcMnYnKt;RbePT long EdlmantMl 1000
1000UL CacMnYnefrcMnYnKt;RbePT unsigned long EdlmantMl 1000
0100L CacMnYnefrcMnYnKt;RbePT long sresreRkamTMrg;elxRbBneKal 8
0x1000U
CacMnYnefrcMnYnKt;RbePT unsigned int EdlsresreRkamTMrg;
RbBnelxeKal 16.
I.4. cMnYnBit (Real )

dUcKaCamYynwgRbePTTinnycMnYnKt;Edr kgkMuBTrvaBMumanlTPaBsMEdg tMlelxrbs;


sMncuM nM nY Bit)anTaMgGs;enaHeT
KW)anEtEpkNamYynsMnMuEtbue: NaH.
kgPasa
C
RbePTcMnYnBitRtUv)anEckecjCabIRbePTepSgeTotKW RbePT float, double nig long dougle.
enAeBlEdlGksresrtMlelxsMEdgeRkamTMrg;RbBn elxeKal 16 beKal 8 enaHkgPasa C
BMuGnuBaateGayGkeRbIsBaaek,s (.) )aneLIy.
karsreselxdUcxageRkamenHmankMhus
0x5.5 xus
05.5
eBlenHkuBM Tr BM)u anyl;faelxenHCaelxeKal 8 eT vaEbCayl;
faenHCaelxeKal 10 EdlmantMlesI 5.5.
cMNaM

kgesrI RKb;PasasresrkmvFi TI aMgGs;


enaHEtgRtUv)aneKeRbIsBaa (.) BMuEmnsBaa (,) eT.
28

eBlsresrek,sTsPaK

I.4.1. rebobsresrtMlncMnYnBitkgPasa C

RtUv
3.0
RtUv
-12.345 RtUv
+0.00050 RtUv
3.1416

3.
0.5
.50

RtUv
RtUv
RtUv

5
5E-2
5,00

xus
RtUv
xus

CamYyKaenH eyIgkGacsresrcMnYnTsPaKtamTMrg;dUcxageRkam
]TahrN_
2

512.34567 = 5.1234567.10 = 0.51234567.10


kgPasa C eyIgGacsresr

5.1234567E+02 (RtUvsresrCab;KaTaMgGs;) mannyfa 5.1234567*10

+2

dUcKaenHEdr tMl -0.001234 eyIgGacsresr)anfa -12.34E-4

I.4.2. RbePTcMnYnKt;

RbePTTinny

BakKnwH

cMnYn

Byte

EdntMl
3.4E-38 dl;

Single-precision
floating point

float

Doule-precision
floating point

double

1.7E-308 dl;
1.7E+308

Long doubleprecision floating


point

long double

10

3.4E-4932 dl;
1.1E+4932

29

3.4E+38

I.4.3. cMnYnefrRbePTcMnYnKt;

edIm,IsresrtMlcMnYnefrRbePTcMnYnBiteGaymanPaBsuRkitx<s;
RtUvPab;BIxageRkaytMlcMnYnBitenaHnUvtYGkSrbBaak; F (float) b L (long).
]TahrN_
0.12345E-33L CacMnYnefrRbePT long double
5.50123E+10F CacMnYnefrRbePT float
.12345FCacMnYnefrRbePT float

enaHeyIg

I.4.4. Pab;tMlcab;epImeGayGefrRbePTcMnYnKt;

eyIgGacPab;tMlcab;epmI eGayGefrRbePTcMnYnBit tamlMnaMdUcxageRkam


]TahrN_
float x;
x = .50;

bkGacsresr
float x = .50;

I.5. TinnyRbePT Char (Character Type)

kMuBTr vaBMuRtwmEteFVkI arCamYyTinn yCatMlelxb:ueNaHeT


EfmTaMgvaGaceFVI
karCamYybNatYGkSr (Letters) tYelx (Numerals) nigGaclayCamYybNa sBaaepSg
(Sign) eTotpg EdlFatunImYyrbs;sMnMuTaMgenHGacRtUv)aneKehAfa Ca Character. bNa
Character EdleyIgEtgEtCYbRbTH nigeRbIR)as;sBVfman dUcCa a, b, c, , z, A, B, C, ,
Z, 0, 1, 2, , 9, !, ?, \.l.
kgPasa C edIm,IsresrcMnYnefrn Character eyIgRtUvsresr Character
enaHenAkgcenaHsBaa (single quote) ]TahrN_dUcCa a, 0, ?, 2, z CaedIm.
Character
TaMgGs;suTEtRtUv)aneKkMNt;kUdtMNageGayva
edIm,IgayRsYl
kgkarrkSaTuk nigGnuvtn_RbmaNviFIelIva. kgenaHEdr ASCII (American Standard Code
30

for Information Interchange) )ankMNt;kUdsMrab; 256 character nigeRbImYy Byte memory

edIm,IrkSaTukTinny 1 character.

tarag ASCII xageRkamenH)anbgaj 128 character dMbUg cMENk 128 eRkayeTot


nwgRtUv)anbgajenAkgesckIbEnmnesovePAenH. 32 tYdMbUg (Edl mankUdcab;BI 0 dl; 31)
CabNa character bBaa Cak;EsgdUcCakUd 7 Ca ASCII rbs; BELL
)annyfaeBlEdlkMuBTrTTYl)antMlenH vanwgbeBajsMelgCYg (Bell). cMENkkUd 13
(CR-Carriage Return) nig 10 (LF-Line Feed) vijKWCa character bBaaeGay screen
Gnuvtn_kacuHbnat; nigRtLb;mkedImbnat;vij. cab;BI ASCII 32 rhUtdl; 127 CabNa
character EdlGacbgajelIeGRkg; nig e)aHBum<ecjeRkA)an.
tarag ASCII 128 tYdMbUg

31

kgPasa C eyIgGacsresrbNa character bBaa)anedayeRbI


EdleK)ankMNt;CaeRscdUctaragxageRkam
Constance character

ASCII

\a

\b

\t

\n

10

\r

13

Constance character

muxgar

beBajsMelgCYg (BELL)
lb;mkeqVgmYytYGkSr (Back Space)
Character Tab ;
cuHbnat;fI (Line Feed)
RtLb;eTAedImbnat; (Carriage
Return)

eRkABIbNa Character xagelIenH edIm,IsresrsBaa b Character Biess


mYycMnYndUckgtaragxageRkam enaHRtUvdak; Character \ BIxagmuxsindUcCa
rebobsresr

Character

\
\
\\

\0

\0 b NULL

cUrRbytcMeBaH Character \0 nig 0 :


+
Character \0 KWCa Character EdlRtUv)aneKehAm:ageTotfa NULL nigman
ASCII = 0.
+
Character 0 KWCatYelxsUnEdlman ASCII = 48 decimal.
karPab;tMlcab;epImeGayGefrRbePT char :
eyIgGackMNt; bPab;tMlcab;epmI eGayGefrRbePT char )andUc]TahrN_ xageRkam
32

]TahrN_
char x = 5;

bk
char x ;
x = 5 ;

kmviFIxageRkamenHCa]TahrN_bgajGMBIkareRbIR)as;bNa Character bBaa.


cUrGkvaykUdkmvFi eI nHkgmCdanRmbUlpM
TURBO
C
rYcehIydMeNIrkarva
CamYynwgkarBinitemIlRKb;dMNak;kalnkarbr blub Character bBaaNamYy. kmviFI
Prog2_1.C xageRkamenHmankareRbI Character bBaamYycMnYndUcCa \n, \t, \a, \, \
.l.
/*----------------------- Prog2_1.C -----------------------*/
#include <stdio.h>
#include <conio.h>
void main( )
{
clrscr( );
printf("Hello every body ! \nThis is a program");
printf(" Showing about the Escape sequence.");
printf("\nThis program just output text onto
screen\n\n\a\a");
printf("\t1.\tGood morning !\n");
printf("\"Build Bright University\" \'BBU\'");
getch( );
}

lTplelIeGRkg;KW
Hello every body !
This is a program Showing about the Escape sequence.
This program just output text onto screen
1.
Good morning !
"Build Bright University" 'BBU'

33

I.6. TinnyRbePT String

kgPasa C String KWCaesrIn Character EdlRtUv)aneKsresrdak;kg cenaHsBaa


(double quotes) ]TahrN_dUcCaXa Cambodia. FatunImYy rbs; String
RtUv)andMerobCab;KaGs;BImYyeTAmYykug Memory ehIyEpkxag cugbMputnFaturbs; String
RtUv)aneKpk Character NULL b \0 EdlenHCa sBaamYyeRbIsMrab;bBaak;fa String
RtUv)anbBab;RtwmenH.
dUecHXa Cambodia nwgRtUv)anrkSaTukkg Memory dUcxageRkam
Rbyt
PaBxusKarvag String A CamYynwg Character A KW
A
A RtUv)anrkSaTukkg 2 Byte Memory KW

\0

cMENk A vijRtUv)anrkSaTukkg 1 Byte Memory KW A


eyIgGacsresr
A + b + 5 mannyfa 65 + 98 + 5
EteyIgBMuGacsresr
A + b + 5 (mankMhuseRBaH A nig b suTEtCa String)

I.7. TinnyRbePT

Boolean

TinnyRbePT Boolean CaRbePTTinnysMedAeTAelIEttMlBIrb:ueNaH KW 1 nwg


EdlenHCatMltktMNageGaylTplrbs;sMeNIrmYy Bit (TRUE) b minBit (FALSE).
]TahrN_
sMeNIr 5 < 1 enaHlTpl = FALSE b 0
5 > 1 enaHlTpl = TRUE b 1

34

eyagtam]TahrN_xagelIeyIgeXIjfa
cMnYnKt;EdlGacmanEtBIrtMlb:ueNaHKW 0 nig 1.
II.cMnYnefr

nig Gefr
II.1. cMnYnefr

lTplrbs;sMeNIrxagelIKWCa

(Constance & Variable)

enAkg karsresrkmvFi I eKeRbIcMnYnefredIm,ICyY sMrlY eGaymanPaBgayRsYl kgkareRbItMl


Cak;EsgNamYyEdlnwgBMuRtUv)anERbRbYlkgdMeNIrkarnkmviFI. eyIgGackMNt;eQaHNamYy
edIm,ItMNageGaytMlncMnYnefrRbePTNamYy edayeRbIBakKnwH const BIxagmux.
]TahrN_dUcCa
const int a = 300;
const float b = 3.50;
const char ch = A, k = 5;

eRkaykarRbkasdUcxagelI eBlenHeyIgTTYl)an
a CacMnYnefrRbePT integer EdlmantMl 300
b CacMnYnefrRbePT float EdlmantMl 3.50
ch nig kCacMnYnefrRbePT charEdlmantMl A nig 5
eRkayeBlRbkasbNaeQaHxagelIenHCacMnYnefrrYc
enaHeyIgnwgBMuGac
nwgeFVIRbmaNviFINamYy EdlbNaleGaymankarERbRbYldl;tMlrbs;cMnYnefr TaMgenaHLIy.
TMrg;nkarRbkascMnYnefr
const RbePTTinny

eQaHcMnYnefr = tMlncMnYnefr

II.2. Gefr

enAkgPasasresrkmviFIkMuBTr GefrKWCaeQaHnbNM Memory (cab;BI Address


NamYyeTA) EdlRtUv)aneKeRbIsMrab;rkSaTukTinnyRbePTNamYyenAkg Memory nkMuBTr.
35

TinnyTaMgGs;suTEtmanRbePTrbs;va dUecHedIm,IeRbIGefr sMrab;pkTinn yRbePTNamYyenaH


CadMbUgeyIgRtUvRbkasGefrenaHCamYyRbePT TinnyEdlnwgRtUvpkCamunsin.
rebobRbkasGefr
RbePTTinny Gefr1, Gefr2, , Gefrn;
]TahrN
int m,n ;
float x ;

eRkayeBlRbkasdUcxagelI eBlenHeyIgTTYl)an m nig n KWCaGefr RbePT int


dUecHeyIgGacyk m nig n eRbIedIm,IpkTinn y RbePT int )an. cMEnk x vijRtUv)anRbkasCamYy
float dUecHeyIg)anvaCaGefrRbePT float EdlGac eRbIsMrab;pkTinnyRbePT float )an.
III. RbmaNviFI
III.1. bNasBaaEdleRbIkgRbmaNviFInBn

sBaa
+
*
/
%

sBaa

/
+

Gtny

bUk
dk
KuN
Eck
EckyksMNl;

]TahrN
a+b
a-b
a*b
a/b
a%b

RbsinebIEckelxrvagBIrcMnYnKt; enaHeyIgnwgTTYl)anplEckCa cMnYnKt;.

36

]TahrN_

10/3 = 3 (lTplKW 3BMuEmn 3.333 eT)

ebIEckelxrvagcMnYnBit
nwgTTYl)anplEckCacMnYnBit.
]TahrN
+

10.00/3
10/3.0

sBaa

nigcMnYnBit

bcMnYnBit

nigcMnYnKt;

enaHeyIg

= 3.333333
= 3.333333

enHKWCasBaaEckyksMNl; vaRtUv)anGnuvtEtelIkarEckcMnYnKt;CamYy cMnYnKt;b:ueNaH.


]TahrN_
%

10%3 = 1
10.0%3 krNIenHmankMhus

kmviFI]TahrN_
kmviFIxageRkamenHCa]TahrN_bgajGMBIkareRbIsBaaEckykplEck
kareRbIsBaaEckyksMNl;. kmviFI Prog2_2.C
#include<stdio.h>
#include<conio.h>
void main()
{ int a, b; /*--- RbkasGefr a nig b CaGefrRbePT int ---*/
float x; /*--- RbkasGefr x CaGefrRbePT float ---*/
a = 10 ;
b = 3;
x = a/b; /*--- EckcMnYnKt; a eGay b ---*/

clrscr(); /*--- lubbNaGkSrEdlkMBugmanelIeGRkg; ---*/


printf("x = %f",x); /*--- bgajtMl x elIeGRkg; ---*/
x = 10.0/3; /*--- EckcMnYnTsPaK 10.0 eGay 3 ---*/
printf("\nx = %f",x);

37

nig

x = a % b;
printf("\nx = %f",x);
a = 20 % 7; /* EckyksMNl; ehIyPab;lTpleGay a */
printf("\nA = %d",a);
getch(); /*--- rg;caM Press Key NamYy ---*/
}

lTplelIeGRkg;KW
x = 3.000000
x = 3.333333
x = 1.000000
x=6

III.2. GaTiPaBkgRbmaNviFInBn

enAkgkareFVIRbmaNviFInBVn karKNnaRtUvcab;ecjdMeNIrBIeqVgeTAsaM nigsBaaRbmaN


viFInImYyGacmanGaTiPaBepSgKa dUcCa RbmaNviFIbUk nigdk KWmanGaTiPaBesIKa
kb:uEnvaRtUvTabCagGaTiPaBrbs;RbmaNviFIKuN Eck nigEck yksMNl; (EtRbmaNviFITaMgbI
enHmanGaTiPaBesIKa).
kgkenSammYy
vaGacmankareFIVRbmaNviFIeRcIn
ehIyRbmaNviFInImYy
GacmanGaTiPaBepSgKa
dUecHkgkenSamenaHnwgRtUvmanRbmaNviFIxH)anGnuvt
mun
nigxHeTotRtUvGnuvttameRkay.
]TahrNkarKNnakenSam 5+10/3
lTplnkarKNnakenSamxagelIenHKW 8 BIeRBaHsBaaEckmanGaTiPaB x<s;CagsBaabUk
dUecHRtUvGnuvtRbmaNviFIEckmun )anlTplehIyeTIbGnuvt RbmaNviFIbUktameRkay.
edIm,IeCosvagkMhuskgRbmaNviFI
bkgkenSamRbmaNviFI
enaHeyIgRtUv
eRbIsBaargVg;Rkck ( ) edIm,IbBaak;GMBIGaTiPaBnRbmaNviFI. ]TahrN_dUcCa
(5+10)/3 eyIg)anlTplKW 5
38

5+(10/3)

eyIg)anlTplKW 8

III.3. RbmaNviFIeRbobeFob

nig RbmaNviFItk
lTplrbs;RbmaNviFeI RbobeFob nigRbmaNviFItk manEtBIrtMlb:ueNaH KWBit
bminBit (0) dUecHlTplrbs;RbmaNviFIenHCaTinnyRbePT Boolean.

(1)

bNasBaaRbmaNviFIeRbobeFob
sBaa
>
>=
<
<=
==
!=

Gtny

]TahrN_

FMCag beT?
FMCag besI beT?
tUcCag beT?
tUcCag besI beT?
esIKa beT?
xusKa beT?

a>b
a>=b
a<b
a<=b
a==b
a!=b

sBaaRbmaNviFIdMbUgmanGaTiPaBesIKa
b:uEnvax<s;CagGaTiPaBrbs;BIr
sBaaRbmaNviFIcugeRkay (KW == nig != ) EtkgenaHRbmaNviFI (==) nig (!=)
manGaTiPaBesIKavij.
RKb;bNasBaaRbmaNviFIeRbobeFobTaMgGs;
suTEtmanGaTiPaBTabCag
bNasBaaRbmaNviFInBVn ]TahrN_dUcCakenSam
m < (n-1) enaHkMuBTr nwgGnuvt
RbmaNviFInBVnmunKW (n-1) rYceTIbeFVkI areRbobeFoblTplenaHCamYy m tameRkay.
4

bNasBaaRbmaNviFItk

sBaaRbmaNviFtI kkgPasa C rYmman 3 dUc)anbgajkgtaragxageRkam

39

sBaa

Gtny

]TahrN_

bdiesFn_ (NOT)
RbmaNviFI (AND)
RbmaNviFI (OR)

!
&&
||

!a
a && b
a || b

xageRkamenH Catarag]TahrN_bgajGMBIkareRbIR)as;bNasBaaRbmaN viFItk.


a
0
0
1
1

b
0
1
0
1

!a
1
1
0
0

!b
1
0
1
0

a&&b
0
0
0
1

!(a&&b)
1
1
1
0

a || b
0
1
1
1

!(a || b)
1
0
0
0

cMNaM kgRbmaNviFItk a nig b GacCacMnYnKt; bcMnYnBit


bNasBaaRbmaNviFIeRbobeFobTaMgGs; suTEtmanGaTiPaBTabCagsBaa RbmaNviFI
NOT kbu:EnvamanGaTiPaBx<sC
; agsBaaRbmaNviFI AND nig OR vij.
]TahrNkenSam (a<b)&&(c>d) eyIgGacsresr)anfa a<b&&c>d
eBlenaHkareFIVRbmaNviFIelIkenSamenHKWRtUvGnuvtRbmaNviFI a < b rYcehIyeTIb KNna c > d
nigCacugeRkayeTIbyklTplBIrRbmaNviFmI unenHeTAGnuvtRbmaN viFI AND.
xageRkamenH bgajGMBlI Mdab;GaTiPaBkgRbmaNviFeI RbobeFob nigRbmaN viFItk
!
>> =

<<=

==

!=

&&

||

RbmaNviFITaMgenH CaFmtavaEtgRtUv)aneKeRbIedIm,IbegItlkxNsMrab; eRCIserIskargar


bkbBab;kargarenAkgrgVil (Loop) NamYy.

40

kmvFi xI ageRkamenH
Ca]TahrN_bgajGMBrI ebobeRbIR)as;bNasBaaeRbob
eFobxagelIenAkgkarsikSalkxNedIm,IeRCIserIskargarmkGnuvt.
kmviFI Prog2_3.C
#include <stdio.h>
#include <conio.h>
void main()
{
int n;
printf("\nInput an integer between 0 and 10 :");
scanf("%d",&n);
if(n>5)
printf("\nYou entered %d which is greater than 5",n);
if(n<5)
printf("\nYou entered %d which is smaller than 5",n);
if(n==5)
printf("\nYou entered 5");
getch();
}

lTplelIeGRkg;KW
Input an integer between 0 and 10 : 6

41

III.4. RbmaNviFIelI

BIT

xageRkamenHCabNakargarEdlEtgEt)anCYbCajwkjab;enAkgPasakMrit
Tab
EtBMusUvCa)anCYbenAkgPasakMritx<s;eLIy. vamanmuxgarsMrab;eFVIRbmaN viFIeTAelI Bit
nImYyrbs;cMnYnKt; (bNasBaaRbmaNviFIxageRkamenH BMuGac Gnuvt)ancMeBaHRbePTTinny
float nig double eLIy) :
sBaa
&
|
^
<<
>>
~

Gtny
RbmaNviFI AND cMeBaH Bit nImYy
RbmaNviFI OR cMeBaH Bit nImYy
RbmaNviFI XOR cMeBaH Bit nImYy
rMkileqVg
rMkilsaM
RbmaNviFIbdiesFn_ Bit nImYy

]TahrN_
a&b
a|b
a^b
a << b
a >> b
~a

]TahrN_
a
1
1
0
0
a << N = a*2
a >> N = aN
2
~1 = 0
~0 = 1

b
1
0
1
0

a&b
1
0
0
0

42

a|b
1
1
1
0

a^b
0
1
1
0

a). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI &

]bmafaeyIgmanGefrcMnYnKt;BIrKW a nig b Edl a = 5 nig b = 10


cUrKNna x = a & b ?
eyIgman
a = 5 KW
0 0 0 0 0 1 0 1
&
b = 10 KW

x = a & b KW

x=0

b). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI |

]bmafaeyIgmanGefrcMnYnKt;BIrKW a nig b Edl a = 5 nig b = 10


cUrKNna x = a | b ?
eyIgman
a=5:

b = 10 :

x=a|b:

x = 15

c). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI ^

]bmafaeyIgmanGefrcMnYnKt;BIrKW a nig b Edl a = 5 nig b = 10


cUrKNna x = a ^ b ?
eyIgman
a=5:

b = 10 :

43

x=a^b:

x = 15

d). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI <<

]bmafaeyIgmanGefrcMnYnKt; a mYyEdl a = 5
cUrKNna x = a << 2 ? ()annyfa cUrKNna x EdlesInwgtMl a rMkileTA xageqVgcMnYn
2 bit). ENnaM GkGacemIlesovePA Assembly EdlniyayGMBI Instruction SHL nig
SHR.
eyIgman
a = 5 KW
0 0 0 0 0 1 0 1

a << 2 KW

x = a << 2 KW

dUecH x = 20
e). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI >>

]bmafaeyIgmanGefrcMnYnKt; a mYyEdl a = 5
cUrKNna x = a >> 2 ? ()annyfa cUrKNna x EdlesInwgtMl a rMkileTA xagsaMcMnYn
2 bit.
eyIgman
a = 5 KW
0 0 0 0 0 1 0 1
a >> 2 KW

x = a >> 2 KW

44

dUecH x = 1
f ). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI ~

]bmafaeyIgmanGefrcMnYnKt; a mYyEdl a = 5
cUrKNna x = ~a ?
eyIgman
a = 5 KW
0 0 0 0

x = ~a KW

dUecH x = 250
III.5. GaTiPaBrbs;bNasBaaRbmaNviFI

enAkgkenSamKNna
faenAkg kenSamenaH
viFINamYyepSgeTot.
dUckgtaragxageRkam
lr

sBaaRbmaNviFInImyY GacmanGaTiPaBepSgKa
)anny
GacmansBaaRbmaNviFINamYyRtUv)anGnuvtmnu sBaaRbmaN
lMdab;GaTiPaBrbs;bNasBaaRbmaNviFIRtUv)anbgaj
bNasBaaRbmaNviFI

()[]->.

! ~ & * - ++ -- (type)sizeof

* / %

+ -

<< >>

< <= > >=

== !=

45

lMdab;RbmUlpM
BIeqVgeTAsaM
BIsaMeTAeqVg
BIeqVgeTAsaM
BIeqVgeTAsaM
BIeqVgeTAsaM
BIeqVgeTAsaM
BIeqVgeTAsaM

&

10

11

&&

12

||

13

?:

14

= += -= *= /= %= <<= >>=
&= ^= |=

15

BIeqVgeTAsaM
BIeqVgeTAsaM
BIeqVgeTAsaM
BIeqVgeTAsaM
BIeqVgeTAsaM
BIsaMeTAeqVg
BIsaMeTAeqVg
BIeqVgeTAsaM

ENnaMbEnmGMBIkaremIltaragxagelI
1. bNasBaaRbmaNviFx
I agelIEdlsresrenAelIbnat;EtmYy
enaH)an
nyfamanGaTiPaBesI Ka
nigbNasBaaEdlfitenAbnat;xagelI
manGaTiPaBCag
bNasBaaEdlfitenAbnat;xageRkamva.
2. cMeBaHbNasBaaEdlmanGaTiPaBesIKa
lMdab;nkarKNnaGaccab;
epImBIeqVgeTAsaM bBIsaMeTAeqVgvij dUc)ancglbgajenAkgkUeLan {lMdab; RbmUlpM}.
]TahrN_dUcCa
+
cMeBaHkenSam * --px eyIgeXIjfa sBaa * nigsBaa -- man
GaTiPaBesKI a
kb;uEnlMdab;nkarKNnaKWBsI a MeTAeqVg. dUecHRtUvKNna --px
rYceTIbyklTplEdlTTYl)aneTAeFVIRbmaNviFIKuNtameRkay.
+
cMeBaHkenSam 8/4*6 eyIgeXIjfa sBaa / nigsBaa * man GaTiPaBesIKa
kb:uEnlMdab;nkarKNnaKWBIeqVgeTAsaM.
dUecHmannyfa
RtUvKNna
8/4
rYceTIbyklTpl 2 EdlTTYl)anenaHeTAeFVRI bmaNviFKI uN CamYy 6
dUecHlTplrbs;kenSam 8/4*6 KW 12.
3.
edIm,IsresrkenSameGay)anRtwmRtUvbMput enaHRtUveRbIsBaargVgR; kck
46

III.6. karbegIn

nig karbnaytMlrbs;Gefr
C )anplB
; rI RbmaNviFmI Yy Operand edIm,IeFVkI arbgnI bbnytMlrbs;Gefr (TaMgcMnnY Kt;
nigcMnYnBit). karI ++ eRbIsrM ab;bkU tMl 1 bEnmeGayeTAelI Operand cMEnkkarI -vijKWsMrab;dkyktMl 1 ecjBI Operand EdlenACab;vaenaHvij.
]TahrN_fa eyIgmanGefr n EdlkMBugpktMlesI 5 enaHeyIg)an
eRkayRbmaNviFI ++n enaH n nwgTTY)antMl 6
eRkayRbmaNviFI --n enaH n nwgTTY)antMl 4
karI ++ nig -- GacQrenAxagmux Operand bkxageRkay Operand kb:uEn
lTplEdlTTYl)anmanPaBxusKabnic. dUecHeyIgGacsresr
++n

n++

--n

PaBxusKarvag ++n nig n++ KW

kgRbmaNviFI n++ (Postfix) enaHtMl n nwg RtUv)anekIneLIgEfm mYytMleTot


eRkayeBltMlcas;rbs; n RtUv)aneKeRbIR)as;rYc.
+
cMENk ++n (Prefix) vijenaH tMlrbs; n nwgRtUv)anekIneLIgmYy tMleTot
TaMgmuneBltMlcas;rbs;vaBMuTan;RtUv)aneKeRbIR)as;enAeLIy.
]bmafaeyIgmanGefr n EdlkMBugpktMl 5 enaHeyIg)an
x = n++ ; /*Pab;tMl 5eGayeTA x bnab;mk n TTYl)antMl 6 */
cMENk
x = ++n ; /*n TTYl)antMl 6 rYckPab;tMl 6 enaHeGayeTA x */
cMeBaHkarI -- vijkdUcKaCamYykarI ++ xagelIEdrRKan;EttMlrbs; Operand
RtUv)andkecjmYytMlb:ueNaH.
eRkAGMBIRbmaNviFIxagelIenH kg C enAmankarImYycMnYneTotsMrab;Gnuvt RbmaNviFIdUcCa

n=n+5;
Gacsresr n += 5;
m=m-5;
Gacsresr m -= 5;
+

47

x = x *(y + 5) ;
z = z /(a + b) ;
y=y%a;

Gacsresr x *= y+5;
Gacsresr z /= a+b;
Gacsresr y % = a;

karIesI = karIesI
RtUv)aneKeRbIsMrab;Pa b;tM lrbs;kenSamxagsaMkarW
eGayeTA
kenSamEpkxageqVgkarI. eyIgGaceRbIkarIessI Mrab;Pab;tMleGayGefrdUcTMrg; xageRkam
a = b = c = 5;
eyIgTTUl)an

a=5

b = 5 nig c = 5

eyIgkGacPab;tMleGaybNaGefrdUc]TahrN_xageRkamenH
int x, y, z; /* RbkasGefr */
z = (y = 3) * (x = 5);
eyIgTTUl)an
x=5
y=3
nig z = y * x = 3 * 5 = 15

dUecHeyIgTTYl)an z = 15
III.7. kenSamlkxN

Conditional Expression

kenSamlkxNCakenSamEdlmanTMrg;dUcxageRkam
e1 ? e2 : e3
kgenaH e1, e2

nig e3 KWkenSamepSgKa. tMlrbs;kenSamlkxNenHnwg esI e2


RbsinebIkenSam e1 Bit EtpyeTAvijvanwgTTYlyktMlrbs;kenSam e3. RbsinebI e2 nig e3
CaRbePTcMnYnKt; enaHtMlrbs;kenSamTaMgmUlkCacMnYnKt; Edr EtebI e2 b e3
CacMnYnBitenaHtMlrbs;kenSamkmanRbePTCacMnYnBitEdr.
]TahrN
x = (a > b) ? a:b

48

nwgTTYl)antMlesI
TTYl)antMlesI b.
x

RbsinebI

a > b

EtebIpyeTAvijenaH

printf(\n%f, a<b?a:b);
Statement xagelIenHmanmuxgarbgajelIeGRkg;nUvtMlmYyEdlCatMl

nwg

Gb,rimarvag

nig b.
kmvFi xI ageRkamenHCa]TahrN_bgajGMBrI ebobeRbIkenSamlkN.
CadMbUg
kmviFIdMrUveGayGkeRbIbBaltMleGayGefr n bnab;mkeTIbbBaleGayGefr m
rYcehIyeTIbbgajtMlGtibrimarvagtMl n nig m. kmviFI /*Prog2_4.C*/
#include <stdio.h>
#include <conio.h>
void main()
{
int n, m, max;
printf("\nInput n=");
scanf("%d",&n); /* bBaltMleGayGefr n */
printf("\nInput m=");
scanf("%d",&m); /* bBaltMleGayGefr m */
max = (m>n)?m:n; /*

eRbobeFobemIletI m FMCag n beT

*/
printf("\nMax = %d",max);
getch();
}

lTplelIeGRkg;KW
Input n = 10
Input m = 20
Max = 20

49

III.8. karbrRbePTTinny

Casting Data Type

kgeBleFVIRbmaNviFI karbrRbePTTinnyeRcInEtekItmaneLIgedaysVy RbvtidUcCa


enAeBlEdlkgkenSammaneRcInFatu ehIyFatunImYymanRbePT TinnyepSgKa.
enAeBlEdlPab;tMlRbePTNamYyeGayeTAGefrRbePTepSg
Edl
krNIenHEtgekItmaneLIgkgeBlPab;tMleGayeTAeQaH Function edayBak KnwH return b
keprtMlBI Argument eGayeTA)a:ra:Em:Rt nigkgkrNImYycMnYneTot.
CamYyKaenHEdr
kgeBleFVIRbmaNviFI
eyIgkGacbrRbePTTinnyBIRbePT
mYyeTACaRbePTmYyepSgeTot edaysresrtamTMrg;dUcxageRkam
(Data type) kenSam

]TahrN
(float)(a+b)

karbrRbePTTinnykgkenSam
EtgEtekIteLIgedaysVyRbvtienAeBlEdl
bNaFatuenAkgkenSam manRbePTTinnyepSgKa ehIyenAeBlenaHRbePT TinnyEdlmanTMhM
Memory tUcCag nwgRtUvbreTAtamRbePTTinnyrbs;Fatu EdlFMCag. ]TahrNdUcCa
eyIgeFIVRbmaNviFI a+b EdlkgenaH a manRbePT TinnyCa int cMEnk b manRbePTTinnyCa
long dUecHeBleFIVRbmaNviFIenH a nwg RtUv)anbredaysVyRbvtieTACaRbePT long (BIeRBaH int
manTMhM Memory 2 byte tUcCag long EdlmanTMhM Memory rhUtdl;eTA 4 byte).
eyIgGacbrRbePTTinnyBIRbePTmYy
eTACaRbePTmYyeTotepSgeTot)an
dUcbNa]TahrN_xageRkamenaH
int a, b, x;
float y, z;

50

a = 10; /* Pab;tMleGayGefrcMnYnKt; a = 10 */

Pab;tMleGayGefrcMnYnKt; b = 3 */
= a/b; /* eyIgTTYl)an x = 3 eRBaHkgkrNIEckcMnYnKt;eGaycMnYnKt;
enaHeyIgnwgTTYl)anlTplCacMnYnKt; */
= a/b; /* eyIgTTYl)an y = 3.000 eRBaHEckcMnYnKt;eGaycMnYnKt;enaH
eyIgnwgTTYl)anlTplCacMnYnKt; */
= (float)a/b; /* eyIgTTYl)an y = 3.333333 eRBaHeBlenHcMnYnKt; a
RtUv)anbMElgeTACaRbePTcMnYnBit dUecHkenSam y enaH)annyfa
EckcMnYnBiteGaycMnYnKt; lTplEdlTTYl)anRtUvEtCacMnYn Bit
(cMnYnTsPaK) */
= (float)(a/b); /* TTYl)an y = 3.000 eRBaH a/b )anlTplCacMnYnKt;KW 3
rYcehIyeTIbbMElglTplenaHeTACaRbePT float )anCa 3.00 ehIyPab;eGay
y Etmg. */
= (float)(a/b); /* eyIg)an x = 3 BIeRBaHlTplnkarEckKWCacMnYnKt; 3
bnab;mkbMElgvaeTACaRbePT float dUecHlTplenaHkayeTACa 3.00
ehIyPab;eGayeTA x. EtedayGefr x manRbePTCa int
dUecHlTplenaHRtUv)anbrRbePTedaysVyRbvtieTACaRbePT cMnYnKt; (int) */

b = 3; /*
x

z = 5.00;
x = a/z; /* lTplKW x = 2 */

IV. Statement

kMNt;bNakargarEdlkmviFIRtUvGnuvtnedIm,IKNnabNaTinnyEdleyIg)an
declaration . manBIr y:agKW statement eTal nig statement manTMrg;
+
Statement eTalCa statement EdlKanpkbNa statement epSgeTot. dUcCa
Assignment ( a = 2 ) .
Statement

51

man structure : Ca statement EdlmanpkbNa statement epSgeTotkgva .


dUcCa for.., while .., do ... while; . kg Turbo C cugbBab;n statement nImYyRtUvmansBaa
+ Statement

Semi colon (;)


Ex:
x = 2; y = 3 < 5* 8;

Z=PI;

=====*=====

52

sMNYr
1.
2.
3.
4.

cUrniyayGMBIPaBxusKarvag Character \0 nig 0 ?


cUrniyayGMBIPaBxusKarvag A nig A ?
etIGefr nigcMnYnefrKWCaGVI? nigRtUv)aneKeRbIsMrab;eFVIGVI?
cUrkMNt;tMlrbs;kenSamxageRkam
x1 = 10%3
x2 = 10/3
x3 = 10/3.0
x4 = 10.0/3
x5 = 10.0/3.0

5.

cUrkMNt;tMlkenSamxageRkam
a).
b).

6.

cUrKNnakenSameRbobeFobxageRkam
a).
b).
c).

7.

5.6 + 2.7 + 20/6 + 8.0


5.6 + 2.7*20/6 - 8
x1 = (6+5*3/2) <= (7/4*2+10/4)
x2 = (6+5*3/2) == (7/4*2+10/4)
x3 = (6+5*3/2) != (7/4*2+10/4)

cUrKNnaRbmaNviFIxageRkam
a = 10;
b = 5;
c = 7;
x = (((a+b) <= (a-c)) || (a+b+c) >= 1000)
y = (!(a+b) <= 4 || (a-c) > 2) && (a+b+c < 100)

8.

cUrkMNt;tMlrbs;bNakenSamxageRkam
x1 = 10 & 5
x2 = x1 | 25 5
x3 = x1 ^ x2
x4 = (10 << 2) + (20 >> 4)

9.

cUrbgajbNakenSamEdlmanlkNRtwmRtUv
a).
c).

(i = j)++
++(i+j)

b).
d).

53

i+j++
++i+++j

You might also like