Linguaggio C Cenni storici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguaggio C Cenni storici"

Transcript

1 Linguaggio C Cenni storici Il linguaggio C venne sviluppato nel 1973 da Dennis M. Ritchie, degli AT&T Bell Labs, come linguaggio di programmazione di sistema. Prese spunto da linguaggi precedenti come BCPL e B. Doveva avere le seguenti caratteristiche: - un linguaggio di livello sufficientemente alto per garantire ai programmi leggibilità e manutenibilità. - un linguaggio sufficientemente semplice da stabilire una corrispondenza immediata con la macchina sottostante. Il linguaggio C si dimostrò così flessibile, ed il codice macchina prodotto così efficiente che, nel 1973, Ritchie e Ken Thompson riscrissero UNIX quasi completamente in C. Presto uscirono compilatori per il linguaggio C per tutte le nuove architetture hardware. Nel 1977, Ritchie e Brian Kernighan pubblicarono The C Programming Language, che formalizza lo standard K&R Nel 1983, l American National Standards Institute (ANSI) definì uno standard per il linguaggio C. La versione finale dello standard C (1989) venne tradotta nel 1999 come standard ISO C Standard ANSI/ISO. Il C è indipendente dall'hardware e favorisce la portabilità del codice. Pur essendo un linguaggio ad alto livello permette operazioni di basso livello tipiche del linguaggio macchina. Il linguaggio C, oltre ad essere intuitivo e flessibile, tra i linguaggi di programmazione ad alto livello risulta essere il più potente e veloce.

2 Linguaggio C Elementi Principali Tipi di dato Base Derivati Strutture di controllo Selezione Iterazione Costrutti di decomposizione del programma Funzione Unità di compilazione (modulo) Librerie Standard di corredo al compilatore Funzioni standard di I/O (files, terminale, stampanti) Gestione stringhe Gestione dinamica della memoria Funzioni matematiche Altre librerie Funzionalità avanzate Definizione tipi di dati derivati (typedef, strutture) Accesso all hardware (puntatori) Riutilizzo del codice... altro.

3 Linguaggio C hello.c Primo programma in C: #include <stdio.h> int main() { printf("hello World\n"); return 0; } #include è una direttiva del preprocessore, un comando, che permette di richiamare le librerie standard del C. Sintassi: #include <nomefile.h> #include "nomefile.h" file contenuto in una cartella predefina. file contenuto nella cartella corrente Librerie principali: stdio.h gestione standard I/O. stdlib.h funzioni per allocazione dinamica di memoria e altre utilità. math.h funzioni matematiche ( trigonometriche, esponenziale, radice,.. ). string.h funzioni per elaborazione di stringhe.

4 Linguaggio C hello.c main() è la funzione principale in un qualsiasi programma in C, in questo caso, non ha parametri, ma può ricevere anche degli input da riga di comando. Il main è indispensabile ed unico; rappresenta l entry-point del programma. Le parentesi graffe servono per delimitare blocchi di istruzioni, che sono eseguite in ordine, da quella più in alto, giù fino all ultima. Il punto e virgola serve per "chiudere" un istruzione, per far capire che dopo quel simbolo inizia una nuova istruzione. printf funzione appartenente alla libreria "stdio.h", visualizza sullo standard output (monitor) la frase fra ; \n rappresenta un a capo. return 0 indica al sistema operativo che il programma è terminato correttamente. Esercizio: salvare il programma su file "hello.c" e provare a compilarlo ed eseguirlo.

5 Linguaggio C area.c Secondo programma in C: /* Calcolo area rettangolo */ #include <stdio.h> int main() { // Dichiariazioni delle variabili int base; int altezza; int area; // Assegnamenti base = 3; altezza = 7; area = base * altezza; // Stampa printf("%d\n", area); return 0; } Commenti: sono sequenze di caratteri usate per introdurre note esplicative al codice del programma e ignorate dal compilatore. Esistono due modalità: // tutto quello che sta a destra sulla medesima riga viene considerato commento. /* */ tutto quello che è tra i due asterischi viene considerato commento, anche su più righe. Indentazione: è buona norma utilizzare l indentazione nella scrittura dei programmi, cioè utilizzare gli spazi ad inizio riga, per scrivere con ugual margine sinistro tutte le istruzioni che costituiscono un blocco logico. E trasparente per il compilatore ma migliora la leggibilità del codice.

