Guida ai linguaggi C e C++17: da principiante ad esperto
4.4 (538 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,062 students enrolled

Guida ai linguaggi C e C++17: da principiante ad esperto

Diventa un master di C/C++ da zero, e programma poi anche con qualsiasi altro linguaggio, in modo facile e performante
4.4 (538 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,062 students enrolled
Last updated 3/2019
Italian
Current price: $121.99 Original price: $174.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 13 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Conoscenza approfondita della sintassi e della grammatica del linguaggio C11 e C++17
  • Utilizzo del compilatore open-source C/C++ GNU, ed un compilatore C/C++ online
  • Architettura generale di un computer e di un compilatore
  • Le variabili, le costanti, ed i basic data types del linguaggio C
  • Gli operatori aritmetici
  • Gli array (monodimensionali e multidimensionali)
  • Le Enumerazioni, le Strutture e le Unioni
  • Le strutture di controllo (condizionali e di iterazione)
  • La progettazione delle funzioni
  • L'utilizzo dei puntatori (in tutti i suoi aspetti anche più avanzati)
  • Le classi di memorizzazione
  • L'utilizzo delle direttive del preprocessore
  • I Namespace e gli Alias in C++
  • Le Classi e gli Oggetti in C++
  • L'Ereditarietà in C++
Course content
Expand all 155 lectures 12:58:09
+ Il Paradigma Object-Oriented (SEZIONE BONUS)
10 lectures 01:05:16
Classificazione
03:12
Incapsulamento
08:48
Membri di Istanza e di Classe
04:24
Generalizzazione
05:50
Ereditarietà
03:28
Composizione
03:56
Collaborazione
05:45
Gli Oggetti Software
08:38
Object Modeling in Color (gli Archetipi)
11:50
+ Basic Data Types
12 lectures 01:03:04
Le Costanti
03:26
I Tipi Interi
08:10
I Literal Interi
02:12
I Tipi Floating-Point
03:55
Il Tipo Character
03:16
Il Tipo Boolean
01:49
ESERCITAZIONE: Operatore sizeof e Data Types
13:11
Le Conversioni Implicite
06:16
typedef
02:29
ESERCITAZIONE: typedef
02:57
+ Gli Operatori Aritmetici
5 lectures 23:07
Introduzione
03:52
Gli Operatori Aritmetici
06:45
ESERCITAZIONE: Operatori Aritmetici
02:44
Operatori di Assegnamento Composti
05:40
Conversioni Esplicite (type casting)
04:06
+ Gli Array
10 lectures 48:08
Stringhe di Caratteri
05:13
La Funzione strcpy
04:51
Accesso ad un Array Mono-Dimensionale
04:58
ESERCITAZIONE: Array Monodimensionali
04:57
Array Multi-Dimensionali
06:09
Accesso ad un Array Multi-Dimensionale
03:19
Array con Lunghezza Variabile
03:06
Array e sizeof
02:35
ESERCITAZIONE: Array e sizeof
04:00
+ Enumerazioni, Strutture ed Unioni
11 lectures 54:46
ESERCITAZIONE: Le Enumerazioni
03:09
Le Strutture: Dichiarazione
06:26
Le Strutture: Inizializzazione
03:38
Array di Strutture
02:23
Strutture Nidificate
03:16
Strutture che Contengono Array
03:27
Inizializzazione Diretta di Strutture
02:52
Strutture e typedef
02:39
ESERCITAZIONE: Le Strutture
11:22
Le Unioni
05:31
+ Le Strutture di Controllo
14 lectures 01:05:12
Introduzione alle Strutture di Controllo
04:05
Gli Operatori Relazionali
04:00
Lo Statement "if"
05:51
Lo Statement "switch"
04:59
L'Operatore Condizionale
02:30
Gli Operatori Logici
07:13
Lo Statement "for"
06:15
Lo Statement "break"
02:38
Lo Statement "continue"
02:08
ESERCITAZIONE: Statement "for" e "if/else"
07:03
Lo Statement "goto"
03:45
Lo Statement "while"
04:00
Lo Statement "do-while"
03:46
ESERCITAZIONE: Statement "do-while"
06:59
+ Le Funzioni
14 lectures 54:43
Introduzione alle Funzioni
04:18
Definizione di una Funzione
05:09
Invocazione di una Funzione
02:46
Prototipo di una Funzione
03:42
Argomenti: Passaggio per Valore
05:00
Variabili Interne
02:07
Variabili Esterne
02:27
Lo Scope
06:06
Inner Scope, Outer Scope
03:22
Array Mono-Dimensionali come Parametri
04:09
Array Multi-Dimensionali come Parametri
02:19
L'Istruzione "return"
04:01
ESERCITAZIONE: Le Funzioni
07:04
Le Funzioni "inline"
02:13
+ I Puntatori
19 lectures 01:20:37
Dichiarazione ed Assegnamento di un Puntatore
03:38
Operatore di Indirezione
02:43
Puntatori e Parametri delle Funzioni
07:55
I Puntatori e gli Array
04:53
Aritmetica dei Puntatori
05:01
ESERCITAZIONE: I Puntatori
05:46
Confronto tra Puntatori
02:32
Puntatori e Array come Parametri
02:31
Puntatori a Funzione
06:41
Puntatori "void"
04:44
Puntatori Nulli
02:42
Array di Puntatori
04:34
Puntatori a Costante
03:09
Puntatori Costanti
02:05
Puntatori Costanti a Costanti
02:08
Puntatori e Strutture
04:40
La Funzione main()
03:30
+ Le Classi di Memorizzazione
6 lectures 37:06
"auto" ed "static"
06:00
"extern"
06:40
"register"
03:57
Allocazione Dinamica della Memoria
05:14
Le Funzioni malloc() e free()
07:52
Le Funzioni calloc() e realloc()
07:23
Requirements
  • Non è richiesta nessuna particolare esperienza di programmazione.
  • E' richiesta la conoscenza nell'utilizzo base di un PC/Mac, e l'uso basilare del terminale.
Description

Se ti avvicini per la prima volta ad un linguaggio di programmazione, questo corso fa per te.

Anche se però conosci già un altro linguaggio di programmazione ma vuoi imparare il C/C++, troverai comunque in questo corso tutto ciò che ti serve.

La prima sezione del corso, che ti offro come bonus, è una sorta di corso nel corso... Imparerai infatti in modo approfondito il Paradigma Object-Oriented in tutti i suoi aspetti principali, secondo un percorso che ho ricavato dai miei (ahimè) moltissimi anni di esperienza sul campo come object-oriented analyst e designer. Le capacità che acquisirai nelle lezioni teoriche di questa prima sezione sono valide anche per qualunque linguaggio object-oriented, come Python, C#, Swift, C++.

Il corso è poi costituito da due parti. Nella prima parte viene spiegato il linguaggio di programmazione C, partendo da zero, in modo agevole anche per chi ha poca o nessuna esperienza di programmazione. Nella seconda parte, viene invece spiegato in dettaglio il linguaggio di programmazione C++17, come estensione rispetto al linguaggio C introdotto nella prima parte. 

Acquistando questo corso, quindi, parteciperai in effetti a due corsi di programmazione: un corso di C (versione 11) ed un corso di C++ (versione 17).

Perché dovresti imparare a programmare in C ed in C++?

Prima di tutto, il C è il linguaggio da cui sono stati derivati molti altri linguaggi di programmazione (tra i quali in particolare Java, C++, C#, Swift, Objective-C) che sono in assoluto tra i più usati al mondo: conoscere il C ti consentirà di accedere a questi linguaggi con molta più facilità - e con un livello di approfondimento che non si può ottenere in questi linguaggi senza prima conoscere realmente la sintassi del C.

Inoltre, nonostante il C sia stato introdotto sul mercato alla fine degli anni '70 (!) l'indice TIOBE (il principale indice di misurazione per la diffusione dei linguaggi di programmazione nel mondo) ha eletto proprio il C come linguaggio dell'anno 2017, in quanto è risultato il linguaggio che è cresciuto maggiormente in termine di utilizzo.

Conoscere il linguaggio C, attraverso questo corso, ti consentirà inoltre di apprendere i principali meccanismi della programmazione del software in generale. Inoltre, data la natura stessa del linguaggio, apprenderai anche come avviene la programmazione a "basso livello", cioè al livello in cui diventa importante essere consapevoli dell'architettura delle CPU e della memoria del computer, per ottenere codice ottimizzato ed estremamente performante.

Imparare poi a sviluppare in C++ ti porterà a conoscere e ad utilizzare anche la programmazione object-oriented, ed a padroneggiare uno dei linguaggi di programmazione più potenti al mondo.

Cosa imparerai in questo corso

Per prima cosa: questo corso non è un lungo tutorial generico sui linguaggio C/C++: è una vera e propria guida nella quale ogni singolo elemento di entrambi i linguaggi viene preso in esame, definito, illustrato e spiegato in dettaglio. Gli argomenti stessi sono stati disposti secondo un ordine che consente di comprendere ciascuno dei due linguaggi in modo progressivo ma completo.

Anche se questo corso è una guida approfondita al linguaggio C (nella versione 11, la più recente), ed al linguaggio C++ (nella versione 17, anche in questo caso la più recente) nulla è stato dato per scontato: ogni argomento viene introdotto tenendo presente che potresti non avere alcuna esperienza di programmazione.

In particolare in questo corso imparerai in modo approfondito:

  • L'utilizzo del compilatore open-source C e C++ GNU, ed un compilatore C/c++ online

  • L'architettura generale di un computer e di un compilatore

  • Le variabili, le costanti, ed i basic data types del linguaggio C

  • Gli operatori aritmetici

  • Gli array (monodimensionali e multidimensionali)

  • Le enumerazioni

  • Le strutture

  • Le unioni

  • Le strutture di controllo (condizionali e di iterazione)

  • La progettazione delle funzioni

  • L'utilizzo dei puntatori (in tutti i suoi aspetti anche più avanzati)

  • Le classi di memorizzazione

  • L'utilizzo delle direttive del preprocessore

  • I Namespace e gli Stream in C++

  • Le Classi e gli Oggetti in C++


Una sezione molto estesa del corso è stata dedicata alla descrizione dei puntatori, uno degli argomenti più importanti - ma anche uno dei più complessi - che ci troviamo ad affrontare quando si impara il linguaggio C.

Il tuo istruttore, Alessandro Bemporad, ha progettato e programmato personalmente per molti anni sistemi software complessi nei linguaggi C e C++ - che sono stati in effetti proprio i suoi primi linguaggi di programmazione! - e conosce quindi in modo molto approfondito l'argomento di questo corso.


Who this course is for:
  • Chiunque sia interessato ad imparare a programmare, utilizzando i linguaggi C e C++
  • Chiunque abbia già esperienza di programmazione in altri linguaggi, e che desidera imparare a programmare in C ed in C++