Estratto del documento

C++ - tipi di dato, operatori aritmetici, espressioni

Struttura di un programma -> è costituito di funzioni

int main()

Blocco di istruzioni

return 0;

main è la più importante perché esegue tutto, anche le altre funzioni che lo invoca

  • Ha un nome: Main
  • Ha dei parametri input nessuno() è vuoto
  • Tipo di ritorno: return 0 cioè dà un risultato intero e questo sarebbe int

Se dà 0 allora tutto ok sennò c'è un problema

int è un tipo di dato

  • Corpo

blocco: sequenza di istruzioni chiusi tra { }, possono essere annidati

  • Commenti: in C/C++ si scrive tra due limitatori /* ... */

C++ // commento su una riga

Ogni volta che vai a capo ti sposti a destra ma per una questione per capire meglio. Puoi scrivere anche su una riga

Tipi

Tipi base:

  • Interi con segno + - int insieme Z
  • Booleani bool insieme {true, false}
  • Carattere char 'a,b,c, ,;,:,*' bisogna mettere l'apice ('')
  • Numeri con la virgola float, double
  • Puntatori
  • Stringhe sequenze di caratteri

Per rappresentare le stringhe dei tipi servono i bit

  • 1 bit
  • n bit 2m
  • 1 bit 0/1
  • 2 bit 00/01/10/11
  • 3 bit 8
  • 4 bit 16

così:

Per rappresentare un booleano (vero, falso) serve un bit

C++ - tipi di dato, operatori aritmetici, espressioni

Struttura di un programma -> è costituito di funzioni

int main()

Blocco di istruzioni

{......

return 0;

}

main è la più importante perché esegue tutto, anche le altre funzioni che li invoca

  • Ha un nome: Main
  • Ha dei parametri: input nessuno() è vuoto
  • Tipo di ritorno: return 0 cioè dà un risultato intero e questo sarebbe int

Se dà 0 allora tutto ok sennò c'è un problema

int è un tipo di dato

  • Corpo

blocco: sequenza di istruzioni chiusi tra { }, possono essere annidati

  • Commenti: in C/C++ si scrive tra due limitatori /* ... */

C++ // commento su una riga

  • Ogni volta che vai a capo ti sposti a destra ma per una questione per capire meglio. Puoi scrivere anche su una riga
  • Tipi.