6 Linguaggio C Variabili VARIABILI: Identificatori: non sono altro che i nomi con cui vengono identificati gli oggetti in un programma (es. variabili, costanti, funzioni, etichette, ecc ). Regole per composizione dei nomi: Stringhe alfanumeriche e _, lunghezza max 32 caratteri. Non sono consentiti numeri come prima posizione. Case-sensitive (maiuscolo e minuscolo fa differenza). Non sono ammesse parole chiave del linguaggio (for, case, while, ecc ). Una variabile è un contenitore, una cella di memoria identificata con un nome simbolico. Per definire una variabile, dobbiamo specificare: Nome : la identifica all interno del programma. Tipo : definisce l insieme dei valori che può assumere. memoria Dichiarazione: Le variabili devono essere dichiarate prima dell utilizzo: tipo nomevar; tipo nomevar1, nomevar2, ; es.: int X; X In fase di dichiarazione si alloca (si riserva) lo spazio in memoria. Assegnazione: nomevar = valore; Solo in questa fase il valore viene memorizzato nello spazio pre-allocato. Possiamo scrivere anche: tipo nomevar = valore; // dichiarazione e assegnazione contemporaneamente NB: non esistono valori di default per le variabili, si consiglia di inizializzarle.

7 Linguaggio C funzioni I/O Funzioni predefinite per I/O Il linguaggio C mette a disposizione una serie di funzioni (predefinite) per le operazioni di Input e Output. Così come per le altre funzioni predefinite, le possiamo considerare come delle scatole chiuse a cui passiamo in ingresso dei parametri, ottenendo un certo risultato in base al tipo di funzione. printf() permette di stampare a video delle stringhe. Può avere un numero variabile di argomenti. Sintassi: printf ( formato,variabili); Es.: printf("il valore finale è %d \n", val); printf ("il quadrato di %d è: %d", a, b); il primo è un parametro speciale detto stringa di formato; specifica gli argomenti da stampare e la formattazione. Oltre al testo può contenere gli specificatori di formato; sequenze speciali di caratteri che iniziano con % ed indicano il formato del singolo dato. In fase di stampa ad ogni specificatore di formato viene sostituito il corrispondente valore nella lista dei valori. (Si veda tabella seguente) Esempi: printf("%2.3f \n", ); /* l'output a video è */ Possiamo avere anche delle sequenze di escape, come \n ; utilizzate per rappresentare caratteri speciali o muove il cursore. A fianco alcune tra le più usate: \n : newline \b : backspace \t : tab \" : doppi apici \\ : backslash

8 Linguaggio C funzioni I/O Specificatore Significato %d o %i per il tipo int, stampa in notazione decimale; %o per il tipo int, stampa in ottale senza segno; %x per il tipo int, stampa in esadecimale senza segno; %u per il tipo int, stampa in decimale senza segno; %c per il tipo char, stampa un carattere; %f per il tipo float, stampa nella notazione virgola mobile; %e o %E per il tipo float, stampa nella notazione virgola mobile nel formato esponenziale. %s per le sequenze di caratteri (stringhe). scanf() acquisisce dati introdotti da tastiera. Sintassi: scanf("formato",&variabili); Es.: scanf(" %d", &num); permette di acquisire un numero da tastiera e memorizzarlo nella variabile specificata (num). & è detto operatore indirizzo. Si noti che alla funzione dobbiamo passare l indirizzo della variabile. putchar() simile a printf(), ma scrive un carattere alla volta. getchar() simile a scanf(), ma legge un carattere alla volta.

