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

Documenti analoghi
Struttura di un programma C++

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

Grammatica di base. Si chiama: main Non prende nessun argomento Non fa niente Ritorna un intero al sistema

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)

Variabili e Funzioni. Informatica 1 / 19

Laboratorio di Informatica I

Sintassi: FORTRAN vs C/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

Il main program. int main() { // il piu` semplice programma in C++ return 0; }

Introduzione al linguaggio C Primi programmi

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

Dati due punti sul piano calcolare la loro distanza

Primi programmi in C

Alfabeto ed elementi lessicali del linguaggio C

Variabili e Costanti

Struttura dei programmi e Variabili

Linguaggi di programmazione

Fondamenti di C++ Input/Output di base

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

Programmazione ad Oggetti. Java Parte II

Corso di Fondamenti di Informatica

Introduzione alla programmazione. Alice Pavarani

# $ %$&'" '! () *$+,!-

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

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate

Fondamenti di Informatica

Laboratorio di Informatica I

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

Introduzione a Java. Riferimenti

1

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

Dichiarazioni e tipi predefiniti nel linguaggio C

Laboratorio di informatica Ingegneria meccanica

Lezione 5: Introduzione alla programmazione in C

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

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

Struttura di un linguaggio

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

Fondamenti di Informatica

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

L AMBIENTE CODE BLOCKS E L IO

I Fondamenti del Linguaggio

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Introduzione al Linguaggio C

Qualsiasi programma in C++ segue lo schema:

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.

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

Linguaggio C: lezione 1 Di Andrea Barbieri Lezione e video tutorial

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Fondamenti di Informatica

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

Tipi di dato semplici

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

Sovrapposizione di Funzioni

Introduzione al C++ Parte 2

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

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

ciclo di vita della soluzione (informatica) di un problema

Introduzione alla programmazione in linguaggio C

Linguaggi di Programmazione I Lezione 8

Il linguaggio C. Caratteristiche generali

Informatica Applicata

Linguaggio C++ Linguaggi di terza generazione

Costanti e Variabili

Linguaggio C Variabili e tipi di dato

Esercizi Programmazione I

Il linguaggio C Variabili e tipi di dato primitivi

Struttura dei programmi C

Capitolo 2 Introduzione alla programmazione in C

PROGRAMMA = ALGORITMO

Laboratorio di Informatica

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Introduzione alla programmazione in C++

Tipi di dato semplici

Primi passi col linguaggio C

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

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

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

Programmazione C Massimo Callisto De Donato

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

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

Corso di Laboratorio di programmazione e calcolo

Ingegneria Elettronica Ingegneria delle Telecomunicazioni (J-Z) Ing. Antonio Monteleone A.A. 2001/02 3 ciclo

Negli ultimi anni il C++ ha ottenuto un notevole successo per diversi motivi:

Il linguaggio C. Istruzioni, funzioni, dati strutturati

Transcript:

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