Vai al contenuto

C++: guida introduttiva


Messaggi raccomandati

Introduzione a C e C++

 

 

INDICE

  • COMPILATORE
  • LIBRERIE
  • MAIN
  • VARIABILI
  • INPUT & OUTPUT
  • CONDIZIONI
  • CICLI

 

Scrivo questa breve (molto breve^^) guida per via delle richieste di alcuni di utenti.

Mettiamo subito in chiaro che dopo averla letta non diventerete programmatori (non faccio miracoli^^), ma semplicemente avrete una base su cui partire.

 

Dunque, ho scelto il linguaggio C++ perché è uno dei linguaggi più utilizzati, e sicuramente uno dei più potenti.

E' molto utilizzato anche perché ha una sintassi chiara e semplice, anche se non come, ad esempio, quella del Visual Basic.

Detto questo, iniziamo subito:

 

COMPILATORE

 

Anzitutto abbiamo bisogno di un compilatore.

 

Se usate Windows il compilatore più indicato per partire è il DEV-C++.

Lo potete scaricare gratuitamente da qui: http://www.bloodshed.net/devcpp.html

Ci sono altri buoni compilatori (es. Visual C++, CodeBlock ecc...), ma è meglio partire con qualcosa di più semplice.

 

Se usate Linux e non sapete con cosa compilare... vergognatevi. che l'avete messo a fare?

Comunque potete usare gcc da shell, che dovrebbe essere già* incluso.

Come editor potete usare Gedit (già* incluso anche quello).

 

Per comodità* gli esempi verranno sviluppati per DEV-C++.

 

LIBRERIE

 

Le librerie sono una specie di enciclopedia delle funzioni utilizzabili.

Le funzioni sono sottoprogrammi che possono essere usati solo includendo nel progetto le librerie che li contengono.

Per includere una libreria si usa il comando "include", quindi scriveremo "#include <nome_libreria>" (senza virgolette ovviamente).

In alcuni compilatori è necessario dichiarare anche le varie funzioni che verranno utilizzate. Questo perché spesso le librerie sono molto grandi, e se si vogliono utilizzare poche funzioni di una determinata libreria è meglio includere solo quelle.

Comunque per adesso non ce ne deve importare, quindi nella riga sotto dobbiamo semplicemente scrivere "using namespace std;".

Questo serve ad includere nel nostro progetto tutte le funzioni della libreria richiamata.

 

MAIN

 

Adesso si comincia a programmare.

Il vostro primo programma sarà* un semplice Hello World, ossia un programma di prova che stampa su console "Hello World".

 

Aprite DEV-C++, cliccate su File => Nuovo => Progetto, cliccate su Empty Project e date un nome al vostro progetto. Cliccate OK, selezionate il percorso dove creare il prgetto e cliccate nuovamente OK.

Dopodiché andate su File => Nuovo => File Sorgente e aggiungete il file sorgente al vostro progetto.

 

http://images.nonsologaming.com/immagine1la.png

 

Accanto ad ogni comando ci sarà* un commento a quel comando. I commenti si fanno con il doppio slash, ossia "//". Tutto quello che sta dopo il doppio slash viene semplicemente ignorato in fase di compilazione.

Il doppio slash vale solo fino a fine riga, quindi dalla riga successiva il programma verrà* compilato. Se volete commentare più righe vi basterà* scrivere "/*" all'inizio e "*/" alla fine di quello che volete commentare.

 

Per adesso copiate ed incollate il seguente sorgente nell'interfaccia di DEV-C++:

 

#include <iostream>      //include una delle librerie principali del C++. serve per l'input e l'output.
using namespace std;       //come già* detto, prende tutte le funzioni della suddetta libreria.

