Sei sulla pagina 1di 10

C++ notes

- scrittura

<< stream insercion operator

>> stream extraction operator

statement = finiscono con ; e sono le istruzioni

// = nota

# = aggiungere libraries

es: #include <iostream>

per indicare una virgola in un numero decimale, si usa il punto ( . )

- int ( intager ):

valore numerico intero.

es: 0, 1, 15, ecc...

- double:

valore numerico decimale

es: 1.2 , 3.5556

- main

deve dare un valore int.

se il valore di main = 0, il programma è stato eseguito senza errori.

dentro la funzione main vanno i codici

es:

int main () {

return 0;
}

- iostream

input output stream, permette di scrivere testo nel terminale o chiedere nel
terminale dei dati.

#include <iostream>

- std

std serve per usare le libraries che abbiamo importato


- cout

Caracter OUT, possiamo scrivere 1 o più dati sullo schermo

es:

std::cout << "hello world";

al posto di "hello world" si può mettere una variabile.

- return 0;
usalo alla fine dentro main per dire al programma che tutto è stato eseguito senza
errori.

un valore diverso da 0 indica che si è verificato un'errore.

-variabili

usati per contenere un valore che può variare

!!! per i nomi delle vaiabili usa nomi che abbiano senso, e evita abbreviazioni.

es:

int nome_variabile = 100;

double nome_variabile = 9.87;

la prima parte definisce che tipo di valore la variabile contiene.

quando una variabile non ha un valore iniziale, il valore sarà un


numero a caso chiamato "garbage"

è consigliato nel caso assegnare il valore 0 alla variabile.

-using namespace std;

per evitare di scrivere std:: prima delle funzioni

- costanti

rende il valore di una variabile sempre costante

es:

const double nome_variabile = 100;

const rende la variable constante

- convenzioni per dare nomi a variabili

snake case ---> nome_variabile

pascal case ---> NomeVariabile

camel case ---> nomeVariabile

hungarian notation ---> iNomeVariabile


- increment / decrement operator

increment:

aumenta il valore di 1

es:

int main () {
int x = 10;

int y = x++;

return 0;
}

x = 11, y = 10

invece:

int main () {
int x = 10;

int y = ++x;

return 0;
}

x = 11, y = 11

nel primo caso, il valore di x verrà aumentato di 1, e y prende il valore iniziale


di x

nel secondo caso y prende il valore finale di x, e quindi entrambi


avranno lo stesso valore

- priorità nelle espressioni

in matematica, e nei linguaggi di programmazioni, le moltiplicazioni


e divisioni hanno precedenza su addizioni e sottrazioni

int x = 1 + 2 * 3

x = 7

i numeri nelle parentesi hanno priorità

int x = ( 1 + 2 ) * 3

x = 9

- modi per dare output

int x = 10;
std::cout << " x = " << x;

output = x = 10

l' ultimo << è lo stesso della virgola in print( x , y ) in python.


- endl

end line, serve essenzialmente per andare a capo

es:

int x = 10;
int y = 15;

std::cout << "x = " << x;


std::cout << "y = " << y;

output :

x = 10y = 15 <--- fa un pò schifo

invece:

int x = 10;
int y = 15;

std::cout << "x = " << x << std::endl;


std::cout << "y = " << y;

output :

x = 10
y = 15

possiamo anche rendere il codice più corto con:

std::cout << "x = " << x << std::endl


<< "y = " << y;
- cin

Caracter IN, serve per prendere dati dalla console

es:

cout << "valore: ";


double valore;
cin >> valore;
cout << valore;

output:

valore: <--- inseriamo un valore di 10 dalla console


10

con più valori:

cout << "valori di x e y: "


double x;
double y;
cin >> x >> y;
cout << x + y;

output:
valori x e y: <--- inseriamo 10 20 ( lo spazio separa i numeri )
30

- libraries

per sapere cosa fanno le varie librerie basta cercare su internet:


"nome libreria" reference

quando una funzione chiede 2 o più parametri, essi devono


essere separati da una virgola ( , )

