Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni30 pagine

Guida C--

Il documento fornisce una guida introduttiva al linguaggio di programmazione C++, evidenziando le differenze rispetto al C, come la programmazione orientata agli oggetti e la gestione delle eccezioni. Viene presentata la sintassi di base del C++, inclusi esempi di utilizzo di cout e cin per l'output e l'input, nonché la dichiarazione di variabili e commenti. Infine, il documento discute i tipi di dati, operatori e stringhe, fornendo esempi pratici per illustrare ciascun concetto.

Caricato da

ipintea101
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni30 pagine

Guida C--

Il documento fornisce una guida introduttiva al linguaggio di programmazione C++, evidenziando le differenze rispetto al C, come la programmazione orientata agli oggetti e la gestione delle eccezioni. Viene presentata la sintassi di base del C++, inclusi esempi di utilizzo di cout e cin per l'output e l'input, nonché la dichiarazione di variabili e commenti. Infine, il documento discute i tipi di dati, operatori e stringhe, fornendo esempi pratici per illustrare ciascun concetto.

Caricato da

ipintea101
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Guida C++

Per la scrittura dei programmi, la compilazione e il debugger è possibile


utilizzare il seguente programma online:

[Link]

C contro C++

Il C++ è stato sviluppato da Bjarne Stroustrup presso i Bell Labs nel 1979 come estensione del linguaggio
C.

La principale differenza tra C e C++ è che il C è un linguaggio di programmazione procedurale, il che


significa che deriva dalla programmazione sequenziale strutturata passo dopo passo. Alcune delle sue
applicazioni includono la pianificazione dell'esecuzione di altri programmi, la progettazione di giochi, la
grafica, ecc.

D'altra parte, il C++ è una combinazione di programmazione procedurale e programmazione orientata agli
oggetti. Gli oggetti sono costituiti da dati, rappresentati nelle loro caratteristiche, e codificati sotto forma di
metodi. Nella programmazione orientata agli oggetti, i programmi per computer sono progettati utilizzando il
concetto di oggetti che interagiscono con il mondo reale.

Altre differenze includono:​ ​ ​ ​ ​ ​ ​

C C++
Poiché il C è un linguaggio di C++ è un linguaggio basato sugli oggetti.
programmazione procedurale, è un
linguaggio guidato dalle funzioni.

In C, le funzioni non possono essere In C++, le funzioni possono essere


definite all'interno delle strutture utilizzate all'interno di una struttura.

Il linguaggio C utilizza funzioni per Il C++ utilizza oggetti per l'input e


l'input/output, ad esempio scanf e printf. l'output. Ad esempio cin e cout.

Il C non fornisce supporto diretto per la Il C++ supporta la gestione delle


gestione degli errori (chiamata anche eccezioni. Utilizzato per gli errori che
gestione delle eccezioni) rendono il codice non corretto.

1
Il C non supporta le variabili di C++ supporta le variabili di riferimento.
riferimento.

Sintassi C++
Il seguente codice è scritto in C++
Esamineremo in dettaglio ogni elemento del codice seguente per comprendere la sintassi
del C++

#include <iostream>
using namespace std;

int main()
{
cout << "Ciao mondo." ;
return 0 ;
}

#include <iostream>: Questa è una libreria di file di intestazione. <iostream> sta per
flusso di input-output standard. Permette di includere oggetti come cin e cout, ecc.

using namespace std: significa che i nomi per oggetti e variabili possono essere
utilizzati dalla libreria standard. Viene anche utilizzato come informazione aggiuntiva per
differenziare funzioni simili.

int main(): la funzione main viene chiamata esattamente come in C. Verrà eseguito tutto
il codice racchiuso tra parentesi graffe {}.

cout: è un oggetto utilizzato per stampare un testo specifico dopo << tra virgolette. Nel
nostro esempio, visualizzerà "Hello World". (Per comodità, possiamo dire che è simile a
printf in C)

