HackLeon Inviato 19 Ottobre 2010 Condividi Inviato 19 Ottobre 2010 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 Altre opzioni di condivisione...
snuntipook Inviato 20 Ottobre 2010 Condividi Inviato 20 Ottobre 2010 Ottimo *.* Link al commento Condividi su altri siti Altre opzioni di condivisione...
Vidosc10 Inviato 20 Ottobre 2010 Condividi Inviato 20 Ottobre 2010 Gran bella guida! Rep+ Link al commento Condividi su altri siti Altre opzioni di condivisione...
Frenk 1010 Inviato 20 Ottobre 2010 Condividi Inviato 20 Ottobre 2010 Bella guida !!! (appena ho tempo la leggo XD) Link al commento Condividi su altri siti Altre opzioni di condivisione...
HackLeon Inviato 20 Ottobre 2010 Autore Condividi Inviato 20 Ottobre 2010 *UPDATE* aggiunti input da tastiera e output su console Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 20 Ottobre 2010 Condividi Inviato 20 Ottobre 2010 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 Altre opzioni di condivisione...
Sephiroth Inviato 20 Ottobre 2010 Condividi Inviato 20 Ottobre 2010 beh certi termini sono abbastanza facili da capire XD Link al commento Condividi su altri siti Altre opzioni di condivisione...
HackLeon Inviato 20 Ottobre 2010 Autore Condividi Inviato 20 Ottobre 2010 ho inserito un indice generale, poi ci inserirò anche le varie istruzioni Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 20 Ottobre 2010 Condividi Inviato 20 Ottobre 2010 ok ^^ Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cavani9546 Inviato 1 Dicembre 2010 Condividi Inviato 1 Dicembre 2010 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 Altre opzioni di condivisione...
HackLeon Inviato 1 Dicembre 2010 Autore Condividi Inviato 1 Dicembre 2010 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 Altre opzioni di condivisione...
Cavani9546 Inviato 2 Dicembre 2010 Condividi Inviato 2 Dicembre 2010 Mi blocca quando deve premere il tasto con i 4 colori! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Felix10 Inviato 2 Dicembre 2010 Condividi Inviato 2 Dicembre 2010 il fatto è che tu usi avg come antivirus e ti rivela il file ".exe" come se fosse un trojan... disinstalla avg e vedi che va tutto bene Link al commento Condividi su altri siti Altre opzioni di condivisione...
HackLeon Inviato 2 Dicembre 2010 Autore Condividi Inviato 2 Dicembre 2010 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 Altre opzioni di condivisione...
Felix10 Inviato 2 Dicembre 2010 Condividi Inviato 2 Dicembre 2010 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 Altre opzioni di condivisione...
blackjolly Inviato 6 Aprile 2011 Condividi Inviato 6 Aprile 2011 a me da, quando devo eseguire, il progetto non è compilato, perchè? Link al commento Condividi su altri siti Altre opzioni di condivisione...
HackLeon Inviato 6 Aprile 2011 Autore Condividi Inviato 6 Aprile 2011 prova a salvare il progetto prima di compilare. se non funziona prova a salvare, chiudere e riaprire il dev. ha qualche problema di incompatibilità a volte. Link al commento Condividi su altri siti Altre opzioni di condivisione...
blackjolly Inviato 7 Aprile 2011 Condividi Inviato 7 Aprile 2011 Niente, sempre file non compilato..... ._. Link al commento Condividi su altri siti Altre opzioni di condivisione...
HackLeon Inviato 7 Aprile 2011 Autore Condividi Inviato 7 Aprile 2011 prova a creare prima con il blocco note un file .c o .cpp e poi aprirlo con dev, scrivi il tuo programma e compila. in questo modo dovrebbe funzionare. Link al commento Condividi su altri siti Altre opzioni di condivisione...
blackjolly Inviato 7 Aprile 2011 Condividi Inviato 7 Aprile 2011 Niente...... a questo punto mi chiedo se potrà mai funzionare su seven....... Link al commento Condividi su altri siti Altre opzioni di condivisione...
blackjolly Inviato 7 Aprile 2011 Condividi Inviato 7 Aprile 2011 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"? Link al commento Condividi su altri siti Altre opzioni di condivisione...
HackLeon Inviato 7 Aprile 2011 Autore Condividi Inviato 7 Aprile 2011 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 Altre opzioni di condivisione...
potere Inviato 7 Settembre 2011 Condividi Inviato 7 Settembre 2011 (modificato) 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 13 Settembre 2011 da potere Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 11 Gennaio 2012 Condividi Inviato 11 Gennaio 2012 HackLeon ottima guida ...ti chiedo una cosa.. Se volessi portare avanti i progetti etc in linux quale compilatore mi consigli ? Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
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 accountAccedi
Sei già registrato? Accedi qui.
Accedi Ora