Tipi base:

  • Interi con segno +- int insieme Z
  • Booleani bool insieme {true, false}
  • Caratteri char 'a, b, c, ;, :, ?, * bisogna mettere l'apice (')
  • Numeri con la virgola float, double
  • Puntatori
  • Stringhe sequenze di caratteri "..."

Per rappresentare le stringhe dei tipi servono i bit

  • 1 bit 0/1
  • 2 bit 00/01/10/11
  • 3 bit 8
  • 4 bit 16
  • ... così:

Per rappresentare un booleano (vero, falso) serve un bit

Operazioni su booleani

== uguaglianza a==b

vale vero se A e B hanno stesso valore

vale falso se A e B non hanno stesso valore

! (not) !b

vale vero se B è falso

Falso se B è vero

&& (and) a&&b vero se e solo se sia a che b sono veri

|| (or) a||b vera se almeno uno tra a e b è vero

!= diverso a!=b vera se e solo se a!=b

Variabile

Dichiarazione di variabile dice al programma che:

  • Da ora in poi esiste una variabile di un certo tipo con un certo nome

es. int i

float soldi che ho in tasca identificatori

tipi

Nella memoria si crea scatole

32bit i

float soldi che ho in tasca

32bit

Dichiarazione con indicazione

es. int i =10; // da qui in poi esiste una vari di tipo intero che si chiama i e il cui valore iniziale è 10

Istruzioni

Assegnazione

Assegnazione

costituita da 3 elementi

<variabile> = <espressione>; // specifica di sintassi

es u = 17;

Semantica: si valuta l'espressione

il risultato viene assegnato alla variabile

es.

int main(){ int u, j, ris;

i = 10; j = 45;

ris = j/i;

return 0;}

int 10

int 45

int 4 ris

Output con cout

cout serve per mostrare una parola o un numero

es. cout << ... << ... << ...;

cout << 3 << ' ' << 5 << '\n';

cout << "a, " << u << endl;

Costanti

Costanti

se un dato non deve cambiare nel corso del programma

Si mette const nomeTipo identificatore = valore;

es. const string NAME = "Andrea";

i nomi degli identificatori si scrivono con la maiuscola

Variabili

Variabili

Può cambiare durante il programma

int alpha;

float rate;

int uu variabile

u = 10

Operazioni di input/output

  • Lettura dei dati: standard input
  • Stampare valori di output

Per usarli serve una libreria:

#include <iostream>

Esistono due tipi di comunicazione:

  • Output cout → cout << "ciao mondo!" << endl;
  • Input cin → cout << "ciao mondo!" << endl;

endl: identificatore che indica il fine

Scelte condizionali

Scelte condizionali

if (...)

se ... allora ...

if (...)

else

switch (...) { }

di solito si usa per fare menu

#include <iostream>

#include <string>

using namespace std;

int main() {

char a, b;

cout << "Inserisci a" << endl;

cin >> a;

cout << "Inserisci b" << endl;

cin >> b;

if (a == b)

cout << "Uguali" << endl;

else

cout << "Diversi" << endl;

return 0;}

Sort, ordinamento di sequenze

  • Sort
  • Ricerca: ricerca un elemento e ti dice dove sia
  • Inserimento di un elemento: se il mio array è pieno fino ad un certo punto e voglio inserire un mezzo, devo spostare gli elementi a destra e ci sarà uno spazio vuoto
  • Eliminazione di un elemento in mezzo

Sort

A [2 17 8 4 92 1 -7 18 14 82 -21 0]

1. ordino a due a due fino a quando sono ordinati

2|2|4|8|5|-1|-7|11|9|44|82|-21|9|23|1

questo è apposto

ripeto l'ordine a due a due

ma fermandomi suo prima

così poi il penultimo è apposto.

Questo lo fai fino al 2o perché così anche il primo è apposto

Swap

Swap:

trovo il valore minore (-24)

e poi uso temporanea (temp)

temp = a      a=2

a = b

b = temp

in array

temp = A[i]

A[i] = A[j]

A[j] = temp

Stringhe

Concatenare

Stringhe

Concatenare

string nome = "Mario"

string cognome = "Rossi"

string Completo = nome + cognome

cout << nomeCompleto

Così uscirebbe MarioRossi attaccato

allora:

string Completo = nome + " " + cognome

Lunghezza di una stringa

Quanti caratteri ha una stringa?

string var = "sasso";

cout << "La stringa ha una lunghezza di :" << var.size();

Output: la stringa ha una lunghezza di 5

Accedere ad un solo carattere

Accedere ad un solo carattere

string saluto = "ciao"

cout << saluto[0];

Output = C

questo mostra il 1o carattere

In input

In input

string nome;

cout << "Inserisci il tuo nome:";

getline(cin, nome);

cout << "Il tuo nome è:" << nome;

getline serve per far scrivere due parole e non mettere il cin, scrivere 2 parole perché?

Se non ci fosse il separatore spazio tra Andrea e Fresi non capirebbe

Type casting

Type casting

static_cast<tipo>(variabile)

serve per convertire da un tipo all'altro:

  • Se metto:

int x = 65

static_cast<char>(x)

allora a schermo uscirà "A" perché preleva la tabella ASCII

oppure da stringa a:

  • Intero: stoi cioè string to int:

string x = "65"

cout << stoi(x)

allora a schermo ci sarà 65 come numero

Da stringa a double e mi fa vedere le virgole:

string x = "65"

cout << fixed << stod(x) + 5

a schermo ci sarà 70.00000

Fixed serve per mostrare le cifre dopo la virgola anche se sono zeri

stod string to double

+5 per far vedere che si può mettere un operatore"

Output il nome di tipo di dato

int x = 65

float y = 3.99

cout << typeid(y).name()

a schermo uscirà:

Anteprima
Vedrai una selezione di 3 pagine su 8
C++ Pag. 1 C++ Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
C++ Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher andreaafa di informazioni apprese con la frequenza delle lezioni di Introduzione alla programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Genova o del prof Serra Enrico.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community