Il linguaggio C. Danilo Ardagna Politecnico di Milano

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il linguaggio C. Danilo Ardagna Politecnico di Milano"

Transcript

1 Il linguaggio C Danilo Ardagna Politecnico di Milano

2 Introduzione! 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! Industriali, es. acquisizione dei dati, controllo dei processi! Informatiche, es. sw di base (SO Unix), strumenti (CAD), pacchetti applicativi 2

3 Linguaggio ad alto livello! Elementi: alfabeto o vocabolario del linguaggio! Sintassi: insieme di regole con cui si compongono gli elementi per costruire frasi eseguibili (istruzioni)! Semantica: significato egli elementi, delle frasi e dell intero programma! Regole sintattiche: devono essere univoche sulla composizione delle frasi! Deve essere possibile determinare in modo automatico e con certezza se una frase è sintatticamente corretta! Correttezza sintattica: condizione necessaria per la corretta esecuzione del programma! Solo programmi corretti possono essere tradotti correttamente dal compilatore 3

4 Linguaggio ad alto livello! Errori di un programma! Sintattici: rilevati durante la compilazione, la descrizione dell algoritmo non rispetta le regole con cui è possibile comporre le frasi del linguaggio! Di esecuzione: rilevati run-time, il programma commette operazioni illecite (violazione di accesso in memoria, overflow, indici non validi, ecc.) 4

5 Alcune proprietà del C! È un linguaggio dichiarativo:! L intenzione di utilizzare una variabile o una funzione deve essere dichiarata a priori! È un linguaggio strutturato! Fornisce i costrutti base per la definizione di sequenza, selezione ed iterazione! È un linguaggio case sensitive:! Discrimina tra caratteri maiuscoli e minuscole! e.g., Main è diverso da main!! 5

6 Struttura di un programma C! Un programma scritto in C è un file di testo strutturato in modo opportuno! Il programma scritto in modo corretto può essere compilato: tradotto in linguaggio macchina! Le fasi di compilazione ed esecuzione saranno approfondite durante le ore di laboratorio! Imparare a programmare in C significa impararne la sintassi e la semantica per fare in modo che esso:! Sia compilabile (verifica sintattica)! Si comporti come atteso (verifica semantica) 6

7 Elementi del linguaggio C! Parole chiave (o riservate): proprie del linguaggio! Istruzioni oppure parole con un significato particolare (tipi)! Identificatori: costituiti da sequenze di caratteri alfanumerici! Nomi di variabili, costanti, tipi definiti dall utente, funzioni, procedure! Definiti dall utente, oppure di sistema (contenuti in librerie) 7

8 Elementi del linguaggio C! Operatori (unari o binari)! Assegnamento =! Aritmetici!+ - * /! Relazionali (confronto) > < <= ==!=! Logici! &&! Altri! Separatori (delimitatori)! di identificatori di variabili e costanti,! di istruzioni ;! di commento /*... */! di blocco di istruzioni {...}! in espressioni (...) 8

9 Elementi del linguaggio C! Direttive al preprocessore C! #include (parola chiave)! Valori costanti (cifre o caratteri) 9

10 Hello world! Il codice inizia qui #include <stdio.h> Parte dichiarativa L esecuzione inizia qui main() { printf( Hello World! ); Parte esecutiva } 10

11 Direttiva include! Le direttive:! sono istruzioni particolari rivolte al compilatore! iniziano con il carattere #! La direttiva include indica l intenzione di utilizzo di una libreria esterna! Esempio! #include <stdio.h> richiede la libreria di gestione degli input e degli output (e.g., printf() e scanf(), )! #include <math.h> richiede la libreria con le principali funzioni matematiche (e.g., abs(), sin(), )! Una volta inclusa una libreria è possibile utilizzare tutte le funzioni definite al loro interno 11

