C è la base per C++. Sebbene C++ sia più ampiamente utilizzato per app e giochi desktop, è un’ottima opzione per iniziare con C, soprattutto se sei nuovo nel mondo del software. Continua a leggere per sapere perché.
Sommario:
Cos’è C?
C è un linguaggio di programmazione strutturale di alto livello. I programmi scritti in C sono portabili. C è ancora oggi uno dei migliori linguaggi di programmazione perché è robusto. Viene utilizzato per programmi complessi come sistemi embedded, driver, kernel, applicazioni di sistema, sistemi operativi come Microsoft Windows, Apple OS X, database come MySQL e alcune applicazioni IoT.
C è un linguaggio compilato, fornendo così uno strato di astrazione tra il codice macchina e il programma.
Un semplice programma C per sommare due numeri sarà simile a questo.
#include<stdio.h> int main() { int a, b, sum; printf("Enter two numbers to add: "); scanf("%d%d", &a, &b); sum = a + b; printf("nSum of %d and %d is %d", a, b, sum); return 0; }
Ecco l’output:
Output del programma C di esempio
I programmi C includono stdio.h – l’output di input standard.
STDIO fornisce funzioni di input-output di base come printf e scanf. printf è usato per stampare qualcosa (messaggio, output) sulla console, mentre scanf è usato per prendere input dalla console. Stiamo usando %d per indicare che i numeri sono interi.
Se fornisci i decimali, otterrai delle risposte strane. Per evitare ciò, puoi usare %f. La funzione main() è la prima funzione che viene eseguita durante l’esecuzione del programma. La sintassi è molto semplice: dichiarare i tipi di variabile e quindi usarli.
Cos’è il C++?
C++ si basa su principi di programmazione orientata agli oggetti come l’astrazione, il polimorfismo, l’ereditarietà e l’incapsulamento. Puoi pensare a C++ come a un’estensione di C con il concetto di classi e oggetti.
Avere oggetti per memorizzare i dati ha dato una struttura ordinata ai programmi. Ad esempio, se desideri memorizzare i dettagli di uno studente, puoi creare una classe Studente e creare attributi come nome, età, hobby, voti ecc., sotto la classe. Puoi creare un vero oggetto studente ogni volta che lo desideri!
class Student { public: char name[20]; int age; float marks; }; //This will create an object Student student1 = new Student();
In realtà, l’oggetto verrà creato e la memoria allocata solo durante il runtime.
Il C++ offre prestazioni elevate, motivo per cui è ancora oggi la scelta più popolare per lo sviluppo di motori di gioco ad alte prestazioni, sistemi embedded, browser, compilatori e applicazioni grafiche come l’elaborazione di immagini.
Pochi database come MongoDB sono scritti in C++. Proprio come C, C++ è portatile.
Scriviamo il nostro precedente programma di addizione in C++ – notate le diverse funzioni.
#include <iostream> using namespace std; int main() { int a, b; cout << "Enter the numbers: "; cin >> a >> b; int sum = a + b; cout << a << " + " << b << " = " << sum; return 0; }
Nota che stiamo usando cout e cin invece di printf e scanf. Inoltre, le dichiarazioni di tipo possono essere eseguite in qualsiasi punto del programma prima che la variabile venga utilizzata (ad esempio, la variabile sum). L’istruzione print è abbastanza semplice con solo i nomi delle variabili. Nota che stiamo usando lo spazio dei nomi std dall’intestazione iostream. std ha metodi come cout, in e molti altri.
Somiglianze tra C e C++
Puoi dire che C è un sottoinsieme di C++. Ci sono molte somiglianze tra C e C++, sia nel modo in cui i programmi vengono scritti o nelle applicazioni per cui vengono utilizzati. Entrambi sono robusti, portatili e altamente performanti. Alcune somiglianze importanti sono:
Sno.FeatureExplanation1.SyntaxEntrambi hanno la stessa sintassi, ad esempio dichiarazione di variabile, punto e virgola di fine riga, convenzioni di denominazione, ecc.2.Strutturale e proceduraleOgni riga di codice viene eseguita una per una. I programmi sono strutturati come segue: prima le importazioni, poi le dichiarazioni delle variabili e quindi il codice principale.3.Funzione Main() Tutto il codice che deve essere eseguito dovrebbe essere all’interno della funzione main(). main() è la prima chiamata di funzione durante l’esecuzione del programma.4.PointersSia il C che il C++ usano i puntatori allo stesso modo. Un puntatore è una variabile che memorizza l’indirizzo di memoria di un’altra variabile. Ad esempio, int a = 1;. Non appena questo codice viene eseguito, verrà allocata una memoria (diciamo XX0011) per a. È possibile accedere alla posizione di memoria di ‘a’ utilizzando la e commerciale (&) come int ptr_a = &a;5.Parole chiave e operatoriTutte le parole chiave e gli operatori presenti in C sono validi anche per C++. Ad esempio, scope, static, public, int, ecc. C++ ha anche operatori e parole chiave aggiuntivi. Somiglianze tra C e C++
Differenze tra C e C++
C++ è stato creato per superare alcune delle carenze del C ed è un superset di C. Quindi, qualsiasi programma scritto in C funzionerà in C++, ma non viceversa! La principale differenza tra C e C++ è che C++ si basa sui principi orientati agli oggetti (OOP) della programmazione. Inoltre, c’è più enfasi sul controllo del tipo in C++. Ci sono anche alcune differenze più sottili come elencate di seguito:
CC++ è stato sviluppato tra il 1969 e il 1973 da Dennis Ritchie presso AT&T Bell labs Sviluppato da Bjarne Stroustrup nel 1979. Non segue i principi di programmazione orientata agli oggetti Basato sui concetti OOPS, come incapsulamento, polimorfismo ed ereditarietà C contiene un totale di 32 parole chiave come char , switch, int, static, union e altriTutte le parole chiave C sono valide in C++ e sono presenti anche 31 parole chiave aggiuntive.Supporta solo la programmazione proceduraleC++ supporta più paradigmi di programmazione, come OOP, programmazione generica e funzionaleNon possiamo implementare funzionalità di OOP in C .Caratteristiche come gli amici, le funzioni virtuali in C++ migliorano l’essenza di OOP.C supporta i tipi di dati incorporati.C++ supporta sia i tipi di dati incorporati che quelli definiti dall’utente attraverso il concetto di classiÈ previsto l’overloading di operatori o funzioniC++ supporta entrambi gli operatori e sovraccarico delle funzioni (polimorfismo) L’allocazione della memoria viene eseguita tramite le funzioni malloc() e calloc() e la deallocazione tramite free() Allocazione della memoria happ ens usando new operator e deallocazione usando delete operatorC non supporta la gestione delle eccezioniSupporta la gestione delle eccezioniSi concentra sulla procedura o sul metodo più che sui datiPiù incentrato sui datiDifferenze tra C e C++
Alcune altre importanti funzionalità presenti solo in C++ sono:
- Usando la parola chiave namespace, possiamo creare variabili con lo stesso nome in diversi namespace.
- Possiamo usare funzioni all’interno di una struttura. Le strutture possono anche avere modificatori di accesso.
- Supporta variabili di riferimento.
Quando usare C o C++
Questo è un dibattito molto comune tra i programmatori: perché dovrei imparare il C quando posso fare tutto in C++?
L’apprendimento del C ti darà una solida base su strutture di dati, puntatori, parole chiave, concetti di stack, heap e allocazione della memoria.
Oltre a ciò, C è ancora ampiamente utilizzato per app ad alte prestazioni, poiché il compilatore C è più veloce del compilatore C++. Quindi, se vuoi scrivere blocchi di codice che non richiedono oggetti e classi, funzioni virtuali o modelli, scegli C perché C++ potrebbe essere eccessivo con le sue vaste librerie.
La maggior parte della codifica di basso livello come kernel, sistemi operativi e database viene ancora mantenuta in C, quindi conoscere il C ti aiuterà anche a imparare il C++ più velocemente.
Il C++ è considerato uno dei linguaggi più veloci ed efficienti, motivo per cui è ancora uno dei migliori linguaggi di programmazione, in particolare per applicazioni ad alte prestazioni come motori di gioco, dispositivi IoT e app desktop. Molte applicazioni utilizzano una combinazione di codice C e C++ per ottenere prestazioni ottimali e il vantaggio della programmazione orientata agli oggetti.
Riepilogo
In questo articolo, abbiamo appreso le basi di C e C++ con un semplice programma di esempio. Abbiamo discusso le principali differenze e somiglianze tra le due lingue e quando usarle.
Se stai appena iniziando il tuo percorso di sviluppo software, iniziare con C ti darà una spinta in più, poiché è facile e copre tutti i concetti di programmazione, come strutture dati, puntatori, memoria e così via.
Potresti essere interessato all’uso del compilatore C online e del compilatore C++ di winadmin.it.