Introduzione al linguaggio C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione al linguaggio C"

Transcript

1 INFORMATICA B Ingegneria Elettrica Introduzione al linguaggio C

2 Introduzione Linguaggio di programmazione ad alto livello 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 Sistemi dedicati, es. microcontrollori, computer di bordo, domotica 2

3 Alcune proprietà del C È un linguaggio imperativo il programma è composto come un insieme di istruzioni (dette anche direttive o comandi), ciascuna delle quali può essere pensata come un ordine che viene impartito al calcolatore È 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! 3

4 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, cioè 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) 4

5 Hello world! Un esempio molto semplice di programma: #include <stdio.h> void main() { printf("hello World!"); } 5

6 Hello world! Un esempio molto semplice di programma: Il codice inizia qui Parte dichiarativa globale Parte dichiarativa locale Parte esecutiva #include <stdio.h> void main() { } printf("hello World!"); L esecuzione inizia qui In questo esempio la parte dichiarativa locale è vuota 6

7 Hello world! Un esempio molto semplice di programma: Parte dichiarativa globale Parte dichiarativa locale Parte esecutiva #include <stdio.h> void main() { } printf("hello World!"); Specifica l inclusione della libreria stdio che permette di utilizzare le funzioni di input/output Il main indica l inizio del programma vero e proprio Il programma contiene una sola istruzione che deve terminare con ; L istruzione specificata stampa a video il messaggio specificato tra gli apici: «Hello world» 7

8 Hello world! Un esempio molto semplice di programma: Parte dichiarativa globale Parte dichiarativa locale Parte esecutiva #include <stdio.h> /* Il mio primo programma */ void main() { } printf("hello World!"); Possiamo aggiungere commenti dove si vuole (testo tra /* */). Servono ai programmatori per rendere il codice più leggibile; sono ignorati dal compilatore Possiamo mettere quanti a-capo e spazi vogliamo perché vengono ignorati. In realtà utilizzeremo una convenzione detta indentazione per rendere il codice leggibile 8

9 E ora che abbiamo il codice? Dobbiamo trovare un elaboratore in grado di eseguirlo Problema: il calcolatore è in grado di elaborare istruzioni in linguaggio macchina Dobbiamo quindi trovare anche un modo per trasformare il C (linguaggio di alto livello) in linguaggio macchina (linguaggio di basso livello) 9

10 Perché linguaggio macchina? Un elaboratore è un insieme di circuiti Si basa su logica binaria Il linguaggio C è vicino al modo di pensare umano È infatti un linguaggio di alto livello Il linguaggio macchina è vicino al modo di lavorare di un elaboratore È infatti un linguaggio di basso livello 10

11 Il flusso di sviluppo di un programma Analisi Del problema Definizione dell algoritmo Codifica del programma (linguaggio C) Compilazione del programma (linguaggio macchina) Esecuzione sul calcolatore 11

12 Hello world! Un esempio molto semplice di programma: #include <stdio.h> /* Il mio primo programma */ void main() { printf("hello World!"); } L esecuzione del programma porta al seguente output sul terminale: Hello World! 12

13 La macchina astratta del C Quando si scrive un programma in C si immagina di avere una macchina un po più astratta rispetto al calcolatore reale BUS CPU MEM. Standard Input Standard Output a B pluto somma_1... La tastiera Il terminale video 13

14 La macchina astratta del C Memoria Divisa in celle elementari Ogni cella può contenere un dato I dati possono essere Numeri Caratteri Stringhe (sequenze di caratteri in celle adiacenti) Semplificazioni / idealizzazioni / approssimazioni / astrazioni Nessun limite al numero delle celle Nessun limite ai valori numerici contenuti (rilasseremo molto presto questa ipotesi) MEM. 3 4 a 7... a B pluto somma_