return 0 : Termina la funzione main

Nota:
1) Ogni istruzione C++ termina con un punto e virgola ';'

2
2) Il compilatore ignora gli spazi vuoti. Vengono utilizzati più spazi di riga per rendere il
codice più leggibile.

Output (Stampa testo)

Utilizzo dell'oggetto cout


Come discusso in precedenza, l'oggetto cout, insieme all'operatore <<, viene utilizzato
per generare valori/stampare testo.

Puoi aggiungere tutti gli oggetti cout che desideri. Tuttavia, tieni presente che non verrà
inserita una nuova riga alla fine di ogni oggetto: tutti gli oggetti verranno stampati su
un'unica riga.

Esempio:

#include <iostream>
using namespace std;

int main() {
cout << "Codice demo."; cout << "Sto imparando C++."; cout << "Stampa testo.";
​ return 0;
}

Produzione:
Codice demo. Sto imparando il C++. Stampa il testo.

Nuove linee

Per inserire una nuova riga dopo ogni dichiarazione di oggetto si usa \n . Un altro modo
per farlo è usare il manipolatore endl

3
#include <iostream>
using namespace std;
int main() {
cout << "Codice demo.\n";
cout << "Sto imparando" <<endl;
cout << "a stampare il testo in C++.";

return 0;
}

Output:
Codice demo.
Sto imparando
a stampare il testo in C++.

Nota: \n è il metodo preferito per interrompere le righe.

Input dell'utente
Come già discusso in precedenza, cin viene utilizzato per ottenere l'input dell'utente.
Questo viene abbinato all'operatore di estrazione (>>).

L'esempio seguente legge un valore dall'utente e lo stampa sullo schermo.


Esempio:

#include <iostream>
using namespace std;

int main()
{
int num;
cout << "Digita un numero: "; // visualizzato sullo schermo
cin >> num; //valore preso dall'utente

4
cout << "Il tuo numero è: " << num; // numero visualizzato sullo schermo

return 0;
}

Commenti

I commenti vengono utilizzati dal programmatore per rendere il codice comprensibile, in


modo da poterlo modificare in seguito e renderlo più leggibile. Possono anche essere
utilizzati per impedirne l'esecuzione durante il test di codice alternativo.

Esistono due modi per scrivere i commenti: su una sola riga o su più righe.

Commenti su una sola riga

I commenti su una sola riga iniziano con due barre (//). In questo modo viene
commentata l'intera riga successiva alle due barre.

Esempio:

#include <iostream>
using namespace std;

int main() {

// Questo è un commento e non verrà eseguito

cout << "Codice demo";

return 0;

Output:

5
Codice demo

Commenti su più righe

I commenti su più righe iniziano con /* e terminano con */

Il testo tra questi due non verrà eseguito dal compilatore. Pertanto, i commenti possono
essere scritti su più righe.

Esempio:

#include <iostream>
using namespace std;

int main() {

/*Questo è un commento su più righe

non verrà eseguito */

cout << "Codice demo";

return 0;
}

Output:

Codice demo

6
Variabili
Proprio come in C, esistono diversi tipi di variabili definite con parole chiave specifiche.
Le variabili sono definite come " un elemento di dati che può assumere più di un valore
durante l'esecuzione di un programma". La variabile deve essere di un tipo di dato
specificato.

int e long: memorizza tutti i tipi di numeri interi, ad esempio 12, 873
float e double: memorizza numeri in virgola mobile che sono decimali, ad esempio 12.3,
16.1 (il punto indica la virgola)​
char: memorizza singole lettere, oppure possiamo dire caratteri di una stringa, ad
esempio 'G', 'g'
string: una raccolta di caratteri forma una stringa. Questi sono scritti tra virgolette
doppie, ad esempio "Codice demo".​
bool: i valori memorizzati sono true o false. Abbreviazione di "Booleano".

Come dichiarare una variabile?


Proprio come in C, dobbiamo specificare il tipo di dato seguito dalla variabile e
associarlo al suo valore. Tuttavia, assegnare un valore alla variabile non è necessario.
Sintassi:
tipo variabile = valore ;

Esempio:
double num=5;

Nota: il valore della variabile può essere sovrascritto dichiarando nuovamente la


variabile in un secondo momento nel codice. Per rendere fisso il valore della variabile ed
evitare la possibilità di sovrascrittura, si utilizza la parola chiave const.

const int num=5; // num sarà sempre 5 e il suo valore non cambierà. Se viene sovrascritto
in seguito nel codice, verrà visualizzato un errore.

Identificatori C++
Gli identificatori sono i nomi di funzioni, variabili, strutture ecc. (gli elementi che
definiamo) utilizzati per identificarli.

7
Tutti gli identificatori C++ devono essere identificati con nomi univoci.
Esempi includono x, y, nonché eta, num ecc.

Nota: si consiglia di utilizzare identificatori informativi come num, eta per aumentare la
leggibilità del codice.
Regole per la costruzione dei nomi degli identificatori:
1) Può essere composto da lettere, cifre e caratteri di sottolineatura (underscore)
2) Deve iniziare con una lettera o un trattino basso (underscore)
3) Questi sono sensibili alle maiuscole e alle minuscole
4) Non sono consentiti spazi vuoti o caratteri speciali come !, #, %, ecc.
5) Le parole riservate come int o cout non possono essere utilizzate come nomi