12 main! È una parola chiave e indica l inizio del programma vero e proprio! Le istruzioni che seguono saranno quelle effettivamente eseguite dall elaboratore! Le istruzioni che compongono il programma principale (il main appunto) sono racchiuse all interno di parentesi graffe { } 12

13 printf( Hello world! );! È una tipica istruzione! Come tutte le istruzioni deve terminare con il carattere ; (punto e virgola)! Permette la stampa a video dei caratteri racchiusi tra apici e inseriti all interno delle parentesi tonde 13

14 Risultato Hello World! 14

15 Esempio #include <stdio.h> main() { printf( 1 Overture ); printf( ); } 1 Overture

16 Esempio #include <stdio.h> main() { printf( 1 Overture\n ); printf( \n ); } 1 Overture

17 La macchina astratta del C BUS UC x a pippo MEM. Standard input Standard output 17

18 Standard I/O! Un programma C ha due periferiche standard di ingresso e uscita! Standard input (tastiera)! Standard output (video) che possono essere viste come sequenze di celle elementari analoghe alla memoria 18

19 Memoria! Divisa in celle elementari VARIABILI! Ogni cella può contenere un dato! I dati possono essere! Numeri! Caratteri! Stringhe (successioni finite di caratteri, immagazzinati in celle consecutive) 19

20 Memoria! Semplificazioni/idealizzazioni (astrazioni)! nessun limite al numero delle celle di memoria disponibili Rappresentazione in memoria di una variabile A indirizzo di A Valore di A 20

21 Variabili! Sono contenitori di informazioni (cioè di valori), caratterizzati da:! nome simbolico: rappresenta in modo univoco una locazione di memoria! tipo: rappresenta i valori ammissibili per la variabile e le operazioni che si possono effettuare su di essa Nome variabile identifica una cella di memoria Il valore della variabile indica il contenuto della cella di memoria } Cella di memoria Memoria centrale 21

22 Dichiarazione di variabili! Dichiarazione di variabile: indica che e come una variabile verrà utilizzata dal programma! Definisce l identificatore simbolico (nome)! Definisce il tipo, adatto ai valori da rappresentare! Alloca la quantità di memoria adeguata a contenere il tipo! Associa in modo univoco l indirizzo di memoria al nome! Consente di rilevare, durante la compilazione, errori sull uso improprio della variabile nel programma! Sintassi C per la dichiarazione di variabili tipo_variabile nome_var;! Lo spazio di memoria allocato per una variabile dipende dal tipo di dato 22

23 Perché dichiarare una variabile?! Una variabile rappresenta uno spazio di memoria centrale! Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma! Quindi devono essere note tutte le variabili che un programma intende utilizzare! Tutti gli accessi alla variabile indicano un accesso alla memoria! Quindi deve essere chiaro quale spazio di memoria è associato alla variabile 23

24 Parte dichiarativa! La parte dichiarativa non è unica in tutto il codice! Esistono:! una parte dichiarativa globale: prima del main! una parte dichiarativa locale al main: all interno del main! Al momento, dichiarare una variabile all interno di quella globale o di quella locale non fa differenza! La differenza sarà evidente quando si introdurranno i sottoprogrammi #include <stdio.h> int i; main() { } int j; Parte dichiarativa locale al main printf( Hello World ); Parte dichiarativa globale 24

