!le raffe servono a contenere una serie di istru%ioni!" ic'iara%ioni di variabili* tipo nome.variabile nome.variabile Ti&i* int intero+ float ,numeri.do&o.virola ( double do&&io.float)+ char carattere+ void -ualsiasi.ti&o+
simboli di stam&a (\)* 4n va a linea nuova 4t salta di una tabula%ione 4b ritorna un carattere indietro ( backspace) backspace) 4a suona il cam&anello della macc'ina 44 stam&a il carattere 4 45 stam&a il carattere 5
Cicli (tutti i cicli &ossono essere intrecciati tra di loro) Ciclo if"else
if ( espressione ) seq. di istruzioni "else seq. di istruzioni "
$ciclo sealtrimenti* se la condi%ione di if non B vera il calcolatore &assa all0else+ li if &ossono essere messi in serie$
Ciclo #hile
8'ile(condizione) seq. di istruzioni"
$ciclo fintantoc'* eseue le istru%ioni fino a -uando la condi%ione non B &iD vera$
Ciclo do"#hile
do seq. di istruzioni " 8'ile ( condizione )+
$ciclo faifinoa* fa continuamente le stesse a%ioni fino a c'e la condi%ione B vera$
Ciclo for
for ( .exp.Iniz + .condi%ione+ F.exp.Incr ) seq. di istruzioni "
$ciclo for* da es&ressione 3 fai istru%ioni3 eseui es&ressione F3 fino a c'e condi%ione B vera $
Ciclo s#itch"case
s8itc' ( var ) case v* ist.1; break;
case ...* ist.2; break; case vi* case vG* ist.ij; break; case ...* ist.3; break; case vN* ist.; break; default * ist.!; break;
$considera variabile3 caso etc.3 se un caso B vero break serve a non controllare i case successivi3 default viene sem&re controllato$
" continue+ breaH+ oto istruzione+
Arra=
$data una condi%ione3 do&o continua+ conclude il ciclo$ $se la condi%ione B vera salta e va all0istru%ione indicata$ (se-uen%e di elementi messi in se-uen%a3 numeri o caratteri)
$rra* se-uen%e di numeri
intc'ar nome.arra"Inumero.elementiJ+ $dic'iara%ione arra=$ nome.arra"InJ $la &osi%ione di un elemento B data dall0indice n3 c'e va da 7 (&rimo elemento) a numero.elementi#1 (ultimo elemento)$ &uK essere dic'iarata in un #define la MALNP dell0arra=3 ma la sua lun'e%%a effettiva B decisa durante la com&ila%ione attraverso*
sentinella* usando un ciclo $%ile3 fino a c'e l0utente non inserisce un certo valore l0arra= continua a
riem&irsi di valori. Ies* $%ile&temp'(#1 )) i*+,-/!0J
far inserire un valore all0utente c'e viene messo &oi nella seconda condi%ione di un ciclo for .
non si pu operare sullintero arra" ma solo sui suoi singoli elementi + con tutte le ltre fun%ione B come se fosse un intero. tringhe
∗ ini%iali%%a str con la strina 5alfa5 ∗ ∗ str contiene 5alfa5
strc&=(str3 str)+
∗ co&ia str in str ∗ ∗ str contiene 5alfa5
: 9 strlen(str)+
∗ lun'e%%a di str ∗ ∗ : assume valore ,
&rintf(56s53 str)+
∗ scrivi str su standard out&ut ∗ ∗ scrive str su stdout ∗
scanf(56s53 str)+
∗ lei str da standard in&ut ∗ ∗ str 1riceve2 da stdin ∗
∗ ∗
truct
struct dic'iara%ioni di variabili o arra= o strin'e+ " nome struct+ Assenamenti3 letture e stam&a* (reole di strin'e3 arra= e variabili) nome struct.nomevariabile Q
$d il numero di b=te occu&ati da una variabile o un ti&o$
pia!!amento neli arra=* se due &untatori &untano a due elementi di un arra= la loro differen%a ne dar la distan%a neli arra=3 non la differen%a aritmetica
Uun%ioni (sotto&rorammi) () "
na fun!ione va dichiarata allinizio del &roramma &rima dell0 int main()+ la defini!ione va scritta alla fine.
tipo nome(argomenti) dic'iara%ione variabili locale+ istruzioni+ return valore.o.espressione+ " $ssegnamento valore restituito da fun%ione* variabile 9 nome.fun%ione(argomenti)
Vicorsioni
tipo nome.fun%ione (argomenti) if (cond ) return + else return n $ nome.fun%ione(argomenti)+ "
$o&era%ione c'e ric'iama fun%ione stessa$
Sotto&rorammi notevoli Conversione in binario
$ calcola la conversione in binario dell0es&onente $ num 9 es&+ for(ind 9 /M+ ind >9 7+ ind) $ con un indice c'e va da /M a 7 $ binarioIindJ 9 num 6 + $ calcola un nuovo bit $ num 9 + $ aiorna num &er il &rossimo ciclo $ " $ visuali%%a il vettore binario $ &rintf (54nConversione del numero 6d* 53 es&)+ for (ind 9 7+ ind < /M+ ind) &rintf (56d53binarioIindJ)+ &rintf (54n4n5)+
$ Wisuali%%a il vettore binario* $ $ un bit &er volta $