00-Elementi Principali Di Un Programma C

5
Marco Altese Come abbiamo detto, il C++ è un linguaggio derivato dal C, che conserva con questo una completa compatibilità. Per muovere i primi passi con C++, è utile conoscere alcuni concetti base della programmazione in C++. Le cinque componenti fondamentali di un programma C/C++ 1. Input – il programma prende alcune informazioni da una sorgente di input; 2. Elaborazione – il programma deve prevedere il modo in cui questo input deve essere manipolato e memorizzato; 3. Sintassi – il programma utilizza una serie di istruzioni di manipolazione dell’input. Queste istruzioni possono essere suddivise in quattro categorie principali: singole istruzioni, istruzioni condizionali, cicli e funzioni; 4. Output – i programmi deve produrre un qualche tipo di rapporto sulla manipolazione dei dati; 5. Manutenibilità – un’applicazione ben realizzata incorpora tutti gli elementi fondamentali appena elencati con un progetto modulare, con codice autodocumentante (ad esempio nomi di variabili di senso compiuto e commenti) e un rigoroso schema di indentazione. In questo modo sarà più semplice modificare il codice quando opportuno. Con questi presupposti e con quello che vedremo in questa lezione, saremo in grado di scrivere un programma, breve ma funzionante. Creare e compilare un progetto in C++ Il processo di creazione e compilazione di un progetto in C++ dipende strettamente dal tipo di computer e di sistema operativo che si utilizza. Abbiamo a disposizione numerosi strumenti di sviluppo: Code::Blocks Code::Blocks è un ambiente di sviluppo completo, che permette di utilizzare moltissimi compilatori, dal celeberrimo gcc a Visual C++ di Microsoft. Consente l’uso di plugin per integrare numerose funzionalità aggiuntive ed è disponibile per le piattaforme Windows, Linux e Mac. wxDev-C++ Dev-C++ di Bloodshed, è un IDE leggero, sufficiente per seguire questa guida e piuttosto aderente agli standard, fornisce un frontend per gcc, il compilatore open source per eccellenza.z Se si cerca un prodotto più completo e maturo meglio scaricare la sua evoluzione: wxDev-C++. Se si desidera utilizzare gcc con editor e console si può scaricare la sua versione per Windows: DJGPP Visual C++ Visual C++ Express di Microsoft, uno strumento professionale e gratuito, ricco di caratteristiche potenti, soprattutto per la creazione di interfacce utente, in ambiente Windows. Compilare un progetto con DevC++ Una volta scaricato e installato il software, apriamo DevC++ e creiamo il nostro primo progetto (File > Nuovo > Progetto ): Figura 1. Creare un nuovo progetto con DevC++ Elementi principali di un programma C++ 17 marzo 2006

description

00-Elementi Principali Di Un Programma C

Transcript of 00-Elementi Principali Di Un Programma C

Page 1: 00-Elementi Principali Di Un Programma C

Marco Altese

Come abbiamo detto, il C++ è un linguaggio derivato dal C, che conserva con questo una completa compatibilità. Per

muovere i primi passi con C++, è utile conoscere alcuni concetti base della programmazione in C++.

Le cinque componenti fondamentali di un programma C/C++

1. Input – il programma prende alcune informazioni da una sorgente di input;

2. Elaborazione – il programma deve prevedere il modo in cui questo input deve essere manipolato e memorizzato;

3. Sintassi – il programma utilizza una serie di istruzioni di manipolazione dell’input. Queste istruzioni possono essere

suddivise in quattro categorie principali: singole istruzioni, istruzioni condizionali, cicli e funzioni;

4. Output – i programmi deve produrre un qualche tipo di rapporto sulla manipolazione dei dati;

5. Manutenibilità – un’applicazione ben realizzata incorpora tutti gli elementi fondamentali appena elencati con un

progetto modulare, con codice autodocumentante (ad esempio nomi di variabili di senso compiuto e commenti) e un

rigoroso schema di indentazione. In questo modo sarà più semplice modificare il codice quando opportuno.

Con questi presupposti e con quello che vedremo in questa lezione, saremo in grado di scrivere un programma, breve

ma funzionante.

Creare e compilare un progetto in C++

Il processo di creazione e compilazione di un progetto in C++ dipende strettamente dal tipo di computer e di sistema

operativo che si utilizza. Abbiamo a disposizione numerosi strumenti di sviluppo:

Code::Blocks

