Professional Documents
Culture Documents
kenSam
Expression & Statement
I. RbePTTinny
I.1. niymny
kgPasa C manRbePTTinnymYycMnYndUc)anbgajxageRkamenH
RbePTTinnyRtUv)aneKeGayniymnyedayBIrcMnucxageRkamKW
+
CaRbePT
nigEdnkMNt;ntMl
EdleRkayeBlGefrmYy)anRbkas
CamYyRbePTTinnyenaHrYc vaGacTTYlyktMlenaH)an.
+
kgRbePTTinnynImYyGacmankMNt;RbmaNviFImYycMnYnCak;lak;.
I.3. RbePTcMnYnKt; ( Integer )
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
0 dl; 65535
unsigned
long
0 dl;
4294967295
Character
Integer
Unsigned character
Unsigned intger
26
32767
bsresr
int x = 5;
27
I.3.3. cMnYnefrRbePTcMnYnKt;
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
+2
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 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;
bkGacsresr
float x = .50;
edIm,IrkSaTukTinny 1 character.
31
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)
Character
\
\
\\
\0
\0 b NULL
]TahrN_
char x = 5;
bk
char x ;
x = 5 ;
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
\0
I.7. TinnyRbePT
Boolean
34
eyagtam]TahrN_xagelIeyIgeXIjfa
cMnYnKt;EdlGacmanEtBIrtMlb:ueNaHKW 0 nig 1.
II.cMnYnefr
nig Gefr
II.1. cMnYnefr
lTplrbs;sMeNIrxagelIKWCa
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
sBaa
+
*
/
%
sBaa
/
+
Gtny
bUk
dk
KuN
Eck
EckyksMNl;
]TahrN
a+b
a-b
a*b
a/b
a%b
36
]TahrN_
ebIEckelxrvagcMnYnBit
nwgTTYl)anplEckCacMnYnBit.
]TahrN
+
10.00/3
10/3.0
sBaa
nigcMnYnBit
bcMnYnBit
nigcMnYnKt;
enaHeyIg
= 3.333333
= 3.333333
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 ---*/
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
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
39
sBaa
Gtny
]TahrN_
bdiesFn_ (NOT)
RbmaNviFI (AND)
RbmaNviFI (OR)
!
&&
||
!a
a && b
a || b
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
<<=
==
!=
&&
||
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
x = a & b KW
x=0
b). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI |
b = 10 :
x=a|b:
x = 15
c). ]TahrN_Cak;EsgGMBIkareRbIRbmaNviFI ^
b = 10 :
43
x=a^b:
x = 15
]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
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
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; /*
*/
printf("\nMax = %d",max);
getch();
}
lTplelIeGRkg;KW
Input n = 10
Input m = 20
Max = 20
49
III.8. karbrRbePTTinny
]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
Z=PI;
=====*=====
52
sMNYr
1.
2.
3.
4.
5.
cUrkMNt;tMlkenSamxageRkam
a).
b).
6.
cUrKNnakenSameRbobeFobxageRkam
a).
b).
c).
7.
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