iostream:

permette azioni di input/output

cmath:

varie funzioni matematiche

cstdlib:

permette di usare funzioni per creare numeri casuali

ctime:

la funzione time conta i secondi passati dal 1 gennaio 1970

- commenti

si può usare // all'inizio della linea

es:

// boh

per avere commenti su più linee, si può usare:

/*
* boh
*/

- tipi di dati

interi

type bytes range

short 2 - 32768 to 32767

int 4 -2B to 2B

long // //

long long 8 big big numbers

decimali
type bytes range

float 4 -3.4e38 to 3.4e38

double 8 -1.7e308 to 1.7e308

long double 8 -3.4e932 to 1.7e4832

booleani

type bytes range

bool 1 true/false

char 1

char contiene 1 carattere

- inizializare variabili

float:

float x = 100F;

long

long x = 100L;

char

char x = "a";

bool

bool x = true;
oppure
= false;

si può usare un altro metodo per scrivere variabili:

int x {2}

pro di questo metodo:

se mettiamo un valore decimale in un int, il programma non verrà avviato.

se scriviamo:

int x {}

è l'equivalente di int x = 0
utile per evitare numeri spazzatura.

- auto

auto si usa per indicare una variabile


auto x = true <--- x verrà visto come bool

auto x = "a" <--- x verrà visto come char

auto x = 2000L <--- x verrà visto come long

auto x = 20F <--- x verrà vistp come float

auto x = 20 <--- x verrà visto come int

auto x = 2.5 <--- x verrà visto come double

- sistemi numerici

system base digits example

decimal 10 0 - 9 255

binary 2 0 , 1 111111

hexadecimal 16 0 - 9, A - F FF

- numeri casuali

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
srand (time (0) );
int number = rand () % 10; <--- % 10 = da 1 a 9
cout << number;
return 0;
}

formula per numeri random

[ rand() % ( valoreMassimo - valoreMinimo + 1 ] + valoreMinimo

- namespaces

permettono di nominare più variabili con lo stesso nome

es:

namespace primo {
short x = 2;
}

namespace secondo {
short x = 1;
}

main () {
short x = 0;
std::cout << "x = "<< primo::x << endl;

std::cout << "x = "<< secondo::x << endl;

std::cout << "x = "<< x;

return 0;
}

output

x = 2
x = 1
x = 0

es 2:

namespace primo {
short x = 2;
}

main () {

using namespace primo;

short x = 0;

std::cout << "x = "<< x;

return 0;
}

output

x = 2

per non scrivere 200 volte std:: , possiamo usare:

1) using namespace std;

!!! potrebbe causare problemi

2) using std::cout;

usando questo metodo, per usare la funzione cout, ci basta


scrivere cout.

va fatto per ogni funzione ma è più sicuro.

- conversione di type

implicito = automatico
esplicito = precede il valore con, per esempio, ( int )

implicito:
int x = 3.14;

std::cout << x;

output:

esplicito:

double x = ( int ) 3.14;

std::cout x;

output

- if statement

se un dato rientra in un certo criterio, allora ... , sennò ....

struttura:

if ( dato == altro_Dato ) {

comparatori

< minore

> maggiore

== uguale <--- con 2 uguali

<= minore o uguale

>= maggiore o uguale

!= non uguale

else:

possiamo anche aggiungere else:

if ( dato == altro_Dato ) {

}
else {

else if:

if ( dato == altro_Dato ) {

}
else if ( dato < 100 ) {
}
else {

else if serve per:

se il primo if è False, controlla se quel dato rientra nel


else if.

switch:

switch serve per confrontare un dato con tanti altri dati.


per evitare un sacco di else if.

switch(dato){
case 1
std::cout << " il numero è 1 "
break;
case 2
std::cout << " il numero è 2 "
break;
case 3
std::cout << " il numero è 3 "
break;
default
std::cout << "metti un numero !!! "
}

case determina il valore che deve essere


break finisce i codici da eseguire

default serve se il dato non rientra in nessun caso

Potrebbero piacerti anche