18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3 Realizzazione di un programma 30<br />

3.1 Il file sorgente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.2 Il compilatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

3.3 Il linker e file oggetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

3.4 Il loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

3.5 Strutturazione del codice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

4 Concetti di base 34<br />

4.1 Il primo programma in C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

4.2 Compilazione del programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

4.3 I commenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

4.4 Nota stilistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

4.5 Gli identificatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.6 Le parole chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.7 Le variabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

4.8 Visualizzazione a video con printf . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

4.9 Lettura di dati da tastiera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

4.10 Specifica di formato <strong>per</strong> printf e scanf . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5 Istruzioni e strutture di controllo 42<br />

5.1 Istruzioni composte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

5.2 Il costrutto while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

5.3 Il costrutto do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

5.4 Il costrutto for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

5.5 Il costrutto if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

5.6 Il costrutto switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

5.7 Le istruzioni break e continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

5.8 Il costrutto goto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

6 Gli o<strong>per</strong>atori 53<br />

6.1 Precedenza degli o<strong>per</strong>atori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

6.2 Ordine di valutazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

6.3 Il concetto di side effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

6.4 Side effect e ordine di valutazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

6.5 Associatività degli o<strong>per</strong>atori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

6.6 Chiamata a funzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

6.7 Elemento di vettore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

6.8 Elemento di struttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.9 Elemento di struttura da puntatore . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.10 Negazione logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

6.11 Complemento a 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

6.12 Negazione unaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

6.13 Incremento e decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

6.14 Estrazione di un indirizzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

6.15 Uso di puntatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

6.16 O<strong>per</strong>atore di casting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

6.17 Dimensione di una variabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

6.18 Moltiplicazione e divisione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

6.19 Resto di divisione intera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!