Esercitazione C++:Hello World

Esercitazione C++:Hello World

Contenuti obsoleti

Per la documentazione aggiornata, consulta Creazione di un progetto di app console C++. Benvenuto nell'esercitazione C++.

In questo primo tutorial C++ imparerai come scrivere (ed eseguire!) il tuo primo programma C++, "Hello, World!". Lungo il percorso imparerai un po' di storia di C++, vedrai come configurare un'applicazione console C++ in Visual Studio 2017, esaminerai la struttura del codice e vedrai come viene compilato il codice.

Ringraziamenti

Questa serie di tutorial è un remix di C++:A General Purpose Language and Library Jump Start, un corso di un'intera giornata presentato da Kate Gregory e James McNellis e ospitato su Microsoft Virtual Academy e l'evoluzione di quel contenuto come corsi per principianti e intermedi su EdX di Gerry O'Brien. Insieme, questi corsi sono stati utilizzati da migliaia di sviluppatori per saperne di più su C++.

Il contenuto originale è stato adattato per il formato dell'articolo. Il codice è stato migrato a Visual Studio 2017 e trarrà vantaggio dalle funzionalità utili per gli sviluppatori C++ in Visual Studio 2017. Le schermate e altri comportamenti proverranno da Visual Studio 2017. Il codice è stato modificato per riflettere le viste moderne su correttezza, stile o utilizzo se del caso.

Prerequisiti

Ci sono molte risorse per sviluppatori C++ nuovi ed esperti. Consigliamo il C++ Primer, 5 esimo Edizione di Lippman, Lajoie e Moo. Utilizza costrutti moderni senza rivisitare le tecniche più antiche che è meglio lasciare nel passato. Visita isocpp.org per un elenco di risorse utili, le ultime notizie su C++ e suggerimenti su contenuti interessanti su Internet.

Non è necessaria esperienza con C o C++. Se torni al C++ dopo una lunga pausa, bentornato.

Questo tutorial sarà pratico e orientato alla programmazione, quindi segui! Puoi usare Visual Studio Community, un IDE completo, estensibile e gratuito per la creazione di applicazioni moderne in C++ per Windows, Linux e altre piattaforme. Puoi anche usare diversi compilatori come GCC e Clang in Visual Studio.

Breve storia di C++

Progettato da Bjarne Stroustrup, C++ esiste da più di tre decenni. Nato nel 1979 come C con Classi, mantiene la retrocompatibilità con C con miglioramenti nell'astrazione dei dati e supporto per la programmazione orientata agli oggetti e la programmazione generica.

C e C++ sono popolari perché sono portatili e possono essere compilati, senza modifiche sostanziali, su diversi compilatori o diversi hardware del computer, sistemi operativi, architetture CPU o fattori di forma del dispositivo. Ogni piattaforma o sistema operativo può avere compilatori diversi disponibili da diversi fornitori come Microsoft, Intel o la comunità open source.

C++ è in continua evoluzione per stare al passo con le esigenze degli sviluppatori moderni. Il C++ esiste sotto la guida di un comitato per gli standard ed è diventato uno standard internazionale nel 1998 con revisioni nel 2011, 2014 e 2017. Continua ad essere aggiornato come parte del lavoro del comitato per gli standard.

Il C++ è usato in migliaia di applicazioni, dozzine delle quali probabilmente hai già usato in una forma o nell'altra oggi!

Creazione di un progetto di console vuota

La maggior parte del codice che incontri durante l'apprendimento di C++ può essere eseguito utilizzando un semplice input di testo con output di testo direttamente in una finestra della console. Queste esercitazioni utilizzeranno un progetto vuoto configurato come applicazione console. Puoi aggiungere nuovi file sorgente e codice e vedere i risultati sulla riga di comando.

