Variabili e Costanti
|
|
- Eleonora Sibilla Stefani
- 5 anni fa
- Visualizzazioni
Transcript
1 Struttura di un Programma C++ Un programma descrive una sequenza di azioni ogni azione è descritta da una espressione un insieme di espressioni seguite da ; è un istruzione espressione = più piccola unità di programma di significato autonomo Esempi di espressioni dichiarazioni (int i;) assegnamento (i = 7+1;) input/output (cout << i;) controllo di flusso (for, while, if, etc.) /02 1
2 Struttura di un Programma C++ Istruzioni raggruppate in unità logiche dette funzioni Una funzione consiste di quattro parti tipo di dati da restituire nome della funzione lista degli argomenti corpo della funzione Ogni programma deve contenere una funzione main 2 Esempio Programma C++ Gestione archivio di una libreria. Il programma deve periodicamente aggiornare il file di magazzino e fornire dati sulle vendite. legge la lista dei volumi venduti ordina la lista per autore e titolo conta il numero di copie vendute di ciascun volume e cancella duplicati aggiorna il file di magazzino stampa i risultati /02 2
3 Esempio Programma C++ #include <iostream> using namespace std; void leggi() { cout << sto leggendo ; } void ordina() { cout << sto ordinando ; } void conteggia() { cout << sto contando ; } void stampa() { cout << sto stampando ; } int main() { leggi(); ordina(); conteggia(); stampa(); return 0; } 4 Direttive al Preprocessore #include <iostream> è una direttiva al preprocessore include il contenuto del file iostream.h nel file del programma prima della compilazione Se il file da includere non ha estensione fa parte della libreria standard le direttive al preprocessore sono istruzioni eseguite prima della compilazione #include, #define, #ifdef, #ifnotdef, #else, #endif, #pragma sono tutte direttive al preprocessore # deve essere il primo carattere della linea non c è ; al termine dell istruzione /02 3
4 Spazi dei nomi Ogni variabile è definita all interno di un namespace Il nome della variabile è formato dal nome del namespace e dall identificatore della variabile std::cout << ciao ; L istruzione using namespace std specifica il namespace di default Se non specificato l identificatore della variabile viene ricercato all interno del namespace di default 6 Compilazione ed Esecuzione di un Programma C++ Per compilare g++ (-g) (-o out) (-c) file1.c file2.c file3.cpp (-llib) -g ---> debugger -o ---> eseguibile in out (per default in a.out) -c ----> compila ma non linka i file.o -l ----> linka libreria lib -I ----> modifica path di ricerca nel file system Il compilatore opera due passi compilazione linkaggio Il compilatore esegue controlli lessicali e sintattici sul codice del programma /02 4
5 Elementi Essenziali del Linguaggio Dati su cui operare Operazioni per manipolare i dati Istruzioni per controllare il flusso del programma Librerie per implementare operazioni non predefinite 8 Dati Un dato ha un tipo ed un indirizzo L indirizzo specifica dove il dato risiede in memoria Il tipo di un dato specifica come il dato è memorizzato e quali sono le operazioni legali su di esso indirizzo tipo int: 4 byte rappresentazione in complemento a /02 5
6 Indirizzo di un Dato La memoria è una sequenza di celle un bit per cella Le celle sono raggruppate in gruppi byte (8 bit) e word (4-8 byte) ad ogni byte è assegnato un numero d ordine (indirizzo) il byte è la minima unità di memoria indirizzabile L indirizzo di un dato è l indirizzo del primo byte in cui è contenuta la rappresentazione del dato Dati e istruzioni sono memorizzati nella stessa memoria (modello di Von Neumann) 10 Tipo di un Dato Il Tipo di un dato specifica quanti byte sono necessari a rappresentarlo come il dato è rappresentato quali operazioni sono possibili su quel dato come tali operazioni sono realizzate /02 6
7 Tipi di Dati Predefiniti Tipo char int short long float double long double Dimensione 1 byte 1 word dipende dalla macchina dipende dalla macchina 1 word 2 word 3-4 word Utilizzo caratteri o piccoli interi interi reali in singola precisione reali in doppia precisione reali in multipla precisione 12 Costanti Letterali Dato memorizzato ma non indirizzabile ha comunque un tipo int i = 2; // 2 costante letterale Costanti letterali intere sono signed int per default possono essere rappresentate in decimale, ottale o esadecimale possono anche essere di altro tipo 12, 010, 0xFF, 128u, 3e1, 1024Ul Costanti letterali in virgola mobile sono double per default possono anche essere di altro tipo 1.0f, 3.14l, 3e1, 1.4E /02 7
8 Costanti Letterali Costanti letterali carattere stampabile sono scritte tra apici A, b,.,?, L a I caratteri non stampabili, gli apici ed il backslash sono rappresentate da sequenze di escape \n, \t, \, \\, \0 (null), \12 (return) Costanti letterali stringhe sono scritte tra doppi apici ciao mondo, L città Una stringa è un array di caratteri seguito dal carattere \0 14 Variabili Simboliche Dato memorizzato ed indirizzabile tramite l indirizzo si può recuperare il dato e modificarlo Si definisce anche oggetto Una variabile è identificata da un nome (identificatore) fornito dal programma Ad un identificatore sono associati un indirizzo ed un tipo specificati al momento della definizione del dato ch identifica il valore di un area di memoria lunga 1 byte, char ch; localizzata ad un certo indirizzo memorizzata come un carattere (codice ASCII) /02 8
9 Identificatori Il nome della variabile può contenere lettere, cifre o _ Il compilatore distingue tra maiuscole e minuscole Il primo carattere deve essere una lettera Nessun limite di lunghezza Stili più diffusi variabili in minuscolo, tipi con iniziale maiuscola, costanti in maiuscolo nomi composti voti_esame votiesame 16 Variabili Simboliche Ad ogni variabile sono associati R-value valore della variabile L-value indirizzo della variabile ch = ch + 0 ; l espressione a destra dell operatore considera il valore della variabile l espressione a sinistra dell operatore considera l indirizzo della variabile. E possibile specificare la stessa variabile su entrambi i lati di un assegnamento /02 9
10 Definizione di Variabili Simboliche introduce il nome ed il tipo di una variabile il compilatore alloca memoria sufficiente a contenere il dato ed assegna l indirizzo di questa memoria all identificatore della variabile char ch; nome tipo indir. ch char Una variabile può essere definita una sola volta in tutto il programma 18 Dichiarazione di Variabili Simboliche introduce il nome di una variabile che è stata definita da qualche altra parte nel programma il compilatore non alloca memoria extern char ch; nome tipo indir. ch char ---- Una variabile può essere dichiarata più volte nello stesso programma /02 10
11 Dichiarazioni e header file In un progetto strutturato su più file in ogni file vengono dichiarate (o definite) tutte le variabili utilizzate La stessa variabile è dichiarata in file diversi Se modifichiamo il tipo della variabile dobbiamo modificare tutte le dichiarazioni Per agevolare la mantenibilità del codice conviene concentrare le dichiarazioni delle variabili in un solo file Le variabili sono dichiarate in un header file Tutti i file del progetto includono l header file Per modificare il tipo di una variabile basta modificare l header file 20 Definizioni ed Inizializzazioni Il valore assegnato ad una variabile al momento della definizione è arbitrario E possibile assegnare un valore iniziale alla variabile risultato di una qualunque espressione char ch = a ; int i(10); double prezzo_vendita(prezzo*sconto); char c = c; // cosa fa? E possibile concatenare più definizioni sulla stessa linea di codice double prezzo = 100.5, sconto = 0.15; /02 11
12 Inizializzazioni di Default E' pericoloso definire una variabile senza inizializzarla È vietato definire oggetti di tipo classe non inizializzati Le variabili globali definite al di fuori delle funzioni sono inizializzate per default a 0 Le variabili locali non sono inizializzate Tutti i tipi predefiniti possono essere inizializzati a 0 da un costruttore di default int ival = int(); // inizializza ival a 0 vector<int> ivec(10); /* definisce un vettore di 10 interi inizializzati a 0 */ 22 Costanti Simboliche Dati memorizzati ed indirizzabili che non possono essere modificati (variabili a sola lettura). const int buffersize = 512; L uso delle costanti simboliche aumenta notevolmente la leggibilità del codice Il compilatore non permette di modificare il valore di una costante simbolica definire una costante simbolica non inizializzata assegnare l indirizzo di una costante simbolica ad un puntatore /02 12
13 Puntatori Una variabile di tipo puntatore contiene un indirizzo tramite una variabile puntatore si può referenziare indirettamente una variabile nome tipo indir. ptr char* Un puntatore può contenere l indirizzo di un oggetto o di una funzione 24 Puntatori Un puntatore viene definito facendo precedere l identificatore dall operatore di dereferenziazione (*) int *ip1, *ip2; // ip1 e ip2 puntano ad int unsigned char *ucp; // ucp punta ad un char senza segno float fp, *fp1; // fp è un float, fp1 punta ad un float char* cp, cp1; // cp punta a char, cp1 è un char La dimensione di un puntatore ad un oggetto è sufficiente a contenere un indirizzo 4 byte su macchine a 32 bit Il tipo di un puntatore ad un oggetto è il tipo della variabile puntata tutti i puntatori ad oggetti hanno la stessa dimensione /02 13
14 Inizializzazioni di Puntatori Un puntatore può essere inizializzato con l indirizzo (Lvalue) di una variabile dello stesso tipo Per ottenere l L-value di una variabile si applica l operatore di indirizzo (&) int i = 1024; int *p = &i; int *ip = p; char *cp = 0; // inizializza a NIL 26 Inizializzazioni Illegali Il C++ è un linguaggio strongly typed Il compilatore controlla che in ogni assegnazione o inizializzazione l R-value del lato destro sia dello stesso tipo dell L-value del lato sinistro Sono errate tutte le istruzioni che assegnano ad un puntatore l R-value di una variabile o l indirizzo di una variabile di tipo diverso int i = 24; int *ip = &i; int *ip1 = &ip; /* ERRORE */ char *cp = ip; int *ip2 = i; // ERRORE // Errato ma consentito da molti compilatori /02 14
15 Indirizzamento Indiretto (Lettura) Accede al valore di un oggetto tramite un puntatore che indirizza l oggetto. Si usa l operatore (*) int i = 1024; int *ip = &i; int k = *ip; // k = 1024 k = ip; // ERRORE ip = i; // ERRORE // ip contiene l indirizzo di i 28 Indirizzamento Indiretto (Scrittura) Tramite l operatore di indirizzamento indiretto è possibile assegnare un valore ad un oggetto indirettamente int i = 1024; int *ip = &i; // ip punta ad i *ip = k; // i = k *ip = abs(*ip); // i = abs(i) *ip = *ip + 1; // i = i /02 15
16 Puntatori a Puntatori Un puntatore può contenere l indirizzo di un puntatore Se dereferenziato restituisce un puntatore int i = 1024; int *ip = &i; // ip punta ad i int **ipp = &ip; **ipp = 100; // i = 100 ip = ipp; // ERRORE 30 Puntatori Generici Un puntatore generico è di tipo void* ad un puntatore generico possono essere assegnati indirizzi di oggetti di qualsiasi tipo Un puntatore generico non può essere utilizzato per accessi alla memoria non ha le informazioni sul tipo di oggetto indirizzato int *pi; double *pd; void *pv = pi; pv = pd; *pv = 3.14; // ERRORE I puntatori generici sono usati per passare ad una funzione puntatori di tipi differenti o confrontare indirizzi di memoria /02 16
17 Aritmetica dei Puntatori E possibile effettuare delle manipolazioni sui valori dei puntatori L unità di misura nelle manipolazioni dei puntatori è la dimensione del tipo del puntatore int i = 100; int *ip = &i; // ip punta ad i *ip = *ip + 2; // i = i + 2 ip = ip + 2; // ip punta 8 byte più avanti di i int *ip2 = ip - 4; // ip2 punta 16 byte dietro ad ip int k = ip - ip2; // k = 4 32 Cast Il cast cambia il tipo di una variabile il contenuto della memoria resta inalterato cambia la quantità di memoria letta e il modo in cui viene interpretata Il cast è un operazione pericolosa ed il compilatore non la esegue mai automaticamente int i = 1000; int *ip = &i; char c = *(char *)ip; // legge solo primo byte di i double d = *(double *)ip; // legge 4 byte oltre i /02 17
18 Puntatori a Costante Un puntatore a costante può essere utilizzato solo per accedere indirettamente ad un oggetto in lettura non in scrittura const double *pc; L indirizzo di una costante simbolica può essere assegnato solo ad un puntatore a costante const double d = 3.14; pc = &d; // pc punta alla costante d *pc = *pc + 1; // ERRORE, cerca di modificare d double d1 = 1.2; pc = &d1; // pc punta alla variabile d1 *pc = d1*2; /* ERRORE, cerca di modificare d1 tramite pc */ 34 Puntatori Costanti Un puntatore costante non può essere modificato ma può essere utilizzato per modificare l oggetto puntato Un puntatore a costante può essere modificato ma non può essere usato per modificare il contenuto dell oggetto puntato int errnum; int *const err = &errnum; *err = *err + 1; // incrementa il valore di errnum err = err + 1; // ERRORE, modifica err /02 18
19 Puntatori Costanti a Costante Un puntatore costante a costante non può essere modificato e non può essere utilizzato per modificare l oggetto puntato const int passo = 1; const int *const ptr = &passo; 36 Utilizzo dei Puntatori Costanti I puntatori a costante vengono usati per indirizzare delle variabili che non devono essere modificate passaggio per riferimento ad una funzione senza side effect I puntatori costanti sono utilizzati per legare un puntatore ad un oggetto ed impedire che possa essere spostato indirizzamento di informazioni relative alla gestione degli errori /02 19
20 Variabili Riferimento (Indirizzo) Una variabile di tipo riferimento fornisce un alias per il nome della variabile con cui è stata inizializzata int i = 1; int &ref = i nome tipo indir. i rif int int& Una variabile riferimento deve essere inizializzata 38 Operazioni su Variabili Riferimento Ogni operazione sulla variabile riferimento equivale ad una operazione sull oggetto associato Equivale a definire un puntatore costante senza usare la sintassi dei puntatori ref = ref + 1; // incrementa i di 1 Non è possibile modificare la variabile a cui il riferimento è associato /02 20
21 Utilizzo Variabili Riferimento Sono usate per passare argomenti ad una funzione per riferimento la funzione può operare sugli argomenti passati per riferimento senza usare la sintassi dei puntatori il codice è più chiaro e leggibile void scambia(int& x, int& y) { int tmp = x; x = y; y = tmp; } void scambia(int* x, int* y) { int tmp = *x; *x = *y; *y = tmp; } 40 Costanti Riferimento E possibile definire variabili riferimento costanti non consentono di modificare il valore dell oggetto associato const int& cri = i; cri = cri + 1; // ERRORE /02 21
22 Definizioni di Variabili Riferimento In una lista di definizioni ogni riferimento deve essere preceduto da (&) int i; int &ip1 = i, &ip2 = i; int &ip3 = i, ip4 = i; // ip4 non è un riferimento Un riferimento ad una variabile è inizializzato con l Lvalue di una variabile dello stesso tipo int& ri = i; char c = a ; int& ri2 = c; // ERRORE 42 Inizializzazione di Riferimenti con Variabili Temporanee Un riferimento costante può essere inizializzato con costanti letterali e variabili di tipo diverso ma compatibile Gli oggetti non indirizzabili vengono memorizzati in variabili temporanee prima di essere utilizzati per l inizializzazione La variabile temporanea può essere convertita Le operazioni hanno effetto solo sulla variabile temporanea const int &ir = 1024; double d1, d2; // int temp = 1024; const int &ir = temp; const double &d = d1 + d2; // double t = d1+d2; const int &ir = t; const int &ci = d1; // int temp = d1; const int &ci = temp; /02 22
Variabili e Costanti. Esempio Programma C++ Lezione 1. Direttive al Preprocessore
Esempio Programma C++ Lezione 1 Variabili e Costanti Gestione archivio di una libreria. Il programma deve periodicamente aggiornare il file di magazzino e fornire dati sulle vendite. legge la lista dei
DettagliDati 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
DettagliStruttura 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
DettagliCorso 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
DettagliIntroduzione 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,
DettagliInformatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
DettagliLe 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
DettagliLezione 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
DettagliI 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
DettagliElementi 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
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliUn esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)
Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Macchina astratta: un linguaggio di programmazione trasforma un calcolatore in una macchina
DettagliDichiarazioni 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:
DettagliPuntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a
Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime
DettagliLaboratorio 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
DettagliINTRODUZIONE 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
DettagliINTRODUZIONE 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
DettagliIntroduzione 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
DettagliL 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
Dettagli1
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
DettagliVariabili e Funzioni. Informatica 1 / 19
Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:
DettagliInformatica. 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
DettagliVariabili. 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
DettagliINTRODUZIONE 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
DettagliQuando è necessario elaborare una certa quantità di dati omogenei si possono usare variabili indicizzate: int a0, a1, a2;
Array Quando è necessario elaborare una certa quantità di dati omogenei si possono usare variabili indicizzate: int a0, a1, a2; Il C supporta questo uso attraverso il tipo di dati array (o vettore): int
DettagliIntroduzione 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
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011
Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali
DettagliIl linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
DettagliLa sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
DettagliPuntatori in C Lucidi della Pof.ssa Pazienza
Puntatori in C Lucidi della Pof.ssa Pazienza http://www.uniroma2.it/didattica/foi2/ Puntatori L operatore di indirizzo & Indirizzi, puntatori Aritmetica dei puntatori L operatore di dereferenziazione *
DettagliIl 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
DettagliLinguaggio 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
DettagliIntroduzione 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
DettagliTipi 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
DettagliPrimi 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
DettagliManualistica 01 Variabili e costanti
Programmazione e Laboratorio di Programmazione Manualistica 01 Variabili e costanti Programmazione e Laboratorio di Programmazione: Variabili e costanti 1 Definizione di una variabile Sintassi: tipo_variabile
DettagliLaboratorio 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
DettagliPerché 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
DettagliSintassi: Per la dichiarazione di variabili dei tipi fondamentali:
Sintassi: Per la dichiarazione di variabili dei tipi fondamentali: declaration ::= type declarator list ; declarator list ::= declarator {, declarator} opt declarator ::= identif ier identif ier = initializer
DettagliVariabili 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
DettagliManualistica 1 Variabili e costanti
Programmazione e Laboratorio di Programmazione Manualistica 1 Variabili e costanti Programmazione e Laboratorio di Programmazione: Variabili e costanti 1 Definizione di una variabile Sintassi: tipo_variabile
DettagliCostanti 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
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliInformatica Applicata
Ing. Irina Trubitsyna Elementi di base di un programma Dichiarazione dei dati in un programma Sommario Panoramica Elementi di Base di un Programma Struttura Direttive Elementi Sintattici di Base Commenti
DettagliLaboratorio di Informatica
-- Conversione di tipo in C (V) -- Laboratorio di Informatica Ingegneria Meccanica Lezione 7, 22 novembre 2007 versione 24 novembre 2007 Renato Menicocci
DettagliIl C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliVerso i puntatori: Cosa è una variabile?
Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per
DettagliInformatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento
DettagliTipi 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
Dettagliciclo di vita della soluzione (informatica) di un problema
Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti
DettagliLaboratorio di informatica Ingegneria meccanica
Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,
DettagliI/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
DettagliQualsiasi programma in C++ segue lo schema: Variabili
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliCorso Programmazione
Corso Programmazione 2009-2010 (docente) E-mail: aiolli@math.unipd.it Web: www.math.unipd.it/~aiolli Dipartimento di Matematica Pura ed Applicata Torre Archimede, Via Trieste 63 PARTE 3 2 Variabili Le
DettagliPrecisazione 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:
DettagliCominciamo 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
DettagliPerché 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
DettagliTipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliAssegnazione di una variabile
Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile
DettagliIntroduzione 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)
DettagliTipi 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
DettagliI puntatori. DD Cap.7 pp KP Cap.6 pp
I puntatori DD Cap.7 pp.245-280 KP Cap.6 pp.219-235 Cos è un puntatore Un puntatore è una variabile che assume come valore un indirizzo di memoria. Il nome di una variabile fa quindi riferimento ad un
DettagliC++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW
C++ funzioni Alberto Ferrari http://en.cppreference.com FUNZIONI le funzioni caratterizzate da nome, parametri (numero, ordine e tipo) e tipo di ritorno le funzioni hanno un prototipo il prototipo non
DettagliIl 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
DettagliIl 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
DettagliCorso di Fondamenti di Informatica Università degli Studi di Cassino
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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliIdentificatori. Fondamenti di Informatica e laboratorio Intro C
Identificatori Sequenza (di lunghezza maggiore o uguale a 1) di lettere e cifre che inizia obbligatoriamente con una lettera. E' ammesso anche l'utilizzo dell'undescore _ Maiuscole e minuscole sono diverse
DettagliOgni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo.
Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. int a = 5; a 5 α=&a Esistono in C particolari variabili dette puntatori che possono
Dettagli#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
DettagliIl primo programma C++
Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida
DettagliLinguaggi 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
DettagliUnità 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
DettagliProgrammazione C. Puntatori Array come puntatori
Programmazione C Puntatori Array come puntatori Perché usare gli indirizzi Tutto in C ha un valore int a = 4; significa che il valore della variabile a è 4, e che potrà essere modificato dal programma
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 10 Lezione 10 1 Inside C : Puntatori Puntatori Referenziazione e Dereferenziazione Pointers: Puntatori Le variabili finora incontrate sono caratterizzate da
DettagliTipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.
Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi
DettagliPer fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice)
Vettore(Array monodimensionale) Sequenza di posizioniconsecutive (o locazioni di memoria) che vengono chiamate elementi del vettore Gli elementi hanno tutti lo stesso nomee sono tutti dell stesso tipo
DettagliI/O da tastiera e direttive processore. Alessandra Giordani Lunedì 3 maggio
I/O da tastiera e direttive processore Alessandra Giordani agiordani@disi.unitn.it Lunedì 3 maggio 2010 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
DettagliLinguaggio C Variabili e tipi di dato
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Variabili e tipi di dato 2001 Pier Luca Montessoro - Davide
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliPrimi 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
DettagliIl 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
DettagliIntroduzione al C++ Parte 2
Introduzione al C++ Parte 2 Sommario Le differenze fra C e C++ il qualificatore const i namespace gli stream Evitare modifiche accidentali Il qualificatore const indica che la variabile non può più essere
DettagliVariabili e assegnazione
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Variabili e assegnazione Carla Limongelli Marzo 2009 Variabili e assegnazione 1 Contenuti Variabili a ab e assegnazionea e Variabili e aree di
DettagliIntroduzione al C. Lezione 1 Elementi. Rossano Venturini. Pagina web del corso
Introduzione al C Lezione 1 Elementi Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Lezioni di ripasso C Mercoledì 19 Giovedì
DettagliSono variabili il cui valore corrisponde ad un indirizzo di memoria. Puntatori
Sono variabili il cui valore corrisponde ad un indirizzo di memoria Puntatori Dichiarazione di variabile puntatore Esistono puntatori per ogni tipo di variabile puntata Un dato puntatore può puntare solo
Dettaglidirettive 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
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 2: Elementi lessicali, casting e while Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Soluzione agli esercizi
DettagliEsercizi 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
DettagliIl primo programma C. Un programma utile. Compilazione & linking con il compilatore GNU. Introduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma C /* Hello world: il mio primo programma C */ Commento su più righe; il compilatore ignorerà tutto quanto compreso fra /* e */. Il primo
DettagliTipi 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
DettagliVariabili intere, funzioni e input/ Alessandra Giordani Lunedì 19 marzo
Variabili intere, funzioni e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 19 marzo 2012 http://disi.unitn.it/~agiordani/ Variabili e valori Una variabile è un nome logico
Dettaglipuntatori Lab. Calc. AA 2006/07 1
puntatori Lab. Calc. AA 2006/07 1 Attributi di un oggetto nome o identificatore; tipo; valore (o valori); indirizzo; Lab. Calc. AA 2006/07 2 Indirizzo Consideriamo la dichiarazione con inizializzazione:
Dettagli