Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages C

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
Rating: 4.5 out of 54.5 (699 ratings)
2,640 students
Created by Alessandro Bemporad
Last updated 3/2019
Italian
30-Day Money-Back Guarantee

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

17 sections • 155 lectures • 12h 58m total length

  • Preview09:25
  • 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

  • Preview02:50
  • Preview09:08
  • Preview09:42
  • Preview09:08
  • "Hello, World"
    09:46

  • Preview05:16
  • Preview10:07
  • 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

  • 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

  • Preview09:00
  • 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

  • Preview10:03
  • 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

  • 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

  • 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

  • Preview06:36
  • 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
  • Preview04:49
  • 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

  • "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++

Instructor

Alessandro Bemporad
Senior Software Engineer, Project Manager, Trainer
Alessandro Bemporad
  • 4.5 Instructor Rating
  • 7,367 Reviews
  • 21,854 Students
  • 5 Courses

Mi chiamo Alessandro Bemporad. Sono un software engineer con oltre 30 anni di esperienza nel settore dell'Information Technology. Ho lavorato per molti anni come developer, poi come software architect, e infine come Technical Manager in grandi aziende di IT.

Nel 2019 ho fondato Artebinaria, una azienda che si dedica allo sviluppo di app di augmented reality su piattaforme Apple, e di cloud computing, nei settori dell'Arte e della Musica Elettronica, oltre che di formazione online attraverso Udemy.

Mi sono occupato di progettazione e sviluppo di sistemi software di grandi dimensioni, nei settori Banking, Healthcare e Industria, ed ho gestito moltissimi team di sviluppo. Ho progettato e sviluppato sistemi software in molti linguaggi di programmazione ed ambienti di sviluppo, come Java, Python, C/C++, C#, Ruby e Go. Ho tenuto per anni corsi di Object-Oriented Analysis & Design e di Advanced Java presso grandi aziende, e presso Oracle University. Ho anche utilizzato per molti anni modelli di gestione dei progetti agili, come Scrum e Kanban.

E' un mio desiderio personale poter trasmettere la mia esperienza, attraverso corsi di sviluppo del software, dedicati a chi si avvicina adesso a questo mondo, oppure a chi vuole approfondire gli aspetti di quello che è già il proprio lavoro.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.