Ecco come creare un progetto console vuoto in Visual Studio 2017:

  1. Avvia Visual Studio 2017.
  2. Sulla barra dei menu, scegli File , Nuovo , Progetto .
  3. Nel Visual C++ categoria, scegli Svuota progetto e quindi nominare il progetto. Scegli un nome che dia indicazioni sui contenuti, ad esempio "HelloWorld" per un tutorial o "GuessTheNumber" per un'applicazione per indovinare i numeri.
  4. In Esplora soluzioni , fai clic con il pulsante destro del mouse su File di origine quindi scegli Aggiungi , Nuovo articolo .
  5. In Aggiungi nuovo elemento , scegli File C++ (.cpp) e quindi nominare il file. Anche in questo caso, il nome dovrebbe riflettere il contenuto del file. Ad esempio, "HelloWorld" per il codice tutorial o "WidgetClass" per l'implementazione del widget. Fai clic su Aggiungi .
  6. Ora hai un progetto vuoto pronto per il codice tutorial o altro codice C o C++. Se desideri un codice modello di base che venga compilato ed è adatto alla sperimentazione, copia il codice seguente nel nuovo file C++, quindi premi CTRL-F5 da compilare ed eseguire. int main() { return 0; } Questo codice non è altro che una shell vuota, pronta per la tua esplorazione in C++.

Ci sono altri tipi di applicazioni che senza dubbio esplorerai man mano che diventerai esperto in C++ e lavorerai su progetti C++ reali.

Ciao mondo!

Tempo per la tradizionale prima demo C++, "Hello, World!". La storia non è chiara sull'origine di questo come campione canonico per C++, ma potrebbe essere fatta risalire a Kernighan e Ritchie.

Per creare Hello, World! applicazione:

  1. Crea un progetto console vuoto e chiamalo "HelloWorld"; usa quel nome anche per il file sorgente cpp.
  2. Nel file vuoto "HelloWorld.cpp", inserisci il seguente codice:
    #include <iostream>
    int main()
    {
      std::cout << "Hello, World!" << std::endl;
      return 0;
    }
  1. Premi CTRL-F5 per eseguire il programma. Quando ti viene chiesto se vuoi costruirlo, fai clic su . Questa è la prima volta che esegui il programma, quindi Visual Studio deve compilarlo.
  2. Lo vedi girare? Se stai eseguendo all'interno di un IDE come Visual Studio, è probabile che la finestra di output si sia chiusa prima che tu possa vedere il saluto. Puoi fare un paio di cose per risolvere questo problema.Puoi eseguire il programma dalla riga di comando . In Windows, avvia un'istanza del prompt dei comandi, spostati nella directory di debug del tuo progetto, quindi digita helloworld . Questa schermata mostra i file nella directory insieme all'output del programma:Puoi anche aggiungere una dichiarazione in attesa che tu prema un tasto qualsiasi prima di uscire da main funzione Aggiungi la seguente istruzione prima di restituire 0: std::cin.ignore(); Premi CTRL-F5 per eseguire nuovamente il programma. Premi un tasto per terminare il programma.

Congratulazioni per il tuo primo programma C++. Diamo un'occhiata più da vicino. I numeri di riga sono stati aggiunti come riferimento e non fanno parte del codice del programma. 1 #include <iostream> 2 3 int main() 4 { 5   std::cout << "Hello World!" << std::endl; 6   return 0; 7 } Riga 1 :Questa è nota come direttiva del preprocessore. Indica al compilatore di individuare il file che contiene il codice per una libreria nota come iostream . Questa libreria contiene codice che consente l'input e l'output di flussi, come la finestra della console.

Riga 3 :Ogni programma C++ deve avere una funzione nota come main(). Viene indicato come punto di ingresso per l'applicazione quando si avvia l'esecuzione del programma sul computer. Il int porzione è il tipo restituito del metodo. Le parentesi vuote () dopo il nome indicano che si tratta di una funzione e che non richiede argomenti, in altre parole, non ci sono parametri per il passaggio di valori. Imparerai di più sui tipi di variabili, sul valore restituito e sugli argomenti in futuro.

Riga 4 :i corpi delle funzioni in C++ iniziano con una parentesi graffa aperta.