8
Tipi di dati
Abbiamo già introdotto i tipi di dati nella sezione sulle variabili.
Ecco un esempio di codice con tutti i tipi di dati utilizzati.

#include <iostream>
#include <stringa>

using namespace std;

int main () {

// Creazione di variabili
int _Num = 5; // Intero
float _Float = 5.99; // Numero in virgola mobile
double _Double = 9.98; // Numero in virgola mobile
char _Char= 'G'; // Carattere
bool _Bool = true; // Booleano
string _String = "Ciao"; // Stringa

// Stampa i valori delle variabili


cout << "int: " << _Num << "\n";
cout << "float: " << _Float << "\n";
cout << "double: " << _Double<< "\n";
cout << "char: " << _Letter << "\n";
cout << "bool: " << _Bool << "\n";
cout << "string: " << _String << "\n";

return 0;
}

Spazio occupato da ciascun tipo di dati​



Int - 4 byte = 32 bit 2^32=4294967296 i valori vanno da ​
-2^31= - 2147483648 a +2^31-1=2147483647

9
se volessimo numeri solo positivi bisognerebbe aggiungere davanti a
int la parola unsigned, in questo caso i numeri andrebbero da 0 a
4294967295

Float - 4 byte
Double - 8 byte
Char - 1 byte
Bool – 1 byte

Nota: poiché una stringa è una raccolta di caratteri, occupa lo spazio equivalente
alla somma dello spazio occupato da ciascun carattere nella stringa.

Qual è la differenza tra float e double?

Entrambe differiscono per dimensione. Float occupa 4 byte, mentre Double ne


occupa 8. Questo implica che differiscono anche nella precisione offerta. La
precisione di Float è di sole sei cifre decimali, mentre le variabili Double hanno
una precisione di circa 15 cifre. Pertanto, è più sicuro utilizzare Double, a meno
che non si sia preoccupati della quantità di memoria occupata.

10
Operatori
In C++ gli operatori vengono utilizzati per eseguire operazioni desiderate su valori o
variabili particolari.

Gli operatori C++ sono classificati nelle seguenti categorie:

●​ Operatori aritmetici
●​ Operatori di assegnazione
●​ Operatori relazionali
●​ Operatori logici
●​ Operatori bit a bit

L' ordine di priorità dato a questi operatori è:


Assegnazione > Aritmetica > Relazionale > Logica > Bitwise​

Operatori aritmetici:

Operatore Nome Descrizione Esempio