Code::Blocks è un ambiente di sviluppo completo, che permette di utilizzare moltissimi compilatori, dal celeberrimo

gcc a Visual C++ di Microsoft. Consente l’uso di plugin per integrare numerose funzionalità aggiuntive ed è disponibile

per le piattaforme Windows, Linux e Mac.

wxDev-C++

Dev-C++ di Bloodshed, è un IDE leggero, sufficiente per seguire questa guida e piuttosto aderente agli standard,

fornisce un frontend per gcc, il compilatore open source per eccellenza.z

Se si cerca un prodotto più completo e maturo meglio scaricare la sua evoluzione: wxDev-C++.

Se si desidera utilizzare gcc con editor e console si può scaricare la sua versione per Windows: DJGPP

Visual C++

Visual C++ Express di Microsoft, uno strumento professionale e gratuito, ricco di caratteristiche potenti, soprattutto

per la creazione di interfacce utente, in ambiente Windows.

Compilare un progetto con DevC++

Una volta scaricato e installato il software, apriamo DevC++ e creiamo il nostro primo progetto (File > Nuovo >

Progetto ):

Figura 1. Creare un nuovo progetto con DevC++

Elementi principali di un programma C++

17 marzo 2006

Page 2: 00-Elementi Principali Di Un Programma C

Selezioniamo Console Application, diamo un nome al progetto e clicchiamo Ok. Quello che appare è un semplice file

main.cpp , il sorgente di una applicazione “vuota” in cui scrivere il nostro codice.

Per lanciare la compilazione ed eseguire il programma possiamo agire da menu: Esegui > Compila & Esegui o

semplicemente digitiamo F9

Compilare un progetto con Visual C++

Una volta installato Visual C++ lanciamo il programma e, dal menu File selezioniamo Nuovo > Progetto

Figura 1. Creare un nuovo progetto da menu

Appare la finestra Nuovo Progetto in cui possiamo selezionare il tipo di progetto da creare, scegliamo Progetto

console Win32.

Figura 2. Finestra di creazione del progetto

(clic per ingrandire)

In basso scriviamo il nome del progetto (ad esempio scriviamo programma) e il percorso (la directory del disco) in cui

salvare il progetto stesso. Quindi premiamo OK, il progetto è stato creato.

Vediamo che Visual Studio crea per noi una serie di file di esempio. Il progetto infatti può consistere di uno o più files,

che conterranno codice C++, uno dei quali (e soltanto uno) deve contenere la funzione main, questo file è il punto di

accesso al programma, quindi il file principale.

Nel nostro esempio il file principale è quello che ha lo stesso nome del progetto (nel nostro caso programma.cpp),

possiamo quindi ingnorare tutti gli altri e concentrarci su questo file.

Page 3: 00-Elementi Principali Di Un Programma C

Per le prossime lezioni sarà comunque utile sapere che è possibile aggiungere nuovi file al progetto, cliccando con

il tasto destro sul nome del progetto, poi su Aggiungi > Nuovo Elemento....

Figura 3. Aggiungere file al progetto

(clic per ingrandire)

Una volta aperta la finestra possiamo scegliere se aggiungere un file di intestazione (.h) o un file di programma (.cpp),

ci sono anche alre opzioni che però possiamo ignorare.

Figura 4. Scegliere il tipo di file

(clic per ingrandire)

In basso scriviamo il nome del nuovo file, per similitudine con quanto fatto per DevC++, chiamiamo il file “main.cpp“.

È anche possibile importare file già esistenti (.cpp o .h) cliccando col destro sul nome del progetto e selzionando

Aggiungi > Elemento esistente....

In questo caso lanciamo la compilazione e l’esecuzione del programma (in modalità debug) digitando F5 o da menu

(Debug > Avvia debug).

Compilare un programma C++ con gcc

Vediamo il procedimento di compilazione a riga di comando da utilizzare con gcc (Gnu Compiler Collection) anche in

ambiente Linux.

Supponiamo di aver già creato, con un comune editor di testo come notepad o gedit, un file main.cpp che contiene il

nostro programma. Per compilarlo sarà sufficiente digitare nella console a riga di comando:

g++ main.cpp -o main

ed ottenere automaticamente il programma eseguibile. Per eseguirlo basterà lanciare il comando main. Naturalmente,

nel caso di programmi più complessi sarà necessaria una maggiore conoscenza delle opzioni di compilazione.