int main ()      //Indica che stiamo scrivendo la parte principale (main) del nostro programma.
{          //Indica che il main inizia qui. Le parentesi graffe si possono fare premendo shift+altgr+[ e shift+altgr+].
cout<<"Hello World! \n";      //L'istruzione "cout" significa semplicemente che scriveremo qualcosa su console. cout vuole sempre <<, e se deve essere scritta una determinata cosa quella dovrà* essere inserita nelle doppie virgolette. "\n" significa semplicemente vai a capo. Alla fine di ogni comando deve essere aggiunto un ; per indicare che l'istruzione è finita.
system("PAUSE");       //Dice al programma di lasciare tutto in stand-by prima di uscire. Sarà* l'utente a scegliere di uscire premendo un tasto qualsiasi.
return 0;        //Siccome la funzione main è stata dichiarata int dovrà* restituire un valore. Per ora comunque limitatevi a scriverlo così come è alla fine di ogni programma.
}           //Indica che il main finisce qui.

 

compilate cliccando il tasto http://images.nonsologaming.com/immagine2t.png in alto a destra ed eseguite cliccando il tasto http://images.nonsologaming.com/immagine3wbg.png accanto.

 

il risultato sarà* questo:

 

http://images.nonsologaming.com/immagine4kd.png

 

Dopo aver preso confidenza con l'ambiente vediamo qualcosa di più utile.

 

VARIABILI

 

Le variabili, come è facile intuire, sono dei valori che cambiano nel tempo, che prima di essere usate devono essere dichiarate.

Possono essere dichiarate come globali o locali, a seconda di dove le dichiariamo.

Se le dichiariamo all'interno di una funzione (ad esempio all'interno del main) sono variabili locali, mentre se vengono dichiarate fuori da qualsiasi funzione, come le librerie, diventano variabili globali e possono essere utilizzate da tutte le funzioni del nostro programma.

Le variabili possono essere numeri interi, numeri con la virgola, caratteri ecc...

per adesso vedremo solo i numeri interi e i caratteri.

 

Le variabili intere si dichiarano con il comando "int":

 

int a;
int b;

 

possiamo anche scrivere

 

int a, b;

 

oppure inizializzarle

 

int a=0, b=5;

 

I caratteri si dichiarano tramite il comando "char":

 

char a;
char b;

 

come per gli interi possiamo scrivere

 

char a, b;

 

oppure

 

char a='x', b='y';

 

INPUT & OUTPUT

 

Se vogliamo un programma che interagisca con noi occorre utilizzare input e output.

Per adesso vediamo gli input da tastiera e l'output su console, che sono i più utilizzati.

Quelli più utilizzati sono il "cin" e il "cout", che fanno parte della libreria iostream.

Questa è la sintassi da utilizzare per il cin

 

cin>>nome_variabile;

 

mentre questa è quella per il cout

 

cout<<nome_variabile; //per scrivere il valore di una variabile

cout<<"testo da scrivere"; //per scrivere una frase specifica

 

Come si può notare, il cin è sempre seguito dalle ">>", mentre il cout "<<".

 

è anche possibile prendere più input contemporaneamente in questo modo

 

cin >> variabile_1 >> variabile_2 >> variabile_3;

 

e, analogamente, mandare più output

 

cout << variabile_1 << " " << variabile_2;

 

Adesso vediamo come combinare cin e cout

 

#include <iostream>
using namespace std;

int main()
{
int a;    //dichiaro la variabile da utilizzare
cout << "Inserisci un numero:\n";    //primo messaggio di output (\n significa "vai a capo")
cin >> a;     //la variabile 'a' diventa l'input che darò tramite tastiera
cout << "Hai inserito il numero " << a << "\n";     //combino output testuali con output di variabili
system("PAUSE");     //dico al programma di andare in stand-by, altrimenti uscirebbe subito e non vedremmo praticamente niente, in quanto tutto verebbe elaborato in una frazione di secondo
return 0;     //come già* detto, per ora limitatevi a copiare questa istruzione così com'è
}

 

CONDIZIONI

 

Cominciamo a vedere le prime condizioni.

 

Le condizioni principali sono "if" (trad. "se"), "else" (trad. "altrimenti") ed "else if" (trad. "altrimenti se").

 