+ Addizione Aggiunge due valori x+y
- Sottrazione Sottrae un valore da un altro x-y
* Moltiplicazione Moltiplica due valori x*y
/ Divisione Divide un valore da un altro x/y
% Modulo Restituisce il resto della x%y
divisione
++ Incremento Aumenta il valore di una ++x oppure x++
variabile di 1
-- Decremento Diminuisce il valore di una --x oppure x--
variabile di 1
^ Potenza Eleva a potenza un numero x^2

11
Operatori di assegnamento
Vengono utilizzate per assegnare valori alle variabili. Spesso le proprietà abbreviate
vengono utilizzate per semplificare il codice.

Operatore Breve Esempio Lo stesso di

= x=5 x=5
+= x += 3 x=x+3
-= x-=3 x=x-3
*= x *= 3 x=x*3
/= x /= 3 x=x/3
%= x %= 3 x=x%3
^= x ^= 3 x=x^3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

Operatori relazionali
Questi vengono utilizzati per confrontare i valori. Restituiscono valori come vero (1) o
falso (0)

Operatore Nome Descrizione Esempio


== Comparazione Restituisce 1 se il risultato del x==19
confronto è vero
&& E logico Restituisce 1 solo se entrambe le x==5 && x < 10
affermazioni sono vere
|| OR logico Restituisce 1 se una qualsiasi x < 5 || x < 8
delle affermazioni è vera

12
! NON logico Inverte il risultato dato. L'output !(x < 5 e x < 10)
è 1 per falso e 0 per vero.

Operatore bit a bit


Passaggi per eseguire un'operazione bit a bit
1.​ Convertire i numeri in binario
2.​ Eseguire l'operazione
3.​ Converti la risposta in decimale

Operatore Nome Descrizione Esempio


& AND bit a bit Esegue AND in binario 5&7=5​
(101&111=101)
| OR bit a bit Eseguire OR in binario 5|7=7​
(101|111=111)
^ XOR bit a bit Esegue XOR in binario 5^7=2​
(101^111=010)
<< Spostamento a Sposta un bit a sinistra 6<<1=12​
sinistra (110<<1=1100)
>> Spostamento a Sposta un bit a destra 6>>1=3​
destra (110>>1=11)

Nota: (scorciatoia per spostamento a sinistra e a destra)


Per lo spostamento a sinistra moltiplicare il numero per 2, per lo spostamento a destra
dividere il numero per 2

13
Stringhe
Le stringhe sono un insieme di caratteri uniti tra loro. Sono definite tra virgolette doppie.
Per includere stringhe in C++ è necessario dichiarare un file di intestazione aggiuntivo
<string>.

Sintassi:

string nome_della_stringa= "testo"

Esempio:

#include <iostream>
#include <string>

using namespace std;

int main()
{
string str1 = "ciao";
cout << str1;
return 0;
}

Output:
ciao

Nota: una stringa in C++ è in realtà un oggetto che contiene funzioni in grado di eseguire
determinate operazioni sulle stringhe.

Lunghezza della stringa


La lunghezza di una stringa si trova usando la funzione length()

Esempio:

#include <iostream>

14
#include <string>

using namespace std;

int main()
{
string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cout << "La lunghezza della stringa di testo è: " << [Link]();
return 0;
}

Accedere ai caratteri di una stringa

Sappiamo che una stringa è un array di caratteri. Pertanto, è possibile accedere a un


particolare carattere di una stringa tramite il numero di indice racchiuso tra parentesi
quadre [ ]. Queste indicano la posizione del carattere.

Esempio:

#include <iostream>
#include <string>

using namespace std;

int main() {
string my_String = "Ciao";
cout << my_String[2];
return 0;
}

Output: a //corrisponde al terzo elemento della stringa

15
Modifica i caratteri della stringa

I numeri di indice all'interno delle parentesi quadre possono essere utilizzati per
modificare il carattere della stringa.

