C vs. C++: diferențe și asemănări

C este baza pentru C++. În timp ce C++ este utilizat mai pe scară largă pentru aplicații desktop și jocuri, este o opțiune excelentă pentru a începe cu C, mai ales dacă sunteți nou în lumea software-ului. Citiți mai departe pentru a afla de ce.

Ce este C?

C este un limbaj de programare structural de nivel înalt. Programele scrise în C sunt portabile. C este încă unul dintre limbajele de programare de top astăzi, deoarece este robust. Este folosit pentru programe complexe precum sisteme încorporate, drivere, nuclee, aplicații de sistem, sisteme de operare precum Microsoft Windows, Apple OS X, baze de date precum MySQL și unele aplicații IoT.

C este un limbaj compilat, oferind astfel un strat de abstractizare între codul mașinii și program.

Un program simplu C pentru a adăuga două numere va arăta astfel.

#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;
}

Iată rezultatul:

Ieșirea exemplului de program C

Programele C includ stdio.h – ieșirea standard de intrare.

STDIO oferă funcții de bază de intrare-ieșire precum printf și scanf. printf este folosit pentru a imprima ceva (mesaj, ieșire) pe consolă, în timp ce scanf este folosit pentru a prelua intrări din consolă. Folosim %d pentru a indica faptul că numerele sunt numere întregi.

Dacă dai zecimale, vei primi niște răspunsuri ciudate. Pentru a evita acest lucru, puteți utiliza %f. Funcția main() este prima funcție care este executată când programul rulează. Sintaxa este foarte simplă – declarați tipurile de variabile și apoi utilizați-le.

Ce este C++?

C++ se bazează pe principii de programare orientate pe obiecte cum ar fi abstracția, polimorfismul, moștenirea și încapsularea. Vă puteți gândi la C++ ca la o extensie a C cu conceptul de clase și obiecte.

A avea obiecte pentru stocarea datelor a dat o structură îngrijită programelor. De exemplu, dacă doriți să stocați detaliile unui student, puteți crea o clasă Student și puteți crea atribute precum numele, vârsta, hobby-urile, notele etc., sub clasă. Puteți crea un obiect student real oricând este necesar!

class Student {
public: 
char name[20];
int age;
float marks;
};

//This will create an object
Student student1 = new Student();

În realitate, obiectul va fi creat și memoria alocată numai în timpul rulării.

  Întrerupeți și reluați încărcările mari atunci când transferați fișiere online

C++ oferă performanțe ridicate, motiv pentru care este cea mai populară alegere chiar și astăzi pentru dezvoltarea motoarelor de jocuri de înaltă performanță, sistemelor încorporate, browserelor, compilatoarelor și aplicațiilor bazate pe grafică, cum ar fi procesarea imaginilor.

Puține baze de date precum MongoDB sunt scrise în C++. La fel ca C, C++ este portabil.

Să scriem programul nostru de adăugare anterior în C++ – observați diferitele funcții.

#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;
}

Rețineți că folosim cout și cin în loc de printf și scanf. De asemenea, declarațiile de tip pot fi făcute oriunde în program înainte ca variabila să fie utilizată (de exemplu, suma variabilei). Declarația de tipărire este destul de simplă cu doar numele variabilelor. Rețineți că folosim spațiul de nume std din antetul iostream. std are metode precum cout, in și multe altele.

Asemănări între C și C++

Puteți spune că C este un subset al C++. Există multe asemănări între C și C++, fie că este vorba de modul în care sunt scrise programele sau de aplicațiile pentru care sunt folosite. Ambele sunt robuste, portabile și foarte performante. Câteva asemănări importante sunt:

Sno.FeatureExplanation1.SyntaxAmbele au aceeași sintaxă, de exemplu, declarație variabilă, punct și virgulă de la sfârșitul rândului, convenții de denumire etc.2.Structural și proceduralFiecare linie de cod este executată una câte una. Programele sunt structurate după cum urmează – mai întâi importurile, apoi declarațiile de variabile și apoi codul principal. 3. Funcția Main() Tot codul care trebuie executat ar trebui să fie în interiorul funcției main(). main() este primul apel de funcție în timpul execuției programului.4.PointersAtât C, cât și C++ folosesc pointerii în același mod. Un pointer este o variabilă care stochează adresa de memorie a unei alte variabile. De exemplu, int a = 1;. De îndată ce acest cod este executat, o memorie (de exemplu, XX0011) va fi alocată pentru a. Locația de memorie a lui „a” poate fi accesată utilizând ampersand (&) ca int ptr_a = &a;5.Cuvinte cheie și operatoriToate cuvintele cheie și operatorii prezenți în C sunt valabile și pentru C++. De exemplu, scope, static, public, int etc. C++ are operatori suplimentari și cuvinte cheie. Asemănări între C și C++

  18 software esențial despre care fiecare cercetător de date ar trebui să știe

