#include <stdio.h> main() { ... } --------------------Compilazione gcc file.c -lm (compila librerie libm Standard Math Library che contengono sqrt, log, sin, cos) --------------------Tipi di dati char un byte, rappresenta i caratteri del set locale int intero che riflette l'ampiezza degli interi della macchina float floating point in singola precisione double floating point in doppia precisione short int intero di almeno 16 bit long int intero di almeno 32 bit unsigned char intero positivo tra 0 e 255 signed char intero compreso tra -128 e +127 unsigned int signed int ------------------Costanti numeriche 1234 int 037 int ottale 0x1f int esadecimale 1234l long int 123.4 double 1e-2 double 123.4f float ------------------Costanti carattere si tratta di un intero scritto sotto forma di carattere racchiuso tra apici 'A' equivale a 65 '0' equivale a 48 '\0' carattere nullo '\a' campanello '\b' backspace '\n' new line '\t' tab '\r' return '\\' backslash '\'' apice '\"' virgolette '\000' carattere indicato in ottale '\xhh' carattere indicato in esadecimale "stringa" stringa costante o costante alfanumerica: si tratta di un vettore di caratteri terminante in \0 Codice ASCII: a = 97 = 0x61 A = 65 = 0x41 0 = 48 = 0x30 space = 32 = 0x20 new line = 10 = 0x0a tilde = 126 = 0x7e ---------Inizializzazione di variabili e vettori int n = 4; int vec[] = {1, 2, 4, 8}; char pattern[] = {'c', 'a', 's', 'a', '\0'}; char pattern[] = "casa"; ---------------Funzioni matematiche sin(x) cos(x) atan2(y,x) exp(x) log(x) log10(x) pow(x,y) sqrt(x) fabs(x) ----------------Operatori aritmetici * / + - % ----------------Operatori relazionali > >= < <= == != ----------------Operatori logici && || ----------------Operatore di assegnazione variabile = espressione --------------------Strutture di controllo if (espressione) istruzione; else istruzione; while (espressione) istruzione; for (i = 0; i < n; i++) istruzione; switch (espressione) { case value: istruzione; break; case value: istruzione; break; default: istruzione; break; } ----------------------Input Output scrive il contenuto di una variabile intera come carattere ASCII putchar(c); legge il prossimo carattere di input come variabile intera c = getchar(); output formattato (scrive su standard output - terminale): printf("variabile intera, float, stringa = %d %f %s\n", n, a, s); scrive nella stringa (vettore di caratteri) s: sprintf(s, "variabile intera = %d\n", n); scrive in un file formattato fprintf(fp, "%d", n); scrive una stringa (un'intera linea) su file: fputs(s, fp); input formattato (legge da standard input - tastiera): scanf("%d %s", &giorno, mese); legge dalla stringa s: sscanf(s, "%d %s", &giorno, mese); legge da un file (variabile intera, float, double, stringa): fscanf(fp, "%d %f %lf %s", &n, &x, &y, mese); legge una linea (fino a new line, massimo int max caratteri) da file: fgets(s, max, fp); il file deve essere aperto con fopen che restituisce un file pointer fp; il secondo argomento indica il modo (lettura "r", scrittura "w", append "a") la dichiarazione FILE definisce il file pointer: FILE *fp; fp = fopen("filename", "r"); ...utilizzo di fp... fclose(fp);