15 La macchina astratta del C Standard I/O La macchina astratta del C ha due periferiche standard di ingresso e uscita stdin : standard input che acquisisce i dati da tastiera stdout : standard output che visualizza i messaggi nel terminale video che possono essere viste come sequenze (flussi) di byte, normalmente interpretati come caratteri 15

16 La macchina astratta del C CPU L unità centrale di elaborazione (CPU) è in grado di eseguire una alla volta in sequenza le istruzioni specificate nel programma Ciascuna istruzione può contenere: Espressioni aritmetico/logica/relazionali aventi come operandi variabili contenute nella memoria centrale e salvando ciascun risultato in una variabile in memoria Letture dallo standard input che salvano i dati acquisiti in variabili contenute in memoria Scritture sullo standard output di messaggi contenenti anche i dati salvati nelle variabili in memoria Istruzioni di controllo che modificano il flusso sequenziale di esecuzione 16

17 Organizzazione di un programma Nella parte dichiarativa globale vengono specificati (nell ordine) Le direttive include con cui si specifica quali librerie vengono usate Le direttive define per definire costanti da utilizzare nel programma La definizione di nuovi tipi di dato (vedremo più avanti) La dichiarazione di variabili globali (non le useremo in questo corso) Nella parte dichiarativa locale vengono dichiarate le variabili Nella parte esecutiva vengono specificate le istruzioni che implementano l algoritmo 17

18 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 (cioè una collezione di funzioni, cioè sottoprogrammi che svolgono un compito più complesso di una singola istruzione) Esempio #include <stdio.h> richiede la libreria di gestione degli input e degli output (e.g., printf(), 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 18

19 main È una parola chiave e indica l inizio del programma vero e proprio Le istruzioni che seguono saranno quelle effettivamente eseguite dal calcolatore Le istruzioni che compongono il programma principale (cioè il main) sono racchiuse all interno di parentesi graffe { } 19

20 Dichiarazione di variabili Sintassi C per la dichiarazione di variabili tipo_variabile nome_var; Possiamo anche dichiarare più variabili dello stesso tipo separandole con una virgola Esempi: int raggio, circonferenza; char carattere; tipo_variabile nome_var1, nome_var2; Le variabili devono essere dichiarate prima di qualsiasi istruzione eseguibile Il nome di una variabile deve essere univoco (cioè non deve essere già stato utilizzato) e non deve essere una parola riservata 20

21 Dichiarazione di variabili La dichiarazione di variabile indica che e come una variabile verrà utilizzata dal programma Definisce l identificatore simbolico (nome) univoco Definisce il tipo, adatto ai valori da rappresentare (intero, carattere, ) Riserva (alloca) una locazione di memoria di dimensione 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 21

22 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 Durante l esecuzione del programma le variabili hanno sempre un valore ben definito Può essere significativo o non significativo, ma c è 22

23 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 (prossime lezioni ) Sia quelli built-in che quelli definiti dall utente possono essere: Semplici Composti (prossime lezioni ) 23

24 Tipi semplici built-in char Occupa 8 bit (1 byte) Rappresenta i caratteri in codifica ASCII (American Standard Code for Information Interchange) I caratteri sono rappresentati in memoria tramite un valore numerico nell intervallo da 0 a 255 I caratteri sono rappresentati nel codice di un programma tra apici semplici: '1', 'a' Caratteri speciali sono rappresentati mediante una specifica sequenza di due caratteri che inizia con \ '\n': a capo, '\t': tab Esempio: char carattere1; char carattere2, carattere3; 24

25 Tipi semplici built-in TABELLA ASCII 25

26 Tipi semplici built-in int Occupa almeno 16 bit (2 byte). L occupazione dipende dal tipo di architettura del calcolatore Rappresenta gli interi relativi. Valori in complemento a 2 da a Nei calcolatori moderni occupa 32 bit (4 byte) e rappresenta i valori da a Esempio: int n01; int numero5, num5; 26