Diferențele dintre C și C++

C++ a fost creat pentru a depăși unele dintre deficiențele lui C și este un superset al lui C. Deci, orice program scris în C va funcționa în C++ – dar nu invers! Principala diferență dintre C și C++ este că C++ se bazează pe principiile de programare orientate pe obiecte (OOP). De asemenea, se pune mai mult accent pe verificarea tipului în C++. Există, de asemenea, câteva diferențe mai subtile, așa cum sunt enumerate mai jos:

CC++A fost dezvoltat între 1969-1973 de Dennis Ritchie la laboratoarele AT&T Bell. Dezvoltat de Bjarne Stroustrup în 1979. Nu urmează principiile de programare orientată pe obiecte Bazat pe conceptele OOPS, cum ar fi încapsularea, polimorfismul și moștenireaC conține un total de 32 de cuvinte cheie precum char. , switch, int, static, union și altele. Toate cuvintele cheie C sunt valide în C++ și sunt prezente, de asemenea, 31 de cuvinte cheie suplimentare. Acceptă doar programare proceduralăC++ acceptă mai multe paradigme de programare, cum ar fi OOP, programare generică și funcțională. Nu putem implementa caracteristicile OOP în C. .Caracteristici precum prietenii, funcțiile virtuale în C++ îmbunătățesc esența OOP.C acceptă tipuri de date încorporate.C++ acceptă atât tipurile de date încorporate, cât și cele definite de utilizator prin conceptul de clase. Există prevederi pentru supraîncărcarea operatorului sau a funcțieiC++ acceptă ambii operatori și supraîncărcarea funcțiilor (polimorfism) Alocarea memoriei se face prin funcțiile malloc() și calloc(), iar dealocarea utilizând free()Happ de alocare a memoriei folosește un operator nou și dealocarea utilizând operatorul de ștergereC nu acceptă gestionarea excepțiilorSuportă gestionarea excepțiilor. Se concentrează pe procedură sau pe metodă mai mult decât pe date. Mai mult concentrat pe date Diferențele dintre C și C++

  Cum să urmăriți un contact Skype

Alte caracteristici importante prezente numai în C++ sunt:

  • Folosind cuvântul cheie namespace, putem crea variabile cu același nume în spații de nume diferite.
  • Putem folosi funcții în interiorul unei structuri. Structurile pot avea și modificatori de acces.
  • Suportă variabile de referință.

Când să folosiți C sau C++

Aceasta este o dezbatere foarte comună în rândul programatorilor – de ce ar trebui să învăț C când pot face totul în C++?

Învățarea C vă va oferi o bază solidă pe structurile de date, indicatorii, cuvintele cheie, conceptele de stivă, heap și alocare de memorie.

În plus, C este încă utilizat pe scară largă pentru aplicațiile de înaltă performanță, deoarece compilatorul C este mai rapid decât compilatorul C++. Deci, dacă doriți să scrieți bucăți de cod care nu necesită obiecte și clase, funcții virtuale sau șabloane, alegeți C, deoarece C++ ar putea fi exagerat cu bibliotecile sale extinse.

Majoritatea codurilor de nivel scăzut, cum ar fi nucleele, sistemele de operare și bazele de date, sunt încă menținute în C, așa că cunoașterea C vă va ajuta și să învățați C++ mai repede.

C++ este considerat unul dintre cele mai rapide și mai eficiente limbaje – motiv pentru care este încă unul dintre limbajele de programare de top, în special pentru aplicațiile de înaltă performanță precum motoarele de jocuri, dispozitivele IoT și aplicațiile desktop. Multe aplicații folosesc o combinație de cod C și C++ – pentru a obține performanțe optime și beneficiile programării orientate pe obiecte.

rezumat

În acest articol, am învățat elementele de bază ale C și C++ cu un exemplu de program simplu. Am discutat despre principalele diferențe și asemănări dintre ambele limbi și când să folosim fiecare.

Dacă abia începeți călătoria de dezvoltare a software-ului, începerea cu C vă va oferi un plus de încredere, deoarece este ușor și acoperă toate conceptele de programare, cum ar fi structurile de date, pointerii, memoria și așa mai departe.

Ați putea fi interesat să utilizați compilatorul C și C++ online de la tipstrick.ro.