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

Похожие документы
Corso di Fondamenti di Informatica Il sistema dei tipi in C++

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

La sintassi del C APPENDICE H

Fondamenti di Programmazione. Antonio Pescapè e Marcello Esposito Parte Quinta v1.0

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C

Fondamenti di C++ Input/Output di base

Corso di Fondamenti di Informatica

Introduzione alla programmazione. Alice Pavarani

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica

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

Il linguaggio C. Notate che...

Linguaggio C - sezione dichiarativa: costanti e variabili

Variabili. Tipi di dati di base. Variabili. Variabili

L AMBIENTE CODE BLOCKS E L IO

Laboratorio di programmazione

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

L AMBIENTE CODE BLOCKS E L IO

Introduzione al Linguaggio C

Qualsiasi programma in C++ segue lo schema:

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

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

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

Corso Programmazione 1 Capitolo 01: Concetti Elementari

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

Introduzione alla programmazione in linguaggio C

Linguaggio C++ Linguaggi di terza generazione

Costanti e Variabili

Struttura dei programmi C

Capitolo 2 Introduzione alla programmazione in C

PROGRAMMA = ALGORITMO

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Introduzione alla programmazione in C++

Primi passi col linguaggio C

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

Транскрипт:

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) Supporta l astrazione dei dati Supporta la programmazione orientata agli oggetti (Object Oriented = OO) Supporta la programmazione generica C++ - Tipi e dichiarazioni 2

Cosa è un programma #include <iostream> // rende accessibili le funzioni dii/o #include <string> // funzionalità classe string //using namespace std; int main() { string yourname; } std::<< cout Inserisci il tuo nome -> ; std::cin >> yourname; std::<<cout Ciao << yourname <<!\n ; C++ - Tipi e dichiarazioni 3

Come si fa ad eseguire un programma Compilazione ad esempio con il compilatore gcc Esecuzione del file compilato: attenzione sotto Unix verificare che il file compilato sia eseguibile (chmod +x <nome file>) C++ - Tipi e dichiarazioni 4

Identificatori Un identificatore è una sequenza lettere, numeri e simbolo _. Non c è limite alla lunghezza anche se per alcuni compilatori sono significativi solo i primi 32 caratteri. Un identificatore non deve corrispondere a una parola chiave del linguaggio. Case sensitive C++ - Tipi e dichiarazioni 5

Parole chiave del linguaggio asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, rivate, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static,static_cast, struct, switch, template, this, throw, true, try, typedef,typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t C++ - Tipi e dichiarazioni 6

Tipi di dati La memoria del computer è organizzata a bytes (8 bit) Byte ->0:255 oppure 1 carattere C++ - Tipi e dichiarazioni 7

Tipi fondamentali (1) TIPO BYTES DESCR RANGE char 1 Carattere o intero lungo 8 bit [-128:127], [0: 255] short 2 Intero lungo 16 bit [-32768:32767] [0:65535] long 4 Intero lungo 32 bit [-2147483648: 2147483647] [0:4294967295] int * Intero la cui lunghezza dipende dalla lunghezza della word di sistema operativo, ad es. MSDOS 16bit, Windows 32 float 4 Numero in virgola mobile 3.4e + / - 38 (7 cifre) C++ - Tipi e dichiarazioni 8

Tipi fondamentali (2) TIPO BYTES DESCR RANGE double 8 Numero in virgola mobile doppia precisione 1.7e + / - 308 (15 cifre) long double 10 Numero in virgola mobile long 1.2e + / - 4932 (19 cifre) bool 1 booleano true o false wchar_t 2 E stato progettato per rappresentare un set di caratteri internazionali a 2 byte. Non è supportato da tutti i compilatori wide characters C++ - Tipi e dichiarazioni 9