27 Tipi semplici built-in float Occupa 32 bit (4 byte) Rappresentano i razionali in virgola mobile. Valori espressi tramite mantissa e esponente. Valori da -10E-38 a 10E+38 double Occupa 64 bit (8 byte) Rappresentano i razionali in virgola mobile. Valori espressi tramite mantissa e esponente. Valori da -10E-308 a 10E+308 Esempio: float num7; double base, altezza; 27

28 Costanti Esistono due tipi di costanti Esplicite: esprimono direttamente dei valori 'A' Simboliche costante di tipo int costante di tipo double costante di tipo char 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 28

29 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 Per dichiarare una costante utilizziamo la direttiva #define 29

30 Direttiva #define La direttiva associa un nome ad un valore di qualunque tipo Ogni direttiva (specificata nella parte delle dichiarazioni) definisce una costante Esempi #define NMMAZ 10 #define VMAX #define FALSE 0 #define TRUE 1 ATTENZIONE: la direttiva 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 30

31 Il compilatore e le macro In fase di compilazione ogni riferimento a macro 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 macro #define PI 3.14 void main() { float area; int raggio;... area = raggio * raggio * PI; } void main() { float area; } int raggio;... area = raggio * raggio * 3.14; 31

32 Parte esecutiva Contiene le istruzioni da eseguire: Istruzioni di assegnamento (=) Istruzioni di input/output Strutture di controllo: Condizionali (if-else) Iterative, o cicli (while, do-while e for) #include <stdio.h> void main() { int j; printf("hello World"); } Parte dichiarativa locale Parte esecutiva 32

33 Sequenza un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un lunghezza del raggio di un cerchio, calcola l area del cerchio e visualizza il risultato Inizio Leggi(r) a = r*r*3.14 Sequenza Scrivi(a) Fine 33

34 Istruzioni semplici e composte Sequenze di istruzioni semplici Ogni istruzione semplice è un espressione che termina con ; ; è detto il terminatore dell istruzione Si possono raggruppare più istruzioni in sequenza tra { e } a costituire un blocco Il blocco costituisce una super-istruzione Non è necessario il ; dopo }, in quanto il blocco è già una istruzione 34

35 Operatori Nelle istruzioni è possibile utilizzare i seguenti operatori: Aritmetici + (somma) - (sottrazione) * (prodotto) / (divisione) % (resto) Assegnamento = Esistono anche operatori di confronto e logici (prossime lezioni) NOTA: Tra valori di tipo int e char viene effettuata la divisione intera. L operatore % calcola il resto della divisione intera tra valori interi. char, int, float e double sono anche detti tipi aritmetici 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 Esempi di istruzioni di assegnamento: x = 23; w = 'a'; w = a; alfa = x + y; x=x+1; Attenzione! le variabili devono essere inizializzate Bisogna sempre assegnare un valore ad una variabile prima di leggerne il contenuto in un altra istruzione 36

37 Esecuzione degli assegnamenti 1. Valutazione dell espressione Il valore delle variabili che vi compaiono si trova memorizzato nelle celle corrispondenti, e da lì è letto 2. Memorizzazione del risultato dell'espressione nella variabile a sinistra del simbolo = Operatori C Operazioni Precedenza ( ) Parentesi Valutate per prime. Se ci sono degli annidamenti, si valuta prima la coppia più interna. Se ci sono più coppie allo stesso livello, si valuta da sinistra a destra. *, /, % Moltiplicazione, Divisione, Modulo +, Addizione, Sottrazione Valutate per seconde. Se ce ne sono diverse, si valutano da sinistra a destra. Valutate per terze. Se ce ne sono diverse, si valutano da sinistra a destra. = Assegnamento Valutate per ultime. Se ce ne sono diverse, si valutano da destra a sinistra. 37

38 Funzioni di Ingresso e Uscita In C, l ingresso e l uscita avviene tramite chiamate a due istruzioni particolari (in realtà sono due sottoprogrammi) disponibili nella libreria stdio.h printf() scanf() Per poterle utilizzare è necessario aggiungere la direttiva #include <stdio.h> 38