Riga 5 :questo codice utilizza cout (pronunciato “see out”) per inviare il testo “Hello World!” e un newline/line flush (endl ) alla console per l'output e la visualizzazione. Il std:: il prefisso a questi due comandi è un modo per indicare che fanno parte di uno spazio dei nomi noto come std . Il :: è usato per indicare che cout e endl fanno parte del std spazio dei nomi. [Avviso curiosità! cout sembra un metodo qui, ma in realtà c'è di più dietro le quinte. Ma non è qualcosa di cui devi preoccuparti come principiante.]

Si noti inoltre che la riga termina con un punto e virgola. Le istruzioni C++ terminano con punto e virgola.

Riga 6 :Il return istruzione viene utilizzata per terminare una funzione quando si prevede che un valore venga restituito a un chiamante. In questo caso, il chiamante è il sistema operativo e il valore restituito è un valore intero pari a 0. Se il programma raggiunge questa istruzione, restituire un valore pari a 0 indica al sistema operativo che il codice è stato eseguito correttamente. I programmatori restituiscono 0 per indicare l'esecuzione riuscita e valori diversi da zero per indicare che si è verificato un errore nel programma da qualche parte.

Riga 7 :Questa riga chiude il corpo della funzione main() ed è necessario affinché il compilatore sappia dove finisce la funzione o il metodo, ma viene utilizzato anche per altri scopi che verranno trattati più avanti nel corso sull'ambito delle variabili e sulla visibilità.

Ci sono applicazioni più complicate, ma la cosa interessante del C++ è che ogni frammento di sintassi e libreria che impari a scrivere un'applicazione console che puoi usare per scrivere qualsiasi altro tipo di applicazione.

Come viene creato il codice

Quando crei codice C++, accadono tre cose principali:preelaborazione, compilazione e collegamento.

Innanzitutto, uno strumento chiamato preprocessore passa attraverso il tuo codice e lo manipola un po'. L'output del preprocessore va al compilatore.

Il compilatore assicurati di aver utilizzato correttamente la sintassi delle librerie di supporto e il linguaggio C++ stesso. Punteggiatura, definizioni variabili e altri elementi sintattici devono tutti aderire agli standard. Le applicazioni C++ reali possono avere molti file, potenzialmente anche migliaia, e ognuno deve essere compilato individualmente. L'output della compilazione è chiamato file oggetto.

Dopo che ogni file sorgente è stato compilato, il linker collega i file oggetto insieme nell'applicazione eseguita dal processore del computer. Il linker si assicura che tutte le promesse fatte nel codice vengano mantenute. Ad esempio, in Hello, World, std::cout è definito altrove. Il linker deve risolvere la chiamata quando estrae il iostream library.

Questi passaggi sono fondamentali per capire cosa succede quando ricevi messaggi di errore. I messaggi di errore possono evidenziare piccoli problemi prima che si trasformino in problemi più grandi. I messaggi di errore possono anche aiutare a identificare se l'errore è un errore del compilatore o del linker o qualche altro problema. Leggere i messaggi di errore è fondamentale per risolvere i problemi!

Revisione

In questa esercitazione su C++ hai creato un progetto di console C++ di Visual Studio e creato il tuo primo programma C++, Hello World. Lungo il percorso, hai appreso come viene creato il codice C++ (preprocessore, compilazione, collegamento), la struttura di base delle applicazioni C++ e un po' di cronologia di C++.

Se hai commenti o suggerimenti per noi, ti preghiamo di contattarci. Siamo raggiungibili tramite i commenti di seguito, tramite e-mail ([email protected] o [email protected]) e puoi fornire feedback tramite Guida> Segnala un problema nel prodotto o tramite la community di sviluppatori. Puoi trovarci anche su Twitter (@VisualC) e Facebook (msftvisualcpp).

Grazie a Kate Gregory – Partner, Gregory Consulting Limited; e James McNellis – Microsoft Senior Software Development Engineer, per averci permesso di utilizzare alcune delle loro conferenze video, dimostrazioni e contenuti. Grazie anche a Gerry O'Brien, Microsoft Learning Experience, per la progettazione e l'assistenza del curriculum.