9 Linguaggio C Tipi Tipi di dato: Una variabile è caratterizzata da un nome e un tipo; quest ultimo oltre al range di valori che può assumere indica anche l insieme delle operazioni che si possono svolgere su quei dati. I tipi di dato si distinguono in tipi semplici e tipi strutturati: tipi di dato semplici (o scalari) sono tipi di dato a cui può essere associato un singolo valore (numerico o carattere) ed un riferimento alla variabile è un riferimento al contenuto. tipi di dato strutturati sono tipi di dato composti da più campi, cioè da uno o più altri tipi di dato a loro volta semplici o strutturati. Ogni linguaggio di programmazione mette a disposizione una serie di tipi di dato predefiniti, in C: tipi primitivi ( o fondamentali): char, int, float, double, enum, void tipi strutturati (o composti): array, unioni, strutture [ void: valore vuoto; (es. funzione che non ha valore di ritorno)] char: è un intero, di dimensione 1 byte sufficiente a contenere un carattere. int : indica un numero intero, generalmente di dimensione pari a 32 bit (4 byte). float : indica un numero razionale in virgola mobile con singola precisione (4 byte). double : indica un numero razionale in virgola mobile con doppia precisione (8 byte). es.: int a=10; char c= A ; double x = 5.89;

10 Linguaggio C Tipi Le dimensioni dei tipi di dato numerici possono variare in funzione all architettura della macchina; Possiamo assumere: sizeof(char) <= sizeof(int) e sizeof(float) <= sizeof(double) E` possibile applicare ai tipi primitivi dei quantificatori e dei qualificatori: I quantificatori influiscono sullo spazio in memoria richiesto per l allocazione del dato. short (applicabile al tipo int) es.: short int x; long (applicabile ai tipi int e double) es.: long double y; Aumentano/diminuiscono il numero di bit a disposizione per la rappresentazione: sizeof(short int) <= sizeof(int) <= sizeof(long int) e sizeof(double) <= sizeof(long double) I qualificatori condizionano il dominio dei dati: signed (applicabile ai tipo int e char), viene usato un bit per rappresentare il segno intervallo rappresentabile: [-2 n-1, +2 n-1-1] dove n=num. di bit unsigned (applicabile ai tipo int e char), vengono rappresentati valori a priori positivi intervallo rappresentabile: [0, (2 n - 1)] Abbreviazioni consentite: short unsigned unsigned short unsigned long short int unsigned int unsigned short int unsigned long int

11 Linguaggio C Tipi Si noti che char altro non è che un numero intero, che esprime la codifica ASCII del carattere. Essendo la dim. pari ad 1 byte => 256 combinazioni. I caratteri li indichiamo tra apici ( a, F ). Ad ogni carattere è associato un codice univoco; es. il carattere 'A' viene codificato mediante la sequenza binaria che corrisponde all intero positivo 65. #include <stdio.h> #include <stdlib.h> int main() { char c; printf("inserisci un carattere: "); c = getchar(); printf("hai inserito una '%c' che ha valore %d\n", c, c); c +=1; // c++; printf("caratt. succ.:'%c' che ha valore %d\n", c, c); return 0; } Il C impone che un char erediti le operazioni tipiche di int; addizione, sottrazione, ecc. (Si veda esempio)

12 enum: Linguaggio C Tipi I tipi enumerativi sono utili quando si vuole definire un insieme preciso di valori che possono essere associati ad una variabile. Esempio: enum color {red, blue, green, yellow}; enum week {sunday, monday, tuesday, wednesday, thursday, friday, saturday}; enum taglia {S, M, L, XL, XXL}; La definizione può apparire in varie forme; generalmente: enum nome_tipo {lista_costanti}; ( es. per def. variabile: enum week giorno; ) Ai nomi delle costanti viene associato un valore intero di default, basato sulla loro posizione nell elenco (a partire da 0). Tale valore può essere modificato esplicitamente indicando un valore diverso: enum {vero=1, falso=0} stato; Il compilatore ha il compito di allocare la memoria necessaria per un tipo enumerativo: a color, ad esempio dovrebbe essere allocato un singolo byte (solo quattro possibili valori). #include <stdio.h> enum week {sunday, monday, tuesday, wednesday, thursday, friday, saturday}; int main(){ enum week today; today=wednesday; printf("%d day",today+1); // cosa stampa? return 0; } Per Esercizio: - Input today da tastiera - Visualizzare tomorrow - Attenzione a saturday

13 Linguaggio C Tipi Costanti: Si dice costante una variabile il cui valore non può essere variato durante l esecuzione del programma. Esistono due modi per dichiarare una costante: direttiva #define es.: #define VMAX 1000 // E consigliabile usare lettere maiuscole. parola chiave const es.: const float pi=3.1415; Abbiamo quattro categorie di costanti: intere: base decimale; es.: 19, -123, base ottale; precedute da 0 es.: 015 ( = 13 in base decimale), 034, base esadecimale; precedute da 0x o 0X es.: 0x1A, 0X3B, floating point; es.: e6 carattere; es.: a A & // notare il singolo apice stringa; es.: "Mario" "abcd" "ab345c" Possiamo alterare il tipo, aggiungendo dei suffissi (L, U, F) al valore: una costante intera di default è int; es.: mentre 123L -45L sono long int inoltre 123U o 40u sono unsigned int un costante floating point di default è double: es.: mentre 23.78f o 23.78F sono float inoltre 23.56L o 23.56l sono long double.

14 Linguaggio C Tipi Alcuni esempi: #define MAX 1000 // int #define VALORE 0x0 // int in base esadecimale #define PI_GRECO F // float Modificatori del tipo di accesso: I modificatori servono a controllare l'accesso e la modifica delle variabili: volatile: indica al compilatore che il valore della corrispondente variabile potrebbe essere modificato da eventi esterni al normale flusso sequenziale di esecuzione delle istruzioni. const: il contenuto della variabile, assegnato in fase dichiarazione/inizializzazione, non può essere mai modificato. static: è una variabile che ha permanenza statica in memoria. Se dichiarata in una funzione, nelle chiamate successive viene conservato il valore precedentemente assunto. Inoltre le variabili globali di tipo static diventano private al file. register: si richiede che la variabile sia memorizzata in un registro della CPU, al fine di velocizzarne l accesso. extern: indica che la variabile è definita esternamente al modulo. Il collegamento viene risolto dal linker. Es.: static int n; extern double a;

15 Linguaggio C Operatori Operatori il linguaggio C prevede una serie di operatori: aritmetici relazionali logici bit a bit (bitwise) Si dice unario se agisce su di un solo operando, binario se richiede due operandi. Ovviamente abbiamo l operatore di assegnamento (=): nome_variabile = espressione; Il risultato (valore) dell espressione a destra viene assegnato alla variabile a sinistra. es.: a=5; a=43+5; mentre: a+b=7; // errore Assegnamenti multipli: var1=var2=var3=valore; es.: a=b=c=1; // valutazione da destra verso sinistra Questo operatore (=) ha priorità più bassa rispetto ad altri operatori. Operatori Aritmetici: Operatore Aritmetico Azione - meno unario + addizione - sottrazione * moltiplicazione / divisione % modulo, resto divisione intera ++ incremento -- decremento

16 Linguaggio C Operatori - L operatore modulo % restituisce il resto della divisione intera; non si applica a valori float o double. - Mentre la divisione tra interi restituisce un intero: es.: 7 / 2 = 3 mentre 7.0 / 2 = Se x=6 il meno unario (-x) restituisce -6 - L'incremento ++ e il decremento - - aggiungono e sottraggono una unità al proprio operando. es.: x++ => x= x+1 x-- => x = x-1 Gli operatori di incremento e decremento possono precedere ( ++x o --x ) o seguire l'operando ( x++ o x-- ) con risultati diversi. ++x --x (notazione prefissa) x++ x-- (notazione postfissa); Nella notazione prefissa, prima si esegue l incremento/decremento poi si rende disponibile il valore dell operando all espressione. Nell altro caso prima si fornisce il valore poi si incrementa/decrementa. Con n= 5: x = n++ // x vale 5 mentre: x = --n // x vale 4 ancora: x= 6 - n++ // x? - Alcuni operatoti aritmetici hanno delle forme compatte: nome_variabile operatore= valore dove operatore può essere uno di [+,-,*,/,%] es.: x += 7 => x=x+7 x -= 8 => x = x-8 x *= y + 2 => x = x * (y + 2) nota: hanno la stessa priorità delle assegnazioni semplici. Gli operatori aritmetici hanno priorità diverse (vedi tabella). Nella valutazione delle espressioni, a parità di priorità degli operatori, si va da sinistra verso destra. es.: = (10+3) -11 = * 5 = 3 + (4*5)= 23 Nel dubbio usare: () Tabella Priorita: -(unario), ++,-- *, /,% +, - =(assegnazione)

17 Linguaggio C Operatori Operatori Relazionali e logici: Gli operatori relazionali, permettono di confrontare valori dello stesso tipo (relazione di grandezza). Il risultato di una espressione logica ha come risultato un valore booleano ( vero / falso ). In C non esiste il tipo di dato booleano, pertanto si assume FALSO se uguale a 0 e VERO se uguale a 1 o comunque > 0. es.: x=5 y=7 (x > y) è falso (0); z = (y >= x) // è vero, quindi z=1 Operatore Relazionale Azione == uguale!= diverso > maggiore >= maggiore uguale < minore <= minore uguale Gli operatori logici consentono di concatenare tra di loro più espressioni logiche, e di negare il risultato di una espressione logica. Tabella di verità: Operatore Logico Azione Utilizzo && AND logico x && y OR logico x y! NOT Logico (unario)!x X Y X && Y X Y!X

18 Linguaggio C Operatori Priorità: Gli operatori relazionali hanno priorità inferiore rispetto a quelli aritmetici; es.: 10 > 15-6 equivale a dire 10 > ( 15-6 ) Gli operatori logici && e!! hanno priorità inferiore rispetto a quelli relazionali: es.: a >= b && c < d equivale (a >= b) && (c < d) Allo stesso livello di priorità, si valuta da sinistra a destra es.: a > b >= c equivale (a > b) >= c e non (a > b) && (b >= c) Tabella priorità:! > < >= <= ==!= &&

19 Linguaggio C Operatori Operatore Ternario Questo operatore (?:) consente di specificare le espressioni condizionali; sintassi: expr1? expr2 : expr3 Inizialmente si valuta expr1; se questa è vera si considera l expr2 il cui valore costituirà il risultato dell espressione condizionale, altrimenti come risultato si assumerà il valore di expr3. Es. a = ( b > c )? 0 : 5 a = x? x :-5 v=x==y? a*c+5 : b-d/4 Ha priorità maggiore dell operatore di assegnamento. Tabella riepilogativa delle priorità comprensiva di tutti gli operatori:! -(unario) * / % + - > < >= <= ==!= &&?: = += -= *= /= %= nel dubbio usare le ().

20 Linguaggio C Operatori Operatori bitwise: Questo tipo di operatori (bit a bit) agiscono direttamente sui singoli bit delle variabili. Sono estremamente potenti e vengono utilizzati per sviluppare programmi di sistema (driver dei dispositivi, sistemi operativi, compilatori ecc). Si applicano ai tipi int e char; mentre non si possono applicare a float, double, ecc es.: unsigned int x = 67 // unsigned int y = 15 // unsigned int z; z = x & y // = 3 z = x y // = 79 z = x ^ y // = 76 z = ~z = Operatore bitwise Azione & AND OR ^ XOR ~ Complemento a uno ( 0 =>1 e 1 => 0) >> Scorrimento a destra << Scorrimento a sinistra Gli operatori di scorrimento spostano tutti i bit di una variabile verso destra ( >> ) o verso sinistra ( << ). Con tale operazione si perde un bit a un'estremintà o all'altra e si inserisce un nuovo bit pari a 0. es.: unsigned int x=6; // x = x << 1 // = 12 equivale a moltiplicare per 2 x = x << 2 // = 24 equivale a moltiplicare per 4 x = x >> 1 // = 3 equivale a dividere per 2 Nota: Esistono altri operatori ( es. *, ->, [],., ecc ) che analizzeremo più avanti.

21 Linguaggio C CAST CAST: La conversione di tipo (casting) è l operazione con cui si converte un operando (variabile) da un tipo di dato ad un altro. Abbiamo due tipi di conversione: Implicita: In una espressione gli operandi di tipo più basso vengono automaticamente convertiti ed allineati agli operandi più grandi, al fine di non avere perdite di informazione. Questa conversione viene operata direttamente dal compilatore. Schema di conversione: char => short => int => float => double es.: equivale a Mentre nelle operazioni di assegnamento, il valore dell operando di destra viene convertito nel tipo dell operando di sinistra; es.: int x = // x=22 double y = 5.21; int z=y; // z=5 Esplicita: sintassi: (tipo) espressione es.: float a; a = (float)3 / 2 // a= 1.5 ; senza il cast (float), divisione tra interi: a=3/2 vale 1

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O Il linguaggio C C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O C U M E N

Dettagli

La sintassi del C APPENDICE H

La sintassi del C APPENDICE H APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII. Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica

Dettagli

Sintassi: Per la dichiarazione di variabili dei tipi fondamentali:

Sintassi: Per la dichiarazione di variabili dei tipi fondamentali: Sintassi: Per la dichiarazione di variabili dei tipi fondamentali: declaration ::= type declarator list ; declarator list ::= declarator {, declarator} opt declarator ::= identif ier identif ier = initializer

Dettagli

Informatica (A-K) 7. Linguaggio C - 1

Informatica (A-K) 7. Linguaggio C - 1 Storia del linguaggio C Informatica (A-K) 7. Linguaggio C - 1 Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Linguaggio C 1972, nato come evoluzione

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

LINGUAGGI DI PROGRAMMAZIONE! LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni

Dettagli

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Tipi e Valori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - Tipi e Valori 2 Ringraziamenti prof. Mirko Viroli,

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Il linguaggio C. Caratteristiche generali

Il linguaggio C. Caratteristiche generali Il linguaggio C Caratteristiche generali Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

Dettagli

Input/Output di numeri

Input/Output di numeri Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include

Dettagli

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

Lezione 10. L arte della programmazione

Lezione 10. L arte della programmazione Lezione 10 Linguaggi di programmazione: il C Le variabili e le costanti L assegnazione Gli operatori La documentazione L input/output L arte della programmazione La soluzione di un problema tramite un

Dettagli

Linguaggio C Variabili e tipi di dato

Linguaggio C Variabili e tipi di dato FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Variabili e tipi di dato 2001 Pier Luca Montessoro - Davide

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C INFORMATICA B Ingegneria Elettrica Introduzione al linguaggio C Introduzione Linguaggio di programmazione ad alto livello Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro

Dettagli

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi).

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi). Operatori di incremento e decremento: ++ e -- ++ e -- sono operatori unari con la stessa priorità del meno unario e associatività da destra a sinistra. Si possono applicare solo a variabili (di tipi interi,

Dettagli

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

Il linguaggio C - Introduzione

Il linguaggio C - Introduzione Il linguaggio C - Introduzione Il C è un linguaggio imperativo legato a Unix, adatto all implementazione di compilatori e sistemi operativi. È stato progettato da D. Ritchie per il PDP-11 (all inizio degli

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali

Dettagli

Il linguaggio C Il linguaggio C. Caratteristiche del C. Caratteristiche del C. Linguaggi di Programmazione I. Ferdinando Cicalese

Il linguaggio C Il linguaggio C. Caratteristiche del C. Caratteristiche del C. Linguaggi di Programmazione I. Ferdinando Cicalese 03-10-2003 Il linguaggio C Linguaggio general-purpose Il linguaggio C Creato nel 1972 nei Bell Labs da Dennis Ritchie su PDP11 Usato per il Sistema Operativo Unix da Ken Thompson Negli anni 80 nasce ANSI

Dettagli

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

Dettagli

Espressioni ed operatori in C

Espressioni ed operatori in C Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere

Dettagli

$QDOLVLGHOSURJUDPPDTXDGUDWR

$QDOLVLGHOSURJUDPPDTXDGUDWR $QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =

Dettagli

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char Tipo carattere Finora abbiamo lavorato con valori numerici. I numeri costituiscono molta parte del lavoro dei computer, ma non tutta. I computer sono macchine per il trattamento dell informazione e l informazione

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)

Dettagli

Il linguaggio C. I tipi di dati scalari. Il casting Le dichiarazioni di tipo I puntatori

Il linguaggio C. I tipi di dati scalari. Il casting Le dichiarazioni di tipo I puntatori Il linguaggio C I tipi di dati scalari Il casting Le dichiarazioni di tipo I puntatori 1 I tipi di dati scalari 2 I tipi di dati scalari 1 Una delle caratteristiche più importanti dei linguaggi di alto

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Le variabili in C KP Cap. 3, pp. 95-129 Cap. 5, pp. 190-193 DD Cap. 9, pp.352-355 Tipi di dato Abbiamo già parlato delle variabili, ed

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche.

Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche. Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche. APPUNTI SUL LINGUAGGIO C I computer elaborano i dati sotto il controllo

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

Informatica A. Il linguaggio C. A.a. 2006/2007. Allievi Ingegneria Gestionale

Informatica A. Il linguaggio C. A.a. 2006/2007. Allievi Ingegneria Gestionale Informatica A A.a. 2006/2007 Allievi Ingegneria Gestionale Il linguaggio C Tecnologia Software Il SW come Interfaccia Tra Utente e Macchina Fisica Programma dell utente (software applicativo) Gestione

Dettagli

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si

Dettagli

Variabili. Tipi di dati di base. Variabili. Variabili

Variabili. Tipi di dati di base. Variabili. Variabili Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

La programmazione nel linguaggio C

La programmazione nel linguaggio C 3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi

Dettagli

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Linguaggio C Espressioni e operatori

Linguaggio C Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide

Dettagli

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti

Dettagli

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI SULL USO DEI CARATTERI Ricordiamo che: int x; si legge con ( %d,&x) e si stampa con ( %d,x) float x; si legge con ( %f,&x) e si stampa con ( %f,x) double x;si legge con ( %lf,&x) e si stampa con ( %f,x)

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

STORIA E CARATTERISTICHE

STORIA E CARATTERISTICHE IL LINGUAGGIO C STORIA E CARATTERISTICHE STORIA E VERSIONI Sviluppato da Dennis Ritchie ai Bell Labs nel 1972 per realizzare il sistema operativo UNIX K&R C: 1978 (prima versione, K&R dal nome degli autori

Dettagli

Espressione di chiamata di funzione

Espressione di chiamata di funzione Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

Tipi di Dati Avanzati

Tipi di Dati Avanzati Linguaggio C Tipi di Dati Avanzati! I tipi di dati scalari! Il casting! Le dichiarazioni di tipo! I puntatori 2 I tipi di dati scalari 3 ! Una delle caratteristiche più importanti dei linguaggi di alto

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano. Murano Aniello LASD 05/06 Seconda Lezione.

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano. Murano Aniello LASD 05/06 Seconda Lezione. Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano 1 Il linguaggio C 2 1 Cenni storici Indice (Prima parte) Caratteristiche generali Identificatori

Dettagli

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Lab 02 Tipi semplici in C

Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 02 Tipi semplici in C Lab02 1 Obiettivo dell esercitazione Acquistare

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,

Dettagli

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato. Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Classificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati

Classificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Conversioni fra Tipi di Dati. Luca Abeni

Conversioni fra Tipi di Dati. Luca Abeni Conversioni fra Tipi di Dati Luca Abeni Tipi di Dato e Conversioni In C, ogni variabile è caratterizzata da un tipo I valori che la variabile può assumere dipendono dal tipo È possibile mescolare variabili

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Le funzioni, e le istruzioni di input/output

Le funzioni, e le istruzioni di input/output Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali

Dettagli

Gli Operatori. Università degli Studi di Brescia

Gli Operatori. Università degli Studi di Brescia Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C... Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...

Dettagli

Il linguaggio C. Puntatori e Array

Il linguaggio C. Puntatori e Array Il linguaggio C Puntatori e Array Puntatori I puntatori sono variabili i cui valori sono indirizzi di locazioni in cui sono memorizzate altre variabili architettura a 32 bit: 232-1 indirizzi, ma non si

Dettagli