39 Stampa su video printf(stringa di controllo, elementi da stampare); printf() è l identificatore riservato alla funzione stringa di controllo (racchiusa tra doppi apici ""), 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 %d %f %c numero intero numero in virgola mobile carattere 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. 39

40 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 40

41 Esempio #include <stdio.h> void main() { int num1; float num2; char car1; num1=1; num2=0.2; car1='r ; printf("intero: %d\nrazionale: %f\ncarattere: %c\n", num1, num2, car1); } intero: 1 razionale: 0.2 carattere: r 41

42 Ingresso da tastiera scanf(stringa di controllo, lista di variabili); scanf() è l identificatore riservato alla funzione stringa di controllo (racchiusa tra doppi apici ""), 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 %d %f %c numero intero numero in virgola mobile carattere variabili a cui associare il valore letto: lista di identificatori di variabili. Le variabili devono essere precedute dal simbolo &. La lista è ordinata rispetto ai caratteri di conversione 42

43 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 43

44 Esempio #include <stdio.h> void main() { } int num1; float num2; char car1; scanf("%d %f %c", &num1, &num2, &car1); printf("intero: %d\nrazionale: %f\ncarattere: %c\n", num1, num2, car1); r intero: 1 razionale: 0.2 carattere: r 44

45 Sequenza un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un lunghezza del raggio di un cerchio, calcola l area del cerchio e visualizza il risultato Inizio Leggi(r) a = r*r*3.14 Scrivi(a) Fine #include <stdio.h> #define PI 3.14 void main(){ } int r, a; scanf( %d, &r); a = r * r * PI; printf( %d, a); 45

46 Compatibilità tra i tipi Attenzione! I tipi di dato delle variabili coinvolte in un operazione devono essere identici (o almeno compatibili) Il compilatore controlla la compatibilità tra i tipi In alcune situazioni risolve la non compatibilità tramite delle regole di conversione automatica tra i tipi (cast) 46

47 Compatibilità tra i tipi Operazioni di assegnamento Il valore alla destra dell operatore verrà convertito nel tipo della variabile alla sinistra 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 Operazioni aritmetiche Il valore di tipo inferiore viene convertito nel tipo superiore 47

48 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!*/ 48

49 Compatibilità tra i tipi Si può anche forzare la conversione di un valore da un tipo all altro mediante l operatore di cast () Si specifica tra parentesi tonde il tipo a cui convertire davanti al nome della variabile/costante int a, b; float f1, f2; a = 5; b = 2; f1 = a / b; f2 = (float) a / b; La divisione viene effettuata tra numeri interi e poi il risultato è automaticamente convertito durante l assegnamento CAST f1 contiene 2.0 f2 contiene 2.5 Il valore di a viene convertito a float prima della divisione; quindi la divisione sarà tra due valori float L operazione di cast ha priorità maggiore rispetto a qualsiasi altra 49

50 Esempi di assegnamenti, cast ed espressioni #define D 5.0 void main(){ float a; float b, c=0; int e; b = 11; a = D; /* OK */ D = a; /* NO */ a = 4 / 5; /* Che cosa succede? Perché? */ b = 4 / 5.0; /* Che cosa succede? Perché? */ b = 4 / 5 / 6.0; /* Che cosa succede? Perché? */ b = 3 / (float)5 / 6; /* Che cosa succede? Perché?*/ e = (float)4 / 5; /* Che cosa succede? Perché? */... 50

