C Reference Card
C Reference Card
terminatore di istruzione ;
C Reference Card (ANSI) - versione semplificata delimitatore blocco { ... }
istruzione if if (espr) istruzione1 else istruzione2
corso Informatica B Politecnico di Milano istruzione while while (espr) istruzione —> la condizione viene verificata prima di eseguire le istruzioni
istruzione for for (istr1; espr; istr3) istr2 for(i=0; i<N; i++)
istruzione do do istruzione while (espr);
istruzione switch switch (espr) {case val1: istr1; break; ...
default istr}
1 Struttura del programma
6 Libreria ANSI C
struttura del programma principale A inizio codice bisogna
<assert.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> includere delle librerie:
int main(void) { #include <stdio.h>
<math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdio.h>
declarations #include …
<stdlib.h> <string.h> <time.h>
statements
}
7 Input/Output <stdio.h>
Dichiarazione di variabile: type name;
stampa formattata printf(‘‘formato’’, arg1, arg2, ...); printf("%tipovar
printf(“%d”,n);
...", variabile);
2 Comandi per il preprocessore acquisizione formattata scanf(‘‘formato’’, arg1, arg2, ...); scanf("%tipovar", &nome);
scanf("%d", &n);
• Sintassi compatta:
int n[5] = {1, 2, 3, 4, 5};
§ Inizializzazione parziale: gli elementi più a destra sono
posti a 0
int n[5] = {13}; tutti gli altri elementi sono posti a 0
§ Specificare troppi elementi tra le graffe è un errore di
sintassi
• Se la lunghezza dell’array è omessa, gli
inizializzatori la determinano:
int n[] = {5, 47, -2, 0, 24};
è equivalente a:
int n[5] = {5, 47, - 2, 0, 24};
§ In tal caso la dimensione è inferita automaticamente, e si
avranno 5 elementi nell’array
13
Definire un nuovo tipo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Tipi strutturati:
24
L’elemento principale di un programma in C è il main, che contiene le istruzioni che verranno eseguite all’avvio del programma:
int main (){
…
return 0; #In questo caso il main restituisce un intero, 0, cosicché la macchina capisce che il programma è terminato
}
void main(){
…
} #In questo caso una volta concluso il programma non viene restituito nulla
Le variabili non sono altro che contenitori, aree di memoria, identificate da un nome univoco. Dato il nome di una variabile, &nome
restituisce la sua posizione in memoria.
if(A){ #Il ciclo verrà eseguito se A ha un valore considerato VERO, cioè un valore diverso da 0
printf(“ciclo eseguito\n”)
}
Codifica binaria
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Attenzione:
ipotesi implicita che i codici abbiano tutti la stessa
lunghezza
6
bit, Byte, KiloByte, MegaByte, …
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
17
Indirizzi di memoria
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
39
Variabili e memoria
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
46