Compilare un programma C++ con Code::Blocks

Code::Blocks offre moltissime opzioni di configurazione per la compilazione e l’interfaccia utente, ma possiamo

utilizzare semplicemente le impostazioni di default e procedere a creare il nostro primo progetto (File > New >

Project) scegliendo il template Console Application.

Figura 5. Code::Blocks

Page 4: 00-Elementi Principali Di Un Programma C

Troviamo già pronto il nostro file main.cpp. Per compilare e mandare in esecuzione il programma possiamo scegliere

da menu Build > Run o digitare F10

Il primo programma

Scriviamo il nostro semplice programma nel file principale (main.cpp):

Proviamo a compilare ed eseguire il programmino. Se non ci sono stati errori, apparirà una piccola console con la

scritta:

Ciao Mondo

In caso contrario, il compilatore indicherà le righe di codice in cui sono stati riscontrati dei problemi e quindi avviserà il

programmatore che non è stato possibile creare l’eseguibile.

I commenti

Già questa piccola porzione di codice contiene numerose operazioni. Innanzitutto i commenti:

Ogni programma ben realizzato dovrebbe includere dei commenti, per garantire una manutenzione agevole del codice:

spesso capita di dover modificare codice altrui, oppure di dover riprendere in mano del vecchio codice e ricordarne il

funzionamento. Per questo scrivendo un commento è utile non dare tutto troppo per scontato.

In C++ una linea di codice commentata è preceduta dalla doppia barra //. Esiste, anche un secondo tipo di commento:

il commento a blocchi, ereditato dal C. In questo caso, un commento inizia con i simboli /* e termina con i simboli */.

La differenza sostanziale è che il commento a blocchi permette di commentare più linee di codice senza dover ripetere

ad ogni linea i simboli del commento stesso.

Per fare un esempio, le linee commentate del programma precedente, diverrebbero con l’uso del commento a blocchi:

I due tipi di commenti sono assolutamente intercambiabili. Se c’è necessità di commentare parecchie linee di codice

consecutive è conveniente ricorrere al commento a blocchi.

#include

// main.cpp

// Il primo esempio in C++

#include <iostream>

int main(int argc, char *argv[])

{

std::cout << "Ciao Mondo";

return 0;

}

// main.cpp

// Il primo esempio in C++

/* main.cpp

* Il primo esempio in C++

*/

Page 5: 00-Elementi Principali Di Un Programma C

Lezione:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

L’istruzione:

rappresenta una delle funzionalità tipiche del C++, nota come istruzione per il preprocessore. Una istruzione per il

preprocessore è, fondamentalmente, una istruzione di precompilazione.

#include in C contiene un richiamo ai file di intestazione (header con estensione .h) delle librerie che utilizziamo.

Nello standard C++ si omette l’estensione, per questo troviamo, tra parentesi angolari, “iostream” e non “iostream.h“

main

Dopo l’istruzione #include si trova la dichiarazione della funzione main():

Ogni programma C++ ha al suo interno una sequenza di operazioni e di funzioni. Tutti i programmi C++ devono

contenere una funzione chiamata main(). Tale funzione rappresenta il punto di inizio dell’esecuzione del programma

che termina con l’istruzione return 0.

Possiamo prevedere che il nostro programma prenda in ingresso degli argomenti (eg. dalla riga di comando).

Possiamo utilizzare questi argomenti esterni grazie alle variabili:

int argc – ARGuments Counter – è un valore intero che indica il numero di argomenti presenti

char *argv[] – ARGuments Vector – è un array di stringhe che contiene i valori degli argomenti

Le parentesi graffe { e } contengono blocchi di istruzioni. I blocchi di istruzioni possono consistere nella definizione

del corpo di una funzione (come accade nel nostro caso per la funzione main() ) oppure nel riunire più linee di codice

che dipendono dalla stessa istruzione di controllo, come nel caso in cui diverse istruzioni vengono eseguite a seconda

dela validità o meno del test di un’istruzione.

using e namespace

Le classi delle librerie sono definite anche nel namespace std che viene aggiunto come prefisso all’operatore cout nel

nostro caso:

Possiamo richiamare le stesse classi e operatori utilizzando la direttiva using e il namespace std:

#include <iostream>

main()

{

// ... codice

return 0;

}

std::cout << "Ciao Mondo";

// main.cpp

// Il primo esempio in C++

#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

cout << "Ciao Mondo";

return 0;

}