51 Esempi di assegnamenti, cast ed espressioni void main(){ char a; char b, c = 'Q'; a = '\n'; /* OK: i caratteri di escape sono caratteri a tutti gli effetti */ c = 'ps'; /* NO: 'ps' non è una costante valida*/ a = '7'; /* Che cosa succede? */ a = b; /* Che cosa succede? */ b = 7; /* Che cosa succede? */ a = 'g'; a = a+1; /* La var a contiene h */ a = 'a'+1; /* La var a contiene b */ a = 'g'; a = a 'a' + 'A'; /* La var a contiene G */... 51

52 Tipi semplici built-in TABELLA ASCII 52

53 Una considerazione sul tipo char Il tipo char è rappresentato attraverso una codifica numerica intera (interi a 1 byte) 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

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

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

Algoritmi e basi del C

Algoritmi e basi del C Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 24 Agosto 2015 Benvenuti nel fantastico mondo del C 2 Il primo programma: ciao mondo 3 Ciao Mondo: stdio.h Come

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 11 Marzo 2014 Informazione: dato + significato Che giorno è oggi? 14 Marzo o anche

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

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

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

Algoritmi e basi del C

Algoritmi e basi del C Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 3 O/obre 2013 Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2 WAT Il docente ha messo

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

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

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

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

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 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

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

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

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

Il linguaggio C. Danilo Ardagna Politecnico di Milano

Il linguaggio C. Danilo Ardagna Politecnico di Milano Il linguaggio C Danilo Ardagna Politecnico di Milano 14-3-2014 Introduzione! Linguaggio di programmazione ad alto livello (HLL)! Sviluppato negli anni 70 (C standard ANSI)! Molto diffuso e adatto ad un

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

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

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

Primo programma in C

Primo programma in C Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file

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

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

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

#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

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

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

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

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

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

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

Cosa serve per cominciare?

Cosa serve per cominciare? Cosa serve per cominciare? La linea di comando Il notepad (o equivalente) Saper scrivere qualcosa a video da programma risultato dell elaborazione elaborazione Ma come si fa?! 1 Input / Output L'immissione

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

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione

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

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

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

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

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 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

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013

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

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

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

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

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

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

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

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

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

L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura

L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni i ipredefinite it per l'input/output t t In ogni

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

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

INPUT/OUTPUT INPUT/OUTPUT

INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni predefinite per l'input/output In ogni versione

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

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

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

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

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

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

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

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 di Riferimento: C

Linguaggio di Riferimento: C Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall

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

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

INPUT/OUTPUT. L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura

INPUT/OUTPUT. L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni predefinite per l'input/output In ogni versione

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

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

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

L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura

L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura Input e Output in C Input/Output L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura Il C non ha istruzioni predefinite per l'input/output

Dettagli

Lezione 1. Ing. Colazzo Sebastiano

Lezione 1. Ing. Colazzo Sebastiano Lezione 1 Ing. Colazzo Sebastiano Linguaggi macchina: lingua naturale di un particolare computer, esso consiste di sequenze di numeri (1 o 0) e dipende dalla macchina 0000111101 1111110001 0011001111 Linguaggi

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

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

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

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

Fondamenti di Informatica. Ingegneria elettronica

Fondamenti di Informatica. Ingegneria elettronica Fondamenti di Informatica Ingegneria elettronica Prima esercitazione Cecilia Catalano Sistema Operativo Il S.O. è costituito da un insieme di programmi che permettono di utilizzare e gestire tutte le risorse

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

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

Linguaggio C Struttura dei programmi

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

Dettagli

Lezione 3. Breve storia del C

Lezione 3. Breve storia del C Lezione 3 Introduzione al linguaggio C Breve storia del C Sviluppato da Ritchie a partire da due linguaggi precedenti: BCPL e B Usato per sviluppare il sistema operativo UNIX Attualmente, diversi sistemi

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

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

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

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle

Dettagli

direttive del preprocessore simboli speciali parole chiave identificatori costanti

direttive del preprocessore simboli speciali parole chiave identificatori costanti 5) Elementi di C #include #define TF2TC main() { double tc, tf, offset, conv; offset = 32.; direttive del preprocessore simboli speciali parole chiave identificatori costanti #ifdef TF2TC conv

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

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore

Dettagli