Supponiamo di avere, ad esempio, 2 variabili a e b, e di voler vedere quale dei due è maggiore.

l'algoritmo dovrebbe essere questo:

 

if (a<b)
cout<<"Il numero maggiore è "<<b;
else if (a>b)
cout<<"Il numero maggiore è "<<a;
else
cout<<"I due numeri sono uguali";

 

L'istruzione if serve per porre una condizione iniziale; l'istruzione else if serve a porre un'altra condizione SOLO nel caso in cui la prima istruzione sia falsa; l'istruzione else alla fine si usa solo quando le istruzioni precedenti si sono rivelate false.

 

L'esempio è di facile comprensione:

se a è minore di b allora il numero maggiore è b.

altrimenti se a è maggiore di b allora il numero maggiore è a.

altrimenti i due numeri sono uguali.

 

Ovviamente questo è un algoritmo semplicissimo, tanto per capire come funzionano le condizioni.

Se voleste controllare se due variabili sono uguali dovreste scrivere "if (a==b)" (da notare il doppio =), mentre per vedere se sono diverse "if (a!=b)".

Cercate di prendere confidenza con queste semplici istruzioni prima di passare allo step successivo.

 

CICLI

 

Vediamo adesso altre istruzioni importantissime che fanno parte della maggior parte degli algoritmi che troverete: i cicli.

 

Un ciclo molto importante è il "while" (trad. "finché").

Il while è molto simile all' if, infatti presenta un confronto iniziale.

La differenza sta nel fatto che finché quella condizione è verificata il ciclo si ripete.

 

Vediamo un esempio:

 

int a=0, b=3;
while (a<b)
{
cout<<a<<"\n";      //Vi ricordo che "\n" è semplicemente il comando dell'invio, quindi serve solo ad andare a capo.
a=a+1;
}

 

Questo programma non fa altro che eseguire un ciclo che si ripete finché a è minore di b.

a è stato inizializzato a 0, mentre b a 3.

 

La prima volta, dato che la condizione dentro il while è verificata (a è effettivamente minore di b, in quanto 0 è minore di 3) si entra nel ciclo.

Sullo schermo verrà* scritto il contenuto della variabile a, quindi 0.

La seconda istruzione dentro il ciclo serve ad incrementare di 1 il contatore, perché sostituendo a=a+1 con i valori che abbiamo otteniamo a=0+1, che fa quindi 1.

A questo punto si riesegue il controllo del while e il ciclo viene ripetuto, in quanto 1 è lostesso minore di 3.

Sullo schermo verrà* scritto il numero 1, la variabile a viene incrementata di 1.

Viene eseguito nuovamente il ciclo in quanto a, che ora è 2, è comunque minore di b, che è 3.

Viene scritto su schermo il valore di a, che adesso corrisponde a 2, e viene aumentato il valore di a, che quindi passa da 2 a 3.

Viene rieseguito il controllo, che stavolta risulta falso, in quanto a non è più minore di 3. In questo caso allora si esce dal ciclo.

 

 

 

*GUIDA IN AGGIORNAMENTO*

 

SE AVETE DOMANDE (O ANCHE CONSIGLI) NON ESITATE A POSTARLE!

 

PROSSIMAMENTE:

CICLI FOR E DO-WHILE; VETTORI; MATRICI.

 

© HackLeon

Link al commento
Condividi su altri siti

