Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
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