Post on 08-Jul-2018
8/19/2019 Fondamenti linguaggio C
1/13
C dIfacaGafca
Lgagg C: Idefca, dcaae e defe Vaab T d
da fdaea Ca Se d c I/eeeae
Pf. M. Re
8/19/2019 Fondamenti linguaggio C
2/13
8/19/2019 Fondamenti linguaggio C
3/13
I C gagg:
a, c e aab dae d .
eaee a, c c e a dffeea, e ee, d a aee e
Paca (gagg eaee a).
3. T d da fdaea
Pe ede ee d a e ee d ea ce eee aca. Ad ee e e e e a ea aece ce a, ae, ecc.Og d da a a a aeeae ea (cdfca baa) ce a ce e d cee dea. Taa e ga de d da cee d aae e fa aea aaa, c
ecded daa aeeae ea acca. I ae ae, e a de e eced ecca d ce de eee a b ce cd a de added ea, a dca
eg d a ee C (ad ee: c=a+b;).L d aab c a a cegee:
e g aabe be deeae a ee de a ab e ee dee eaacab;
e g aabe be deeae a a a d ea eceaa; be eae a (a e d cae) e e dee aab ae d ea
ece e cdee.
I d da dd : ec;
a.
I ec ce d aeeae fa ce da ae ce ad ee a eeaa,a ec, ecc.I a ce d aeeae fa ce daaggegae d ae ce ce adee a daa, a ace, a caea cca, ecc.U ae d ece gcaee dbe, ee ae d a eee c
e a dee e ce. Ad ee: ae d daa c da e a (ec).
I C ee a de ee d edef ( b) e de ecca e defe ( e
defed).I ec ce C ee a de :
e; ea; caae.
I d da edef de C, ada a aeeae e, dffeea a e e e e c
ga e e e d b ce a ea aeeae eeabae.
()
I C e 3 d e c eg:
8/19/2019 Fondamenti linguaggio C
4/13
(dcaabe e ege d , ged , ged ); (dcaabe e ege d ged , ged); (dcaabe e ege d g , ged g, ged g ).
I ea d defe a da 2 1 a +2 1 1, de dede da cae e aeea e d bega e a aeeae.
Aaad a ccae ea (deaee egaa a e d b c ae da ea ed aea d aeeae), ag e ege ea:
ef() ef() ef(g); ef() >= 2 (e, ae 16 b); ef(g) >= 4 (e, ae 32 b).
Leae ef() C a e d be cca da a aabe da d da ce g ee aace ead.I a e ce e fe ., ce defce e ca:SHRT_MIN, SHRT_MAX, INT_MIN, INT_MAX, LONG_MIN, LONG_MAXQee ca ad ee ee gaa e cae e da e da ee cadeeea d aeeae. Se fe, a egaa aee a ce fa cae
eece e geeae d babe ee d ef/def.Se e dcaae a cae, cea e e eceee decae, ad ee 0, 10, 10, . ..G ea ab : +, , *, /, %, , !, , , , Pe a gada e f d ge/ca a e f f e caf, c ege dca d fa(de d dca decae):
%d e %d e %d e g (c ca)
Ad ee e aae e ce ea a def ce cee:f(%d", cae);
()
I C e 3 d e ea eg: (e: ged ); (dcaabe e ege d g , ged g, ged g ).
I ea d defe a da 0 a +2 1, de dede da cae e aeea e d bega e a aeeae.Le ca defe ce dca g ea d aeeae ce e fe . e :USHRT_MAX, UINT_MAX, ULONG_MAX ( ce `e ee 0).
Se e dcaae a cae ce: decae: ce e e c eg; eadecae: 0A, 02F4B, . . .
Ige/ca: ae f e caf, c ege ecfca d fa: % e e decae; % e e ae; % e e eadecae c cfe 0, . . . , 9, a, . . . , f; %X e e eadecae c cfe 0, . . . , 9, A, . . . , F.
Pe e aee e e e g aee (ca).
8/19/2019 Fondamenti linguaggio C
5/13
()
I C ea eg aeea edae ga e e e 3 : (dee ea 4 be); (dee ea 8 be); (dee ea 12 be).
I acae ea ae caa .Le gadee e g ea d e d da ce e fe d bea e .Ce ag e ege ea:ef(fa) = ef(dbe) = ef(g dbe)Se e dcaae a cae cea g e eceee decae USANDO SEMPRE IL PUNTOe ad a ae cefca.Ee:dbe , , , ; = 123.45; = 0.0034; = .0034; = 34.5e+20; = 34.5E+20;
= 5.3e12;Pe a gada d aab fa edae f:
e a %f aa e ga fa; e a %8.3f aa 8 cfe cee, d c 3 cfe deca; e a %e aa fa eeae.
Ee:fa = 123.45;f("%f %8.3f %8.3f\", , , );S ee :123.449997 123.450 123.450 Ee:
dbe = 123.45;f("%e %10.3e %10.3e\", , , );
S ee :1.234500e+02 1.234e+02 1.234e+02
S aae ace fa aa a %g (e %G) ce cege a fa caa fa a aeeeae (%e) e ea d %f.Pe a gada c caf e ca de fa ae dffeeeee %f %e.
I caae afaec de cdce ASCII (Aeca Sadad Cde F Ifa Iecage) cgacaee fe d e e a fe.Qe caae eg aeea C edae a dcaae d aab d ca.U cdce aca ad g caaee e.Ad ee cdce ASCII aca a caaee # e decae 35 e ae eee 0 9 dea a aea e deca da 48 a 57.Ad ee, ae eee a dea a aea a aca e deca da 97 a 122. ae cdae ce caae C eee a ce e, e cda a cdea fa caaee ed ae e cdce.I C e 3 d caae:
; (aeea cee a 2);
.
I ged ed ged ca eaaee aeea ce e.Aee, ca dede ece da cae e eee a def ce ged e ged.
8/19/2019 Fondamenti linguaggio C
6/13
Tcaee ae ef(ca) = ef() e ef(ca) ae 8 b.T g ea def (+, , *, /, %, , !, , , , ) ag caae.Aee: e eeae c eee d dae caae.Se ad ee =a e =b aa a e (>) ea. Qe be ec C ede ce d ce 97 (e a e cdce ASCII) ed ce d ce 98!Ad ee e a aabe caaee ea a egee e ((>96)AND(
8/19/2019 Fondamenti linguaggio C
7/13
'\"' " (ace d)'\0' (caaee NULL)
Le d c de f ecfca de ecd ae cac de eee effea.
La agg ae dee , ce' dee ee ege da ; ( ega).La a a egee:eee;
..1 L'eee e' ae.
..2 I ; ( e ga) e' d e.
I ae de'eee ee aca, ee d fdaeae aa g cedfca a dee aab aee d ea. G effe caea aa ceaee a ceega eega a ccea e.
Ee:
;
Qe ca de' ed eg e' c adde a a ceda a e, a
gaa debba eege aca ae.
I C bcc eaa edae ' dee aee gaffe de e a a eea d .E' be dcaae dee aab ca a'e d bcc d C. I bcc eee ea de a a acee: e dcaa dee aab ca eg edaaee a aee a eeced a ae eegbe de bcc. dcaa L'eg de bcc faa aa:
ca d ee d (e ca c a a eea 'ee d aee a e); defe de c d a fe.
Ee 1: a, b;.... e; /* ae dcaaa de bcc */e = a;a = b;b = e; /* Aee: da a aabe e cea d eee */
Ee 2:
/* bcc */
Vag e a ege d b: e b da dea dcaae f aa fe debcc c aaeg; e, e aab ca acd (eded acceb) e aab e gba,
c dcaae bcc ee
8/19/2019 Fondamenti linguaggio C
8/13
I C ee a de de : c IF
c SWITCH
E c da a eee e /de/e/ee bcc d cdce (caa "a" de 'f).Le de fe ce c eeae a a eaa a c IF e ege:1 ca:
f (eee)e_1
2 ca:
f (eee)e_1
ee
e_2e_1 ee eega e eee, a a aaa aee a effe caea, a ae e (c e); ae e eee a ae fa (ce' gae a e) ee eegae_2, e eee.
Ne ca d , a ae ee ee abbaa ee a'a f a e e bcc dea ee, a ga' abbaa ad a ecedee ee.Pe gae a eggba' e' cgaa a ba e ceee deae de gaa, ae ce ecc aa de cdce.Pe eae b abga' ee IF eae, e' be ' d bcc e accdee c ' e.
Ee 1:
f (a > b) = 0;
ee = 5;
Ee 2:
f (a > b)f (c > d)
= 0;
ee
= 5; /* a > b e c b)
f (c > d) = 0;
ee
= 5; /* a
8/19/2019 Fondamenti linguaggio C
9/13
f (e2)2
eef (e3)
3
ee f (e4)4
ee5
I c SWITCH aee ega ad de cae ca. I e d cdce aeee da.
I c c da ecee (CASE) e da ca geeae (DEFAULT). Le ecee de cae de eee deeca.La fa ca dea a eaa a c SWITCH a egee:c (eee)cae e_cae_1:[]...cae e_cae_2:[]...defa:
[]...N.B. Lecea defa e e ad ea eaa, a, c e ae a a d ce
eg g ecea (abe) de cae.
L'eee ee aaa aee a effe caea ed ae a da ea, ce dee eee d e (ca, , g) ee cfa c e ee ca acae ae cae.I ca d cdea c ee aa ae ad ea acae, e ca f a eede'e SWITCH (d f a aggge dea aee d ca de'e).Se ae de'eee cde a ea dee ee ca, aa c ee afeaa a e acaa aa abe defa, e ege f a aggge de ee de'e SWITCH.
Se ee a abe defa ecfcaa, a SWITCH ea edaaee.E' ee 'eae de c SWITCH.Ta g aee ce cg c de SWITCH e' ee ' de'e d a BREAK. Qadae e ee caa, ea caa ee de'eece de'e SWITCH ed c aaa'e ccea.
Ee:// cegg de d caaeca c; _cfe, _eaa, _a;...c = ....; // a c caaee da eaae
c (c)cae '0':
_cfe = _cfe + 1;
8/19/2019 Fondamenti linguaggio C
10/13
bea;cae '1':
_cfe = _cfe + 1;bea;.....
cae '9':
_cfe = _cfe + 1;bea;
cae ' ':_eaa = _eaa + 1;bea;
cae '\':_eaa = _eaa + 1;bea;
cae '\':_eaa = _eaa + 1;bea;
defa:
_a = _a + 1;...
I C ee a de e :
c WHILE c DOWHILE c FOR
E c geeae, da c eee g a c e eae.La a a a egee:
e (eee)e
e:
e (eee)e1e2....e
L'eee ee aaa e, e a ae de da 0 (e), ee eega 'e ccea (ce aceeee e bcc d , aee dea dae aee gaffe). Ua a ce e'a eaa, 'eee ee aaa aee e, e aee ea, ee 'e. C eca f aad 'eee a ae 0 (fa), e e ca c afece a'e ccea, a e.
U cc e eee eeg e e, c 'eee ebbe eee faa g a a a. Saa d cc a : a d eege cc aa a cde.
8/19/2019 Fondamenti linguaggio C
11/13
I bea cae dee e eae ce eae cc f. Qe accade e e eed gaae e ace cde eea aa eee de e ae ee ea.A'e de bcc d ' cae 'e BREAK ce, e eega, ca ee de WHILEc 'e CONTINUE ce, a a caa, fa deeae ccea de cc, ca ceece edaa dea ae d c de cc.I ca d cc ea, eabe e BREAK e CONTINUE a fea cc ' ee.
Ee: eg a e e ce ee ee da aea f a ad ee e e.
#cde a() , a;a = 0; = 1; // ae ae (ee e eae e e)e ( != 0)caf ("%d" , &);
a = a + ;f("La a e' %d", a);
I c DOWHILE eea a egee a:
de
e (eee);
Pe g cc ee eega e, ee aaa 'eee.Se a ea (dea da e) cc ee aa, ae 'e DOWHILE a ee.Le ee eega ae a a: fa c de cc a : a daae a cde eege cc. Qd c de cc ee eeg ee ae a aA dee eec bcc. Ae d bcc d cae 'e BREAKce, e eega, ca ee de DOWHILE ce' 'e CONTINUE ce, a a caa, fa deeae ccea de cc, ca c eece edaa dea ae d c de cc.I ca d cc ea, eabe e BREAK e CONTINUE a fea cc ' ee.
I c FOR eaee a c WHILE, a cga e ca c
e d ea SIA NOTO A PRIORI.Pe ee, e dee cade a a da ce a ee N eee, aa e cc FOR. Ne ca c debba cae a cedee aee d dgae e fc ee e e a a e,aa e c WHILE a e d ea a .I c FOR c e egee d:
f ( e1 ; e2 ; e3 )e
Se e eae bcc d cdce, c FOR c e egee d:
f ( e1 ; e2 ; e3 )
e1e2...
8/19/2019 Fondamenti linguaggio C
12/13
e
c: e1 eee e, e2 eee ), e3 eee .
L'eee eee d aae e aab d cc e ee eega a a a, a d aa aa
eae.
Ee: cae 0.Scceaee ad ea, ee aaa 'eee de cc e, e ea a ae de da 0, ee eega'e ce cce c de cc ( bcc d fa aee gaffe).Ee: cae 9.A ee de'eece de c de cc, ee aaa 'eeecee, d e e aggae a dee aab d cc.Ee: cae cae + 1.Qd, aa aee 'eee de cc e c a. I cc ee fc aa ce faa
'eee de cc (ae 0).Ae d bcc d cae 'e BREAK ce, e eega, ca ee de FORce' 'e CONTINUE ce, a a caa, fa deeae ccea de cc d aeeaa e3.I ca d cc ea, eabe e BREAK e CONTINUE a fea cc ' ee
Obe: dcaae a aabe ea, aega ae e aaa a de.U ece gaa ce eege ee a egee:#cde a()
; = 3;f("%d", );
Nea ae dcaaa dcaa a aabe ce aabe ea (). Nea a ga dea ae eeca
aega ae 3 aa aabe .La ea ga de a caa a fe f ce eee d aae a aabe aaa (aa dea deaga) a eae. Aa a dea ga eee a ga caaa . Ea a c ddefe ce d ce dea aabe debba eee aa. Ad ee %d gfca ce eaaa ce e: a ca e 3.Ce g , e ce:f("He WORLD");cae a :He WORLD
Se ce ce:f("I ae ce e: %d", )
cae a :I ae ce e: 3Qe accade c a fe f aa a ga d c e ce ae a dea ga ce a
c % ( e ca %d) a dee aab aa aa dea dea ga ( ae d ).
8/19/2019 Fondamenti linguaggio C
13/13
Obe: dcaae a aabe ea, eggee ae daa aea e ca a aabe.U ece gaa ce eege ee a egee:#cde a()
;f("e e e :");caf("%d", &);f(" ae ea e %d", ); /* aa e c */
Nea ae dcaaa dcaa a aabe ce ea (). Nea a ga dea ae eeca aa eagg e ee affc caca ce g a ceded d baee e e a aea.Le ccdeaacaee c a ee de a .La ea ga de a caa a fe caf ce eee d cae e e da aea ea aabe . Aaa dea ga c ce dee eee e da e daa aea. I e ca dcae %d
dca ce dee eee e ce e e.Qea cdeae baae. Ifa e ee dgae 1024 a aea eg daa ee de , ea ebbe eeae e da a ce e e 1024 a ace ce a ga ca dacaae 1, 0, 2 e 4. Idcad %d, ge g b eeae d ce da debba eee ea ce e e.Aa dea dea ga eee d de ae e dee eee ea (& gfca ad d).Aee, ce cee caf("%d", ); ea &.La ga de a aa ae e. I e d be effeae a efca ecd e
da g dece a dea fe f.