Booleani (1) Una variabile booleana può assumere i valori true e false Un booleano è usato per esprimere il risultato di una operazione logica, ad esempio: void f(int a, int b) { bool b1 = a==b; // == equivalenza } C++ - Tipi e dichiarazioni 10

Booleani (2) Conversione bool -> intero true = 1, false = 0 Conversione intero -> bool: Interi diversi da 0 = true Interi uguale a 0 = false C++ - Tipi e dichiarazioni 11

Caratteri L insieme dei caratteri è definito per esempio dai caratteri ASCII Prescinde dalla rappresentazione interna. Char c = a ; Costante di tipo carattere C++ - Tipi e dichiarazioni 12

Escape codes \n newline \r carriage return \t tabulation \v vertical tabulation \b backspace \f page feed \a alert (beep) \' single quotes (') \" double quotes (") \ question (?) \\ inverted slash (\) C++ - Tipi e dichiarazioni 13

I tipi fondamentali: interi Sia char che int possono essere definiti in funzione del segno ( puro, signed, unsigned) Gli interi possono essere definiti anche in funzione della lunghezza (short int, int, long int) int x; short xcorto; long interolungo; C++ - Tipi e dichiarazioni 14

I tipi fondamentali: void Non esistono oggetti di tipo void, si usa per specificare che una funzione non restituisce valori oppure per indicare che un puntatore è di un tipo non specificato. void x; // ERRORE void f(); // la funzione f non restituisce alcun valore void* pv; // puntatore ad oggetto di tipo sconosciuto C++ - Tipi e dichiarazioni 15

Enumerati Tipo che può contenere un insieme di valori specificati dall utente: enum settimana { lunedì, martedì, mercoledì, giovedì, Venerdì, sabato, domenica}; C++ - Tipi e dichiarazioni 16

Dichiarazioni Perché un identificatore possa essere usato in un programma C++ deve essere precedentemente dichiarato: char ch; string s; int count = 1; const double pi = 3.1415926; char* name = Alessandra ; C++ - Tipi e dichiarazioni 17

Struttura della dichiarazione Una dichiarazione è costituita da: specificatore tipobase dichiaratore inizializzatore (Per una maggiore precisione consultare la sintassi) Ad esempio: char ch; string s; static int count = 1; const double pi = 3.1415926; char* name = Alessandra ; C++ - Tipi e dichiarazioni 18

Gli identificatori Gli identificatori consistono in una sequenza di lettere e cifre, il primo carattere deve essere una lettera. Il carattere _ può essere usato Gli identificatori non possono essere uguali le parole chiave del C++ Si distingue fra maiuscolo e minuscolo C++ - Tipi e dichiarazioni 19

Regole di visibilità (scope) int x; int main() { // compound statement x = 25; { int y = x; int x; x = 1; y = x; { int x; x = 2; } x = 3; } x = 33; } C++ - Tipi e dichiarazioni 20

sizeof Le dimensioni delle variabili in memoria dipendono dall implementazione Problema della portabilità C++ - Tipi e dichiarazioni 21

Inizializzazione Inizializzazione automatica a 0 per variabili con scope globale o all interno di un namespace Valore iniziale no definito per variabili locali e oggetti allocati nella memoria libera Array inizializzati solo se statici C++ - Tipi e dichiarazioni 22

lvalue Left value, ovvero espressioni alla sinistra di una assegnamento che identificano una locazione di memoria, ad es: *p[a+10] = 7; C++ - Tipi e dichiarazioni 23

best practices Evitare di usare identificatori che non hanno senso (pippo, x, a ecc ) I nomi delle classi iniziano con lettera maiuscola Tutti gli altri con lettera minuscola Se il nome è composto da più parole, le parole che seguono devono avere l iniziale maiuscola class StudentiPrimoCorso StudentiPrimoCorso giovannirossi; char* myname = Alessandra ; C++ - Tipi e dichiarazioni 24

Esercizi 1. Programma sulla conversione dei caratteri 2. Programma sulla dimensione dei tipi di dati C++ - Tipi e dichiarazioni 25