Buono... Hack sarabbe piu comodo anche per te penso di fare una specie di Glossario dei termini tecnici ex:

 

  • while (trad. finché)[/*:m:12ej58ts]
  • if (trad. "se")[/*:m:12ej58ts]
  • else (trad. "altrimenti")[/*:m:12ej58ts]
  • else if (trad. "altrimenti se")[/*:m:12ej58ts]

 

magari anche con una mini spiegazione va bene... che ne pensi? cosi da vedere subito dove si trova e non andare a ricercare dove era scritto

Link al commento
Condividi su altri siti

  • 1 mese dopo...
Ciao HackLeon ho seguito la tua guida attentamente è molto interessante, però ad un certo punto il mio antivirus mi blocca. Vorrei sapere se c'entra il programma che ho scaricato dal link o se io ho sbagliato qualcosa! Mi potresti aiutare perchè sono i miei primi passi nella programmazione! Grazi in anticipo! :)
Link al commento
Condividi su altri siti

Ciao HackLeon ho seguito la tua guida attentamente è molto interessante' date=' però ad un certo punto il mio antivirus mi blocca. Vorrei sapere se c'entra il programma che ho scaricato dal link o se io ho sbagliato qualcosa! Mi potresti aiutare perchè sono i miei primi passi nella programmazione! Grazi in anticipo! :)[/quote']

 

dubito che sia a causa del compilatore, dato che il link che ho postato è quello del sito ufficiale...

che succede di preciso?

a che punto "ti blocca"?

Link al commento
Condividi su altri siti

aspetta, sei sicuro che sia un errore dell'antivirus e non del compilatore, magari perché hai sbagliato qualcosa nel programma che hai scritto?

 

@felix10: avg lo usavo con il vecchio computer e non mi ha mai dato problemi con il dev, quindi non penso sia quello...

Link al commento
Condividi su altri siti

a me invece così ha fatto...quando metto il file sorgente nel Dev, tutto bene fin quando poi clicco sul tasto di compilazione e mi esce la schermata di avg che mi dice di aver trovato un trojan....allora penso che il Dev mi ha creato un virus, ma visto che non è possibile, ritengo che è avg che lo calcola come se fosse un virus e non me lo fa neanche eseguire dicendo che il codice sorgente non è compilato. Poi quando ho disinstallato avg è andato tutto bene.....

 

credo poi che quando usavi il computer avevi forse una versione di avg vecchia che non lo rilevava come virus, ora hanno aggiornato alla v9.0 e credo che quelli dell'avg abbiano abilitato il fatto che quel file particolare lo deve rilevare come virus....

 

poi....non sò.... questa è una idea che mi sono fatto io....

 

 

@cavani vedo che non ti sei ancora presentato, presentati nell'apposito topic.. ;) ecco il link -> viewforum.php?f=50

Link al commento
Condividi su altri siti

  • 4 mesi dopo...
Niente...... a questo punto mi chiedo se potrà mai funzionare su seven.......

 

ancora niente??

boh, nelle poche volte che non mi parte quando uso questo metodo mi compila...

dovresti andare a modificare dei parametri di compilazione, ma non avendolo mai fatto non so aiutarti.

a questo punto prova ad utilizzare visual C++...

 

Per te tutte queste robe te le insegnano alle superiori o devo aspettare l'università..... perchè avrei pensato di fare l'informatico...... senno c'è una guida per "Visual Basic"?

 

C++ si fa anche alle superiori, quello che ho detto nella guida viene spiegato tutto anche li.

per visual basic su questo forum non c'è nulla, ma su google trovi facilmente delle guide.

Link al commento
Condividi su altri siti

  • 4 mesi dopo...

bella guida, al posto di usare "\n" si puo usare anche

cout << "testo " << endl;

io sto imparando questo linguaggio ma mi sembra che non serva a molto

per farmi 4 esercizi di matematica buono è xD!

a cosa puo servirmi sapere queste cose, io vorrei fare cose serie ma ogni guida che leggo insegna 4 cavolate (La tua è la migliore pero, molto piu chiara di tutte le altre guide e ho imparato veramente qualcosa) aspetto che finisci totalmente la guida ;)

 

Comunque io uso Dev-C++ su w7 senza problema

il mio antivirus (forse scaduto) avast, non rompe le scatole...

io ho windows visual studio 10/Dev-C++ e mi ritrovo ad usare un programmino (Dev-C++) in confronto ad un bestione (Visual studio 10)

pero mi ci trovo bene =)

Modificato da potere
Link al commento
Condividi su altri siti

  • 4 mesi dopo...

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



×
×
  • Crea Nuovo...