UNIT-II FUNDAMENTAL OF 'C' FEATURES OF 'C' LANGUAGE: Que-1: wrIte down maIn Ieatures oI C Ianguage wItb expIanatIon. O C is oriallc. O C docs noi coniain Inui/ouiui siaicmcnis. O C suoris Dii-wisc ocraiors wIicI normally arc noi suoricd ly IigIcr lcvcl languagc. O C is Modular languagc. O %Ic rogram wriiicn in C is always oriallc. O !oriallc mcans a C rogram wriiicn on onc Iardwarc worls on oiIcr Iardwarc O iiIoui any modificaiion or wiiI minor Iardwarc dccndcni modificaiion. O ormally rogram wriiicn in any IigIcr lcvcl languagcs arc inicraciivc. For iIai urosc rogramming languagc suoris I/O siaicmcnis. O For camlc, DASIS languagc coniains I!&% siaicmcni io rcad iIc inui from iIc lcyloard and !#I% siaicmcni io roducc iIc ouiui on scrccn. O C docs noi suori sucI I/O siaicmcnis for iIis urosc C uscs iIc lilrary funciions scanf(} and rinif(}. O C also suoris iIc lii-wisc ocraiors io crform iIc lii-wisc ocraiion lilc A, O#, O% cic. ormally iIcsc ocraiions arc noi suoricd ly iIc IigI lcvcl languagcs. Dui arc common in macIinc/asscmlly languagcs. O C rogram is grou of onc or morc funciions. %Ic mciIod of dividing a rogram inio small funciion is callcd modulariiy. %Ic modulariiy is an csscniial ari of siruciurcd rogramming.
O oic. - C is noi considcrcd as a IigI lcvcl languagc, lui lnown as middlc lcvcl languagc.
STRUCTURE OF 'C' PROGRAM: Que-2: ExpIaIn Structure oI C programmIng ocumcniaiion Scciion Linl Scciion cfiniiion Scciion Clolal cclaraiion Scciion main (} { cclaraiion Siaicmcnis; Eccuiallc Siaicmcnis;
Sulrogram Scciion Cu (unl1 ll) 2 ML8CPAn1 LnCC CCLLLCL 8ASnA
&F......1 &F......2 . . . &F......n
O ocumcniaiion scciion consisis of a sci of commcni lincs giving io namc of iIc rogram, iIc auiIor and iIc oiIcr dciails wIicI iIc rogrammcr would lilc io usc laicr. O E, /.....Lalcl of rogram...../ /.....End of rogram...../ O Commcni linc is a non-cccuiallc siaicmcni and is ignorcd ly iIc comilcr. O %Ic linl scciion rovidcs insiruciion io iIc comilcr io linl funciion from iIc sysicm lilrary. O Linl scciion, iIcrc arc iwo Icadcr-filc. =includc<sidio.I> (Siandard inui/ouiui Icadcr-filc} =includc<conio.I> (Consolc inui/ouiui Icadcr-filc} O %Ic dcfiniiion scciion dcfincs all symlolic consianis. O A =dcfinc is a rcroccssor comilcr dircciivc and noi a siaicmcni. O =dcfinc sIould noi cnd wiiI scmicolon. O For dcfining a symlol, O Synia. =dcfinc SYMDOLAME valuc O E- =dcfinc !I 3.14 O %Icrc arc somc variallc iIai arc uscd in morc iIan onc funciion sucI variallc s arc callcd glolal variallcs and arc dcclarcd in glolal dcclaraiion scciion iIai is ouisidc of all iIc funciion.
O For dcclaraiion of variallc, O Synia. aiaiyc Variallcamc; O E- floai a; O Evcry c rogram musi Iavc onc main funciion. Main is a sccial funciion uscd ly c sysicm io icll iIc comilcr wIcrc iIc rogram siaris. O %Iis scciion coniains iwo aris.- -cclaraiion ari; -Eccuiion ari; cclaraiion ari dccidcs all iIc variallc uscd in iIc cccuiallc ari. %Icrc is ai lcasi onc siaicmcni in iIc cccuiallc. %Icsc iwo aris musi acar lciwccn iIc ocning and closing lraccs. O %Ic rogram cccuiion lcgins ai iIc ocning lraccs and cnds iIc closing lraccs. O %Ic sulrogram scciion coniains all iIc uscr dcfincs funciion iIai arc callcd in iIc main funciion.
prIntI( )
O rinif(} is a cccuicd siaicmcni. Cu (unl1 ll) 3 ML8CPAn1 LnCC CCLLLCL 8ASnA
O Ii is a rcdcfincd siaicmcni.rcdcfincd mcans iIc siaicmcni is alrcady lccn wriiicn, comilcd and linlcd iogciIcr wiiI <sidio.I> Icadcr filc. O ii is lilrary funciion. O rinif(} is uscd io rini or dislay iIc mcssagc and also uscd for rini iIc ouiui in rogram. O Synia. (a}For rini or disly mcssagc on iIc scrccn rinif(mcssagc"}; E.- rinif(Hcllo, MEC siudcni"};
(l}For rini iIc ouiui in rogram rinif(mcssagc+conirolsiring", lisi of variallc}; E.- ini c; c4+8; rinif(sumaiion %d", c};
scanI()
O scanf(} is a cccuicd siaicmcni. O Ii is a rcdcfincd siaicmcni in <sidio.I> Icadcrfilc. O ii is lilrary funciion. O scanf(} is uscd io rcad or inui iIc daia from a lcyloard. O synia. scanf(Conirol siring", &lisi of variallc}; E-1. ini a; scanf(%d", &a}; E-2. ini a,l; scanf(%d %d", &a, &l}; E-3. ini a; cIar l; scanf(%d %c", &a, &l};
O %Ic cIaracicr uscd in C arc dividcd inio four caicgorics Lciicrs or alIalcis igiis Sccial cIaracicr Iiic saccs
Cu (unl1 ll) 4 ML8CPAn1 LnCC CCLLLCL 8ASnA
O %Ic lciicrs includc iIc ucrcasc(A,D, . , Z} and lowcrcasc(a,l, . ,z} alIalcis of EnglisI languagc. %Ic digii includc 0,1,2, . , 9. O %Ic C also uscs sccial cIaracicrs lilc ;( scmicolon}, '(singlc quoics}, (doullc quoics}, +,_,,/,%,>, cic for diffcrcni uroscs. O %Ic wIiic sacc is uscd io scaraic iIc words or iolcns. %Icy arc llanl, ial and ncwlinc. O %Ic cIaracicr iogciIcr malcs sccial symlol or word lnown as iolcn. O EX. iIc words uscd io dcfinc daia iyc lilc Int, IIoat, cic. O Similarly any ocraior lilc +, -, , /, %, > cic, unciuaiion marls lilc ;( scmicolon}, lraccs { cic arc also iolcns. O %Ic consiani uscd in rogram lilc 12, 12.65 arc also iolcns.
eywords O %Ic lcywords arc sccial words uscd in C rogramming Iaving sccific mcaning. O %Ic mcaning of iIcsc words can noi lc cIangcd. O %Icy arc also lnown as rcscrvcd words O cywords can noi lc uscd as idcniificrs.
Lisi of lcywords
auio doullc ini siruci Drcal clsc long swiicI casc cnum rcgisicr iycdcf cIar cicrn rciurn union consi floai sIori unsigncd coniinuc for signcd void dcfauli goio sizcof volaiilc do if siaiic wIilc
IdentIIIers O %Ic idcniificrs arc uscr dcfincd namcs uscd in rograms for roviding namcs io variallc, arrays and funciions. O %Ic idcniificr arc madc u of lciicrs(ucrcasc and lowcrcasc}, digii and undcrscorc. O %Ic C is casc scnsiiivc and Icncc iIc ucr casc lciicr and Lowcr casc lciicr arc noi samc. O E. ma and Ma, arc noi samc. %Ic lowcr casc lciicr arc uscd In idcniiificr lui Is noi iIc limiiaiion as ucr casc can also lc uscd.
Constant O %Ic consianis arc iIc valucs wIicI ncvcr cIangcs. Cu (unl1 ll) 3 ML8CPAn1 LnCC CCLLLCL 8ASnA
Consianis
umcric Consianis on-umcric Consianis
Inicgcr #cal CIaracicr Siring
Integer Constants O Inicgcr consianis rcrcscni iIc wIolc numlcrs. O %Icy uscs digii 0 io 9 and oiional sign + or lcforc iIc numlcr. O %Ic sacc, comma and oiIcr symlol arc noi allowcd.
O E of valid inicgcr consianis E of Invalid inicgcr consianis 123 10,000 -23 $500 65535 15 780 0 +85
O C also allows iIc ocial and Icadccimal inicgcr in addiiion io dccimal consianis. O %Ic ocial no. is wriiicn wiiI rcccding o and Icadccimal numlcrs arc rcccdcd ly o or oX.
ReaI Constants O #cal consianis rcrcscni iIc numlcr wiiI fraciional ari i.c. digii aficr dccimal oini E of valid rcal consianis 0.0005 -0.123 +248.0 215. .78 O #cal consiani can lc wriiicn in scicniific formais also. E of scicniific formai -8.92E-1 6.8c+4 1.7c+2 8.19E3 Cu (unl1 ll) 6 ML8CPAn1 LnCC CCLLLCL 8ASnA
O %Ic scicniific formai is uscd io rcrcscni iIc numlcrs wIicI arc ioo small or ioo lig. O E. 0.000000587 is vcry small no. and wriiicn in scicniific formai as 5.87E7
Cbaracter Constants O CIaracicr consianis rcrcscni singlc cIaracicr and arc always cncloscd in singlc quaics. O E of valid cIaracicr consiani 'A' 'a' '?' '.' '8' O %Ic cIaracicrs arc siorcd in iIc comuicr mcmory in form of ASCII valucs. O ASCII valuc of 'A' is 65 O ASCII valuc of '8' is 56 Escape Sequence Consiani Mcaning '\a' Dcll '\l' Dalc sacc '\f' Form fccd '\n' cw linc 'r' Carriagc rciurn '\i' Horizonial ial '\v' Vcriical ial '\'' Singlc quoic '\"' oullc quoic '\?' Qucsiion marl '\\' Dlacl slasI '\0' ull
StrIng Constants O Siring consiani is a scqucncc of cIaracicr consiani and cncloscd in doullc quoics. O %Ic sirings arc uscd io rcrcscni iIc namc, addrcss, ciiy, namcs cic. E.- ASHA%" 1973" " Hcllo, MEC Siudcni" Note: D" and 'D' are not same sImIIarIy S", 'S' and S are dIIIerent
O Only ucrcasc and lowcrcasc lciicrs, digii and undcrscorc can lc uscd. O Variallc namc always lcgins wiiI lciicr. O Only firsi 32 cIaracicrs arc significani. O cywords can noi lc uscd. O Variallc namcs arc casc scnsiiivc. i.c. iIc Couni and couni arc iwo diffcrcni variallc O %Ic undcrscorc cIaracicr is uscd io scaraic iIc words in a variallc namc wIcn namc consisi of muliilc words. O E. icm_calc icm_faIr %Ic digii arc uscfull io Iavc scqucncc of namcs wiiI cacI namc Iavc samc mcaning, lui digii diffcrcniiaic iIc insianccs.
E of valid variallc namc
Variallc namc Valid/Invalid #cmarl Ma Valid ma4 Valid ma 3 Invalid Sacc is noi allowcd avg_num Valid doullc Invalid cyword is noi allowcd 1 icm Invalid Variallc namc sIould siari wiiI lciicr
Data Types O C languagc suoris four fundamcnial daia iycs.
%yc !urosc Sizc(Dyic} #angc of valuc cIar For sioring cIaracicr & siring 1 lyic -128 io 127 ini For sioring inicgcr 2 lyic -32768 io 32767 floai For sioring rcal numlcrs 4 lyic 3.4c-38 io 3.4c+38 doullc For sioring doullc rccision floaiing 8 lyic 1.7c-308 io 1.7c+308
O In addiiion io fundamcnial 4 iycs of daia, 'C' languagc suoris diffcrcni qualificrs sucI as signcd, unsigncd, sIori and long. O %Icsc daia iycs wiiI iIcir sizc and rangc arc as lcllow.
%yc Sizc(lyics} #angc of valucs unsigncd cIar 1 lyic 0 io 255 unsigncd ini 2 lyic 0 io 65535 sIori ini 2 lyic -32768 io +32767 unsigncd sIori ini 2 lyic 0 io 65535 Cu (unl1 ll) 8 ML8CPAn1 LnCC CCLLLCL 8ASnA
long ini 4 lyic -2147483948 io +2147483947 unsigncd long ini 4 lyic 0 io 4294967295 long doullc 10 lyic 3.4E-4932 io 1.1E+4932
O %Ic iyc of iIc variallc is cIoscn lascd on iIc iyc of informaiion io lc siorcd. O %o siorc iIc individual alIalci, cIaracicr iyc is mosi suiiallc cIoicc. O %Ic various ini iycs arc uscful for wIolc numlcrs. O %Ic 'C' suoris floai and doullc iycs for sioring rcal valucs. O %Ic floai is singlc rccision, wIilc doullc is doullc rccision. O !rccision sIows iIc numlcr of digiis aficr dccimal oini.
SymboIIc Constants O Symlolic consianis arc uscd io dcfinc iIosc consianis wIicI arc rccaicd scvcral iimcs in iIc rogram. O Insicad of using dirccily consianis ai cacI lacc, if wc dcfinc a symlol for sucI consiani oncc and usc iIc symlol ai cacI lacc wIcrc consiani is rcfcrrcd in iIc rogram, ii is morc convcnicni. Synia. =dcfinc SYMDOL consiani_valuc O E, =dcfinc !IE 3.14 =dcfinc MAX 10 =dcfinc M%S 3.28 =dcfinc EOF -1 O %Ic main advaniagc of symlolic consiani is iIai if wc wani io cIangc iIc valuc of consiani, wc nccd io cIangc ai only onc lacc. O %Ic ucrcasc laiicr arc uscd dcfining symlols io diffcrcniiaic iIcm from iIc normal variallcs.
Constants WItb const O 'C' rovidcs anoiIcr way io dcfinc iIc consianis wiiI lcyword const. O Any aiicmi io modify sucI variallc in rogram, rcsulis inio comilaiion crror. O Synia consi daia_iyc consiani_namc valuc; wIcrc const is a rcscrvcd word, data_type is iyc of consiani and constant_name is namc of iIc consiani jusi lilc variallc and vaIue dcnoics valuc of iIc consiani.
O E, consi ini ma 5; O %Ic dcfauli daia iyc is ini, iIc alovc siaicmcni is samc as consi ma 5; O Samc way, wc can crcaic consianis of any valid daia iyc. Following siaicmcni dcclarcs iIc consiani pIe wiiI valuc 3.14. Cu (unl1 ll) 9 ML8CPAn1 LnCC CCLLLCL 8ASnA
consi floai ic 3.14; O If you do noi iniiializc iIc consiani ai iIc iimcof dcclaraiion, C auiomaiically iniiializc ii io 0. For camlc, consi ini couni; dcfincs count as consi wiiI valuc 0.
Enumerated Data Types O %Ic cnumcraicd daia iyc is uscd io dcfinc morc iIan onc inicgcr symlolic consianis. O E, cnum loolcan {falsc, iruc; Hcrc enum is a lcyword, booIean is a daia iyc and falsc and iruc arc ossillc valucs. %Ic valuc of falsc is 0 and iruc is 1. Oncc iIc cnumcraicd daia iyc is dcfincd, wc can crcaic variallcs as lilc oiIcr daia iycs. For camlc, cnum loolcan siaius; Icrc status is variallc of iyc BooIean and can roccss only valucs falsc and iruc. %Ic following assignmcni is valid. siaius falsc; O E, (1} cnum moniI{JA1, FED, MA#, A!#, MAY, J&, J&L,A&C, SE!, OC%, OV, EC Hcrc JA is assigncd valuc 1, FED 2, MA# 3, and so on. (2} cnum csca {DLEL '\a', ELIE '\n', V%AD '\v', %AD '\i' O %Ic symlolic consiani dcfincs only onc symlol ai a iimc, wIilc cnumcraicd daia iyc can dcfinc many symlols ai a iimc. O %Ic main advaniagc of cnumcraicd daia iyc is iIai wc can assign namcs io valucs and roccss casily. typedeI O 'C' languagc suoris a fcaiurc lnown as 'iyc dcfinaiion' iIai allows uscrs io dcfinc an idcniificr iIai woulod rcrcscnis an cisiing daia iyc. %Iis ucr-dcfincd daia iyc idcniificr can laicr lc uscd io dcclarc variallcs. O %Ic usc of 950/01 lcis onc crcaic and cfinc a ncw namc for an cisiing iyc. O Synia. iycdcf iyc variallc; Icrc iyc rcfcrs io an cisiing daia iyc and variallc rcfcrs io ncw namc givcn io iIc daia iyc. O E, iycdcf ini uniis; iycdcf floai marls; So you can dcclarc marls , y; uniis lg; Icrc , y rcrcscnis floai iyc daia variallcs wIilc lg rcrcscnis inicgcr iyc daia variallcs.