25 Parte dichiarativa globale! Contiene dichiarazione di funzioni importate da altri moduli (file), cioè definite e codificate in altri file (attraverso la direttiva #include)! Oggetti visibili (utilizzabili) da tutto il programma, cioè da main e da altre funzioni! Tipi di dati, variabili, costanti simboliche, prototipi di funzioni 25

26 Parte dichiarativa locale! Può contenere gli stessi elementi dichiarabili nella parte dichiarativa globale! È esclusa solo la possibilità di utilizzare la direttiva #include 26

27 Tipi di dato! Un tipo identifica la classe dei valori ammissibili, le operazioni lecite, e la modalità con cui agiscono le operazioni! Esistono due macro-classi di tipi:! Tipi built-in (predefiniti)! Tipi definiti dall utente! Sia quelli built-in che quelli definiti dall utente possono essere:! Semplici! Composti 27

28 Tipi semplici built-in! char:! Occupa 8 bit (1 byte)! Può contenere valori da 0 a 255, che rappresentano la codifica ASCII del carattere corrispondente! int! Occupa 16 bit (2 byte)! Rappresentano gli interi relativi. Valori in complemento a 2 da a

29 Tipi semplici built-in! float! Occupa 32 bit (4 byte)! Rappresentano i razionali in virgola mobile. Valori espressi tramite mantissa e esponente. Valori da a 10+38! double! Occupa 64 bit (8 byte)! Rappresentano i razionali in virgola mobile. Valori espressi tramite mantissa e esponente. Valori da a char, int, float e double sono anche detti tipi aritmetici 29

30 Calcolo dello spazio di memoria dati richiesto #include <stdio.h> int i, j; main() { char c; float f; printf( Hello World );! Il programma richiede uno spazio di memoria per i dati pari a! 2 byte per i! 2 byte per j! 1 byte per c! 4 byte per f! Per un totale di 9 byte } 30

31 long, short e unsigned 1/2! Il tipo di dato int ha delle varianti che modificano i valori ammissibili! long raddoppia lo spazio di memoria! short dimezza lo spazio di memoria! unsigned elimina il bit di segno e ammette solo valori positivi! Il tipo di dato double ammette la sola variante long che aumenta lo spazio di memoria 31

32 long, short e unsigned 2/2! unsigned int:! Occupa 16 bit (2 byte)! Ammette valori compresi tra 0 e (2 16-1)! long int! Occupa 32 bit (4 byte)! Ammette valori compresi tra e ! short int! Occupa 8 bit (1 byte)! Ammette valori compresi tra -128 e +127 (2 8-1)! unsigned long int! Occupa 32 bit (4 byte)! Ammette valori compresi tra 0 e (2 32-1)! long double! Occupa 80 bit (10 byte)! Ammette valori compresi tra e

33 Tipo di dato char 1/2! Dichiarando una variabile di tipo char si riserva una zona di memoria di 1 byte! In quella cella di memoria non è inserito il carattere ma la sua codifica ASCII (American Standard Code for Information Interchange)! Esempio char c; c = A ;! Nella zona di memoria è inserito il valore (65 10 ) 33

34 Tabella ASCII 34

35 Tipi di Operatori! Aritmetici + (somma) - (sottrazione) * (prodotto) / (divisione) % (resto)! Di confronto > (maggiore) >= (maggiore o uguale) < (minore) <= (minore o uguale) == (uguale)!= (diverso)! Assegnamento = 35

36 Assegnamento! È un operatore e si indica con il simbolo = (uguale)! A sinistra dell operatore deve sempre esserci una variabile! A destra può esserci! una costante! una variabile! un espressione! Attenzione! Il tipo di dato della variabile a sinistra dell operatore deve essere identico (o almeno compatibile) con quanto indicato a destra 36

37 Compatibilità tra i tipi! Il compilatore controlla la compatibilità tra i tipi! In alcune situazioni risolve la non compatibilità tramite delle regole di conversione automatica tra i tipi! La conversione del tipo è indolore se il tipo di dato a destra è inferiore al tipo della variabile a sinistra dell operatore, secondo la seguente gerarchia: char < int < float! Altrimenti non è esclusa perdita di informazione 37

38 Compatibilità tra i tipi - Esempio! La conversione di un valore a float in un valore int comporta la perdita della parte frazionaria int i; float f; f = 4.3; /*OK!*/ i = 4.3; /*assegnamento incongruente con perdita di informazione*/ f = 10; /*assegnamento incongruente senza perdita di informazione*/ i = 10; /*OK!*/ 38

39 Costanti! Esistono due tipi di costanti! Esplicite: esprimono direttamente dei valori! 24 costante di tipo int! 24L costante di tipo long! costante di tipo double! A costante di tipo char! Simboliche! Sono nomi simbolici che il programmatore adotta per indicare dei valori prefissati (maggiore leggibilità)! Hanno un tipo espresso implicitamente nel valore! Devono essere precedentemente dichiarate 39

40 Dichiarazione di costanti! Dichiarare una costante significa associare un simbolo ad un valore! A differenza delle variabili tale valore non cambierà mai durante tutto il programma! Esistono due modi per dichiarare una costante:! Attraverso la direttiva #define! Attraverso la parola chiave const! In ogni caso una costante NON occupa alcuna zona di memoria 40

41 Direttiva #define! Associa un nome ad un valore di qualunque tipo! Esempi! #define nmaxp 10! #define vmax 150.0! #define FALSE 0! #define TRUE 1! #define MIASTRINGA Hello world!! L istruzione non deve terminare con il ;! In questo caso l andare a capo indica la fine dell istruzione! Il nome della costante viene anche detta macro 41

42 Parola chiave const! Permette di definire costanti tipizzate! Sono costanti che accettano un valore ammissibile per il tipo di dato al quale è associato const float pi = ;! Anche in questo caso non viene riservata alcuna zona di memoria! Ulteriori assegnamenti di costanti all interno del codice sono vietati 42

43 Il compilatore e le costanti In fase di compilazione ogni riferimento ad una costante viene sostituito con il valore corrispondente Alla fine di questa sostituzione la costante è come se non fosse stata dichiarata Per questo motivo il compilatore non riserva alcuna zona di memoria ad una costante #define PI 3.14 const int raggio = 10; main() { float area; area = raggio * raggio * PI; } main() { float area; area = 10 * 10 * 3.14; } 43

44 Funzioni di Ingresso e Uscita! In C, l ingresso e l uscita avviene tramite chiamate (attivazioni) di funzioni (sottoprogrammi) disponibili nella Standard Library! Standard Library: collezione di funzioni disponibili nell ambiente C e utilizzabili dai programmi applicativi Funzioni! di input e output da terminale e da file! gestione di stringhe! matematiche! 44

45 Funzioni di Ingresso e Uscita La Standard Library è costituita da:! una collezione di header file (stdio.h, string.h, math.h)! un header file contiene la dichiarazione di tipi, costanti simboliche predefinite e prototipi di funzione! #include permette a qualsiasi programma di utilizzare questi identificatori che non sono stati dichiarati all interno del programma! e da un insieme di file; ciascun file costituisce il codice oggetto eseguito dalla funzione 45

46 Stampa su video printf(stringa di controllo, elementi da stampare);! printf () è l identificatore riservato alla funzione! stringa di controllo (racchiusa tra ), contiene:! caratteri alfanumerici da stampare a video! caratteri di conversione e/o di formato (preceduti dal simbolo %): utilizzati per interpretare i valori degli elementi da stampare. Es. d, f, c,! caratteri di controllo della stampa: caratteri ASCII a cui non corrisponde alcun simbolo stampabile, hanno effetti di formato di stampa, come linea nuova (\n), tabulazione (\t), ecc. 46

47 Stampa su video SEMANTICA e FUNZIONAMENTO: printf (stringa di controllo, elementi da stampare);! è la chiamata alla funzione, che fa partire l attivazione del sottoprogramma associato! stampa i caratteri alfanumerici tra doppi apici e al posto dei caratteri di conversioni stampa il valore dell identificatore corrispondente nella lista da stampare! I caratteri di controllo stampa posizionano il cursore nella posizione opportuna 47

48 I tipi di dati nelle operazioni di I/O printf( "%d è uguale a %d\n", num1, num2); stringa di controllo tipo dell elemento da stampare %d intero decimale %f floating point %c carattere %s stringa 48

49 Esempio #include <stdio.h> main() { int num1,num2; num1=1; num2=num1; printf( "%d è uguale a %d\n", num1, num2); } 1 è uguale a 1 49

50 Ingresso da Tastiera scanf(stringa controllo, lista di variabili)! scanf() è l identificatore riservato alla funzione! stringa di controllo (racchiusa tra ), contiene:! caratteri di conversione e/o di formato (preceduti dal simbolo %): utilizzati per interpretare i valori degli elementi letti da tastiera, che devono essere memorizzati nelle variabili. Es. d, f, c,! variabili a cui associare il valore letto: lista di identificatori di variabili. Le variabili devono essere indicate tramite il loro indirizzo (&nome_var). La lista è ordinata rispetto ai caratteri di conversione 50

51 Ingresso da Tastiera SEMANTICA e FUNZIONAMENTO scanf(stringa controllo, lista di variabili);! è la chiamata alla funzione che attiva l esecuzione del programma associato! ad ogni pressione di un tasto, la funzione visualizza su video il carattere alfanumerico premuto! la sequenza di tasti premuti deve terminare con la pressione del tasto Invio! la funzione assegna alle variabili il valore binario del carattere letto 51

52 I tipi di dati nelle operazioni di I/O Altri caratteri di controllo: \n (a capo) \t (tabulatore) \ (carattere di escape: permette di visualizzare effetivamente il carattere che lo segue) (es. \, \, \%, \\) scanf( "%d%s%d", &giorno, mese, &anno ); Nota: nella scanf le variabili vanno precedute da & (ampersand) (vedremo poi perché!) 52

53 Tipo di dato char 2/2! Per il compilatore quindi vale la relazione char == unsigned short int! Attenzione! c = 1 è diverso da c = 1! Nel primo caso a c è assegnato il valore 1! Nel secondo caso a c è assegnata la codifica del carattere 1 e quindi 49! Supponendo che c== 1 con c di tipo char! printf( %c, c); stampa il carattere 1! printf( %d, c); è valido e stampa il numero 49! Supponendo che i==90 con i di tipo int! printf( %c, i); è valido e stampa il carattere Z! printf( %d, i); stampa il numero 90 53

54 Tabella ASCII 54

55 Tipi aggregati! Utilizzare solo i tipi di dato semplici può essere limitante e rendere il programma poco flessibile! Ad esempio si supponga di voler memorizzare le temperature dell ultima settimana! Servono 7 variabili di tipo intero! Servono 7 operazioni di lettura int main() { int lun,mar,mer,gio,ven,sab,dom; } Leggi(lun);.. Leggi(dom); 55

56 Limiti dei tipi semplici! Dall esempio emerge una certa ripetitività nelle istruzioni! La soluzione è poco flessibile. Se volessi memorizzare le temperature dell ultimo mese:! devo dichiarare altre variabili! devo aggiungere altre Leggi! Serve un meccanismo per associare ad una etichetta non un solo valore ma diversi valori! Il linguaggio C mette a disposizione due alternative:! Array! Struct 56

57 Array! È definito come una sequenza FISSATA di elementi OMOGENEI:! Fissata significa che la lunghezza dell array deve essere nota a tempo di compilazione! Omogenei significa che tutti gli elementi dell array devono essere dello stesso tipo! Dichiarazione: tipo_dato nome_vettore[dimensione_vettore];! Per l esempio discusso la dichiarazione sarà: int temperature[7]; 57

58 Elementi di un array 1/2! Ogni elemento di un array è individuato tramite un indice che rappresenta la sua posizione nell array! Se DIM è la dimensione dell array (valore intero), allora gli elementi dell array sono indicizzati con un indice compreso tra 0 e DIM-1! Es.: se dichiaro un array in questo modo: int temperature[7];! Significa che ho a disposizione 7 elementi indicizzati attraverso un valore compreso tra 0 e 6 temperature[0]; /*primo elemento*/ temperature[1]; /*secondo elemento*/ temperature[6]; /*settimo elemento*/! Se utilizzo un indice con valore superiore a DIM-1 ho un errore a run-time 58

59 Elementi di un array 2/2! Un array può essere una composizione di:! Tipi semplici: interi, reali,! Tipi composti: array, struct! Ogni elemento è una variabile del tipo dichiarato, quindi posso applicare gli operatori ammissibili per quel tipo di dato temperature[1]; /*è un intero*/ x = temperature[1]*7; /*è una operazione lecita*/ x = temperature*7 /*è illecito! Non posso moltiplicare per un numero un intero array /* 59

60 Array e memoria! Lo spazio in memoria è allocato ad indirizzi fisici contigui! Spazio di memoria totale occupato è dato dallo spazio richiesto da ogni singolo elemento per la dimensione dell array:! DIM*sizeof(tipo_elem) 60

61 typedef e array! La dichiarazione: typedef tipo_elem tipo_array [DIM];! Definisce un nuovo tipo di nome tipo_array! Il tipo definito è un array di DIM elementi di tipo tipo_elem! Esempio: typedef int vett[dim]; vett vettore_di_ingresso; 61

62 Array di Array! L elemento di un array può essere a sua volta un array! La dichiarazione int matrice [DIM2][DIM1];! Definisce la variabile matrice come un array di DIM2 elementi, ciascun elemento è un array di DIM1 elementi! Alloca spazio in memoria (in locazioni fisiche contigue) adatto a contenere DIM1xDIM2 elementi! Accesso agli elementi di una matrice:! matrice [i][j] denota il valore j-mo dell i-mo array 62

63 Array e ciclo for! L accesso agli elementi di un array avviene attraverso indice! Se voglio scorrere un intero array è utile utilizzare il costrutto for int vettore[10]; for (int i=0;i<10; i++) Scrivi(vettore[i]); 63

64 Copia di un array! Dati due array a e b il seguente assegnamento a = b! Non produce la copia dei valori di b in a! La copia deve avvenire elemento per elemento for (i = 0; i<dim; i++) a[i] = b[i];! Questo è dovuto alla modalità con cui un array è memorizzato 64

65 Costruttore Struct! Consente di dichiarare variabili che tramite un unico identificatore raggruppano informazioni di tipo eterogeneo (record) Costruttore struct { }! Una struttura (record) è definita come un insieme prefissato di campi non omogenei! Ogni campo è dotato di nome e di tipo 65

66 Costruttore Struct Dichiarazione di una variabile di tipo record Sintassi: struct { tipo_campo1 nome_campo1; tipo_campo2 nome_campo2; tipo_campo3 nome_campo3; }nome_var; Semantica:! nome_var rappresenta il valore della variabile (come aggregato di valori dei suoi campi) 66

67 Accesso ai campi della struttura Tramite la notazione puntata nome_var.nome_campo1 struct { char cognome[30]; char nome[30]; int matricola; int votiesa[29]; } studente; studente.matricola studente.votiesa[3] studente.cognome[0] 67

68 Accesso ai campi della struttura Operatori utilizzabili per i singoli campi: operatori leciti per il tipo del campo Operatori globali: assegnamento studente2=studente1; Non è possibile confrontare studenti, operatore (==) non disponibile. E necessario effettuare il confronto campo per campo 68

69 Esempio: Una biblioteca typedef struct { int anno; int pagine; char autore[30]; char titolo[100]; } libro_t; libro_t mio_libro; mio_libro.anno = 1998; 69

70 Esempio: Una biblioteca libro_t mio_libro; printf( Anno:\n"); printf("%d\n", mio_libro.anno); printf( Numero di pagine: "); printf("%d\n", mio_libro.pagine); printf("autore:\n"); printf( %s\n, mio_libro.autore); printf("titolo:\n"); printf( %s\n, mio_libro.titolo); 70

71 Array di struct typedef struct { int anno; int pagine; char autore[30]; char titolo[100]; } libro_t; libro_t biblioteca[n]; 71

72 Esempio: ricerca libro piu vecchio in biblioteca int vecchio=0; for (i=1; i<n; i++) { if (biblioteca[i].anno < biblioteca[vecchio].anno) { vecchio = i; } } 72

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

Gli array, le stringhe e le strutture

Gli array, le stringhe e le strutture INFORMATICA B Ingegneria Elettrica Gli array, le stringhe e le strutture Limiti dei tipi di dato semplici Utilizzare solo i tipi di dato semplici può essere limitante e rendere il programma poco flessibile

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

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

Introduzione al C. Introduzione

Introduzione al C. Introduzione Introduzione al C Introduzione 2 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

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

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

Dichiarazioni e tipi predefiniti nel linguaggio C

Dichiarazioni e tipi predefiniti nel linguaggio C Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

1

1 Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

Dettagli

Struttura dei programmi e Variabili

Struttura dei programmi e Variabili Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

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

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma 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

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,

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

Le variabili nel linguaggio C

Le variabili nel linguaggio C Linguaggio C Le variabili nel linguaggio C Per iniziare Stampa le parole Hello world printf( Salve gente...\n"); 1 2 Elementi di Base Le Variabili Elementi di base che caratterizzano i programmi scritti

Dettagli

I Fondamenti del Linguaggio

I Fondamenti del Linguaggio Linguaggio C I Fondamenti del Linguaggio Linguaggio di Programmazione Linguaggio formale per la descrizione di programmi per calcolatori Sintassi vicina al linguaggio umano Se non ci fossero, bisognerebbe

Dettagli

C: primi elementi. Lezione 4

C: primi elementi. Lezione 4 C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX

Dettagli

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

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

Introduzione alla programmazione A. Ferrari

Introduzione alla programmazione A. Ferrari Introduzione alla programmazione A. Ferrari Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi ad

Dettagli

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2 Assegnamento Assegnamento Ricordiamo che l esecuzione di x = exp corrisponde a: 1. valutare il valore dell espressione exp a destra di = (usando i valori correnti delle variabili); 2. assegnare poi tale

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

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

Informatica. Stefano Lodi. 16 novembre in linguaggio C

Informatica. Stefano Lodi. 16 novembre in linguaggio C Informatica in linguaggio C Stefano Lodi 16 novembre 2005 0-0 Algoritmi, linguaggi, programmi, processi trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante istruzioni

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

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento

Dettagli

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili e input/ Alessandra Giordani Lunedì 18 marzo Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile

Dettagli

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

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

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

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente

Dettagli

LEZIONE 1 LE BASI DEL LINGUAGGIO C

LEZIONE 1 LE BASI DEL LINGUAGGIO C LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in

Dettagli

Precisazione sui tipi in ANSi C

Precisazione sui tipi in ANSi C Precisazione sui tipi in ANSi C Tipi primitivi del C Un tipo è costituito da un insieme di valori ed un insieme di operazioni su questi valori. Classificazione dei tipi primitivi del C scalari aritmetici:

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17 Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Informatica B Tipi di dati q In C esistono diversi tipi di dato built-in, tra cui int: numeri interi float: numeri con virgola (singola precisione) double : numeri con virgola (doppia

Dettagli

Esercizi. Filtraggio

Esercizi. Filtraggio Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)

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

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Abbiamo visto nei primi esempi che il C tratta vari tipi di dato = le dichiarazioni associano variabili e costanti al corrispondente tipo Per tipo di dato si intende un insieme di

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

Dettagli

Funzioni di Ingresso e Uscita

Funzioni di Ingresso e Uscita Funzioni di Ingresso e Uscita In C, l ingresso e l uscita avviene tramite chiamate (attivazioni) di funzioni (sottoprogrammi) disponibili nella Standard Library Standard Library: collezione di funzioni

Dettagli

La Programmazione. Cos è la programmazione? Concetti preliminari

La Programmazione. Cos è la programmazione? Concetti preliminari La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

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

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma

Dettagli

Linguaggio C Informatica Grafica

Linguaggio C Informatica Grafica Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Linguaggio C Breve storia Struttura di un programma Variabili

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

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

Struttura di un. Struttura dei programmi C

Struttura di un. Struttura dei programmi C Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive

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

I/O e strutture di controllo

I/O e strutture di controllo Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 I/O e strutture di controllo La presente dispensa e da utilizzarsi

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

Lezione 5: Introduzione alla programmazione in C

Lezione 5: Introduzione alla programmazione in C Lezione 5: Introduzione alla programmazione in C Laboratorio di Elementi di Architettura e Sistemi Operativi 4 Aprile 2012 Introduzione al C C vs. Java Java: linguaggio ad oggetti C: linguaggio procedurale

Dettagli

Strutture Dati. Luca Abeni

Strutture Dati. Luca Abeni Strutture Dati Luca Abeni Dati e Tipi di Dati Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti byte di memoria la variabile è

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

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

Introduzione al linguaggio C

Introduzione al linguaggio C Introduzione al linguaggio C Abbiamo già visto come un programma non sia altro che un algoritmo codificato in un linguaggio di programmazione. Problema: quale linguaggio scegliere per la codifica di un

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

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

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 di

Dettagli

Ingresso ed Uscita in C. Informatica 1 / 15

Ingresso ed Uscita in C. Informatica 1 / 15 Ingresso ed Uscita in C Informatica 1 / 15 Input e Output in C Linguaggio C: progettato per essere semplice e con poche istruzioni Non esistono istruzioni di ingresso / uscita (I/O)!!! Ingresso ed uscita

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

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Tutorato Elementi di Informatica 2018

Tutorato Elementi di Informatica 2018 Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercitazione 2 Introduzione e Tipi di

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

Fondamenti di Informatica

Fondamenti di Informatica Storia del linguaggio C Fondamenti di Informatica 7. Linguaggio C - Introduzione Corso di Laurea in Ingegneria Informatica e dell Automazione A.A. 2012-2013 2 Semestre Prof. Giovanni Pascoschi Linguaggio

Dettagli

Burocrazia: Primi passi con il linguaggio C. Diversi tipi di linguaggio. Un solo linguaggio

Burocrazia: Primi passi con il linguaggio C. Diversi tipi di linguaggio. Un solo linguaggio Burocrazia: Università degli Studi di Ferrara Laurea triennale in Matematica Corso di Programmazione Primi passi con il linguaggio C Filippo Mantovani 1 Ottobre 009 Per ora nessun cambio di orario e/o

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

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

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni Programmazione in C La struttura del programma Variabili, espressioni, operazioni Struttura del programma // Area quadrato circoscritto // circonferenza /* Author: Lorenzo Course: info */ #include

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 2 I tipi di dato Prerequisiti Concetto di relazione e funzione Concetto di insieme numerico Operatori aritmetici Operatori relazionali 2 Introduzione Abbiamo visto che un

Dettagli

Strutture Dati. Nicu Sebe. Informatica Nicu Sebe 1 / 27

Strutture Dati. Nicu Sebe. Informatica Nicu Sebe 1 / 27 Strutture Dati Nicu Sebe Informatica Nicu Sebe 1 / 27 Dati e Tipi di Dati e Spazi Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti

Dettagli

INPUT E OUTPUT DI VALORI NUMERICI

INPUT E OUTPUT DI VALORI NUMERICI INPUT E OUTPUT DI VALORI NUMERICI FUNZIONI DI I/O PER NUMERI Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione (header file) denominato contiene la

Dettagli

Elementi di Base del Linguaggio C

Elementi di Base del Linguaggio C Elementi di Base del Linguaggio C Struttura Generale di un programma (parte dichiarativa e esecutiva con terminazione istruzioni) Un programma e' formato da una parte dichiarativa e una parte esecutiva.

Dettagli