Esempio

#include <iostream>
#include <string>

using namespace std;

int main()
{
​ string myString = "Food";
​ myString[0] = 'G';
cout << myString;
return 0;
}

Output: Good //F è stato sostituito con G

Inserisci una stringa da un utente

Esempio:
string firstName;
cout << "Digita il tuo nome: ";
cin >>firstName; //Scansione di una stringa
cout <<"Il tuo nome è<<firstName;

Output:​

Ad esempio, alla richiesta “Digita il tuo nome: “ , digitando Mario, si avrà come output:

16
Il tuo nome è Mario

Nota: la funzione cin leggerà solo una parola e non più parole. Pertanto, verrà
visualizzata solo la prima parola.

Concatenazione di stringhe
L'operatore '+' viene utilizzato per sommare stringhe.

Esempio:

#include <iostream>
#include <string>

using namespace std;

int main ()
{
string firstName = "Mario";
string lastName = "Rossi";
string fullName = firstName + " " + lastName;
cout << fullName;
return 0;
}

Output:
Mario Rossi

17
Matematica e booleani

Trova il massimo e il minimo di due numeri


Per trovare rispettivamente i valori più alto e più basso di x e y è possibile
utilizzare max(x,y) e min(x,y).

Esempi:

Per max(x,y)

#include <iostream>
using namespace std;

int main()
{
cout << max(2, 8);
return 0;
}

Output:
8

Esempio:

Per min(x,y)

#include <iostream>
using namespace std;

int main()
{

18
cout << min(3, 7);
return 0;
}

Output:
3

Nota: per introdurre altre funzioni matematiche dobbiamo includere il file di


intestazione <cmath>

sqrt() : trova la radice quadrata di un numero


round() : arrotonda un numero
log() : trova il logaritmo del numero.

Esempio:

#include <iostream>
#include <cmath>

using namespace std;

int main() {
cout << sqrt(16) << "\n";
cout << round(4.2) << "\n";
cout << log(2) << "\n";
return 0;
}

Output:
4

19
4
0,69

Altre funzioni importanti incluse sono sin() , cos() , tan() , exp() , pow() e molte
altre, tra cui la maggior parte delle funzioni trigonometriche.

Espressioni booleane:

Questi valori sono sì o no, acceso o spento, vero o falso.


Come accennato in precedenza, il tipo di dati Bool fornisce questi valori.

#include <iostream>

using namespace std;

int main() {

bool theSunIsHot = true;


bool everyoneLikesmonkeys = false;
cout << theSunIsHot << "\n";
cout << everyoneLikesmonkeys;
return 0;
}

Output :
1
0

20
If… Else

Le parole chiave dell'istruzione condizionale:

Utilizzo If per eseguire il blocco di codice se la condizione è vera

Utilizzo else per eseguire il blocco di codice, se la stessa condizione è falsa

Utilizzo else if per eseguire una nuova condizione per testare se la condizione precedente
è falsa

Quali possono essere le diverse condizioni?

Meno di: a<b

Minore o uguale a: a<=b

Maggiore di: a>b

Maggiore o uguale a: a>=b

Uguale a a==b

Non uguale a: a!=b

Di seguito è riportato un esempio if.. else

Esempio:

#include <iostream>
using namespace std;

21
int main()
{
int eta = 18;
if (eta > 18)
{
cout << "Diritto al voto";
}
else
{
cout << "Non idoneo";
}
return 0;
}

Quello che segue è un esempio else if..

Esempio:

#include <iostream>

using namespace std;

int main()
{
int età = 18;
if (età < 18)
{
cout << "Troppo giovane.";

22
}
else if (età > 81)
{
cout << "Troppo vecchio.";
}
else
{
cout << "Perfetto.";
}
return 0;
}

Operatore ternario:

Se si desidera eseguire una sola condizione/istruzione, è possibile utilizzare l'operatore


condizionale (operatore ternario).

Sintassi
variabile = ( condizione ) ? espressioneVero : espressioneFalso ;

Il lato sinistro dei due punti verrà eseguito se l'istruzione è vera, altrimenti se è falsa verrà
eseguito il lato destro.

Esempio

#include <iostream>
#include <stringa>

using namespace std;

23
int main() {
int età = 20;
stringa risultato = (età < 18) ? "Troppo giovane" : "Diritto al voto";
cout << risultato;
return 0;
}

Output:

Diritto di voto

24
Loop
Esistono tre tipi di cicli: while, do while e for. Questi vengono utilizzati per ripetere un
particolare codice di un blocco più volte finché la condizione non viene soddisfatta.

Ciclo while

sintassi

while ( condizione )
{
//blocco di codice
}

Il ciclo seguente viene eseguito fino a 5, dopo i=6 la condizione del ciclo diventa falsa e
non funziona più.

Esempio:

#include <iostream>

using namespace std;

int main()
{
int i = 0;
while (i < 6) {
cout << i << "\n";
i++;
}

return 0;
}

Output:
0
1
2
3

25
4
5

Il ciclo Do while

Questo ciclo eseguirà il blocco di codice una volta prima di verificare se la condizione è
vera, quindi ripeterà il ciclo per la seconda volta finché la condizione è vera. Quindi la
condizione viene testata dopo l'esecuzione.

Sintassi

do
{
//blocco di codice
} while (condizione);

Esempio

#include <iostream>

using namespace std;

int main()
{
int i = 0;
do {
cout << i << "\n";
i++;
} while (i < 6);

return 0;
}

Output:
0
1
2

26
3
4
5

Ciclo For
Questo è il ciclo più utilizzato

Sintassi

for (Valore iniziale variabile; Condizione; operatore di incremento/decremento)


{
//blocco di codice
}

Esempio:
#include <iostream>

using namespace std;

int main() {
for (int i = 0; i <= 5; i++) {
cout << i << "\n";
}
return 0;
}

Output:
0
1
2
3
4
5

27
Vettori (Array)
Gli array seguono un'allocazione di memoria contigua ( un modello classico di
allocazione della memoria che assegna a un processo blocchi di memoria consecutivi ).
Vengono utilizzati per memorizzare più valori in una singola variabile.

Il valore tra parentesi quadre indica il numero di elementi nell'array.

Modo per definire un array.

Per le stringhe (parole)

string fruits[3] = {"Banana", "Mango", "Mela"};

Per numeri interi

int Num[3] = {10, 56, 12};


Accedere agli elementi di un array

Gli elementi di un array vengono letti facendo riferimento ai numeri di indice.

Esempio:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
string fruits[3] = {"Banana", "Mango", "Apple"};
cout << fruits[0];
return 0;
}

Output:
Banana

28
Modifica un elemento dell'array
Questo viene fatto anche facendo riferimento ai numeri di indice.

Esempio:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
string fruits[3] = {"Banana", "Mango", "Mela"};
fruits[0] = "Arancia";
cout << fruits[0];
return 0;
}

Output:
Arancia

Cicli e array
Gli elementi di un array possono essere iterati.

Esempio:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
string fruits[3] = {"Banana", "Mango", "Apple"};
for(int i = 0; i < 3; i++) {
cout << fruits [i] << "\n";
}
return 0;

29
}

Output:
Banana
Mango
Mela

Nota: la dimensione dell'array non deve essere necessariamente definita all'interno delle
parentesi quadre . Tuttavia, se non viene definita, sarà grande solo quanto gli elementi
che vi vengono inseriti.

Nel codice seguente, 3 rappresenta la dimensione massima dell'array. Tuttavia, se viene


specificata la dimensione, l'array occuperà quello spazio anche se viene lasciato dello
spazio vuoto.

Esempio:
string fruits [] = {"Banana", "Mango", "Mela"} ;

30

Potrebbero piacerti anche