C pret C++: atšķirības un līdzības

C ir C++ pamats. Lai gan C++ tiek plašāk izmantots galddatoru lietotnēm un spēlēm, tā ir lieliska iespēja sākt ar C, it īpaši, ja esat iesācējs programmatūras pasaulē. Lasiet tālāk, lai uzzinātu, kāpēc.

Kas ir C?

C ir augsta līmeņa strukturālās programmēšanas valoda. Programmas, kas rakstītas C valodā, ir pārnēsājamas. C joprojām ir viena no populārākajām programmēšanas valodām šodien, jo tā ir izturīga. To izmanto sarežģītām programmām, piemēram, iegultajām sistēmām, draiveriem, kodoliem, sistēmas lietojumprogrammām, operētājsistēmām, piemēram, Microsoft Windows, Apple OS X, datu bāzēm, piemēram, MySQL, un dažām IoT lietojumprogrammām.

C ir kompilēta valoda, tādējādi nodrošinot abstrakcijas slāni starp mašīnas kodu un programmu.

Vienkārša C programma divu skaitļu pievienošanai izskatīsies šādi.

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

Šeit ir izvade:

Piemēra C programmas izvade

C programmās ietilpst stdio.h – standarta ievades izvade.

STDIO nodrošina pamata ievades-izejas funkcijas, piemēram, printf un scanf. printf izmanto, lai drukātu kaut ko (ziņojumu, izvadi) konsolē, bet scanf tiek izmantots, lai ņemtu ievadi no konsoles. Mēs izmantojam %d, lai norādītu, ka skaitļi ir veseli skaitļi.

Ja jūs ievadīsit decimāldaļas, jūs saņemsiet dažas dīvainas atbildes. Lai no tā izvairītos, varat izmantot %f. Funkcija main () ir pirmā funkcija, kas tiek izpildīta, kad programma darbojas. Sintakse ir ļoti vienkārša – deklarējiet mainīgo tipus un pēc tam izmantojiet tos.

Kas ir C++?

C++ pamatā ir objektorientētas programmēšanas principi, piemēram, abstrakcija, polimorfisms, mantošana un iekapsulēšana. Jūs varat domāt par C++ kā C paplašinājumu ar klašu un objektu jēdzienu.

Datu uzglabāšanas objekti nodrošināja programmām glītu struktūru. Piemēram, ja vēlaties saglabāt informāciju par studentu, varat izveidot Studentu klasi un zem klases izveidot atribūtus, piemēram, vārdu, vecumu, vaļaspriekus, atzīmes utt. Ja nepieciešams, varat izveidot īstu studenta objektu!

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

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

Patiesībā objekts tiks izveidots un atmiņa tiks piešķirta tikai izpildlaika laikā.

  Kā savam iPhone tālrunim pievienot pasaules pulksteņa un laika joslas logrīkus

C++ nodrošina augstu veiktspēju, tāpēc tā ir vispopulārākā izvēle augstas veiktspējas spēļu dzinēju, iegulto sistēmu, pārlūkprogrammu, kompilatoru un uz grafikas balstītu lietojumprogrammu, piemēram, attēlu apstrādes, izstrādei.

Dažas datu bāzes, piemēram, MongoDB, ir rakstītas C++ valodā. Tāpat kā C, arī C++ ir pārnēsājams.

Rakstīsim mūsu iepriekšējo pievienošanas programmu C++ valodā – ievērojiet dažādās funkcijas.

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

Ņemiet vērā, ka mēs izmantojam cout un cin, nevis printf un scanf. Arī tipu deklarācijas var veikt jebkurā programmas vietā pirms mainīgā lieluma izmantošanas (piemēram, mainīgā summa). Drukāšanas paziņojums ir diezgan vienkāršs, izmantojot tikai mainīgo nosaukumus. Ņemiet vērā, ka mēs izmantojam nosaukumvietu std no iostream galvenes. std ir tādas metodes kā cout, in un daudzas citas.

C un C++ līdzības

Var teikt, ka C ir C++ apakškopa. Starp C un C++ ir daudz līdzību, neatkarīgi no tā, kā programmas tiek rakstītas, vai programmās, kurām tās tiek izmantotas. Abas ir izturīgas, pārnēsājamas un augstas veiktspējas. Dažas svarīgas līdzības ir:

Sno.FeatureExplanation1.Syntax Abām ir viena un tā pati sintakse, piemēram, mainīgā deklarācija, rindas beigu semikols, nosaukumu piešķiršanas noteikumi utt.2.Strukturālie un procedūrasKatra koda rinda tiek izpildīta pa vienai. Programmas ir strukturētas šādi – vispirms imports, tad mainīgo deklarācijas un tad galvenais kods.3.Funkcija Galvenā()Visam kodam, kas jāizpilda, jāatrodas funkcijā main() iekšā. main() ir pirmais funkcijas izsaukums programmas izpildes laikā.4.Norādītāji Gan C, gan C++ izmanto norādes vienādi. Rādītājs ir mainīgais, kas saglabā cita mainīgā lieluma atmiņas adresi. Piemēram, int a = 1;. Tiklīdz šis kods tiks izpildīts, atmiņa (piemēram, XX0011) tiks piešķirta a. Atmiņas vietai ‘a’ var piekļūt, izmantojot simbolu & (&) kā int ptr_a = &a;5. Atslēgvārdi un operatoriVisi C atslēgvārdi un operatori ir derīgi arī C++. Piemēram, tvērums, statiskais, publiskais, int utt. C++ ir arī papildu operatori un atslēgvārdi. C un C++ līdzības

  Kā izveidot tiešu saiti uz tīmekļa lapas sadaļu

Atšķirības starp C un C++

C++ tika izveidots, lai novērstu dažus C trūkumus, un tas ir C virskopa. Tātad jebkura programma, kas rakstīta C valodā, darbosies C++ valodā, bet ne otrādi! Galvenā atšķirība starp C un C++ ir tā, ka C++ pamatā ir programmēšanas objektorientēti principi (OOP). Tāpat ir lielāks uzsvars uz tipa pārbaudi C++ valodā. Ir arī dažas smalkākas atšķirības, kā norādīts tālāk:

CC++ no 1969. līdz 1973. gadam izstrādāja Deniss Ričijs AT&T Bell laboratorijā. Izstrādāja Bjarne Stroustrup 1979. gadā. Neatbilst objektorientētas programmēšanas principiem. , switch, int, static, union un citiVisi C atslēgvārdi ir derīgi C++ valodā, un ir pieejams arī 31 papildu atslēgvārds. Atbalsta tikai procesuālo programmēšanu C++ atbalsta vairākas programmēšanas paradigmas, piemēram, OOP, vispārīgo un funkcionālo programmēšanu. Mēs nevaram ieviest OOP funkcijas C valodā. .Funkcijas, piemēram, draugi, virtuālās funkcijas programmā C++ uzlabo OOP būtību.C atbalsta iebūvētos datu tipus.C++ atbalsta gan iebūvētos, gan lietotāja definētos datu tipus, izmantojot klašu jēdzienu. Ir nodrošināta operatora vai funkciju pārslodze.C++ atbalsta abus operatorus. un funkciju pārslodze (polimorfisms)Atmiņas piešķiršana tiek veikta, izmantojot malloc() un calloc() funkcijas, un atdalīšana, izmantojot free()Memory allocation happ ens, izmantojot jaunu operatoru, un atdalīšana, izmantojot delete operatorC neatbalsta izņēmumu apstrādi Atbalsta izņēmumu apstrādi Vairāk koncentrējas uz procedūru vai metodi, nevis uz datiemVairāk koncentrējas uz datiemAtšķirības starp C un C++

  Kā ieviest SSL Apache Tomcat?

Dažas citas svarīgas funkcijas, kas pieejamas tikai C++, ir:

  • Izmantojot nosaukumvietas atslēgvārdu, mēs varam izveidot vienāda nosaukuma mainīgos dažādās nosaukumvietās.
  • Mēs varam izmantot funkcijas struktūrā. Struktūrām var būt arī piekļuves modifikatori.
  • Atbalsta atsauces mainīgos.

Kad lietot C vai C++

Programmētāju vidū šīs ir ļoti izplatītas debates — kāpēc man vajadzētu mācīties C, ja visu varu darīt C++?

Apgūstot C, jūs iegūsit stabilu pamatu datu struktūrām, norādēm, atslēgvārdiem, steka, kaudzes un atmiņas piešķiršanas jēdzieniem.

Turklāt C joprojām tiek plaši izmantots augstas veiktspējas lietotnēm, jo ​​C kompilators ir ātrāks nekā C++ kompilators. Tātad, ja vēlaties rakstīt koda gabalus, kuriem nav nepieciešami objekti un klases, virtuālās funkcijas vai veidnes, izvēlieties C, jo C++ var būt pārspīlēts ar tā plašajām bibliotēkām.

Lielākā daļa zema līmeņa kodēšanas, piemēram, kodoli, operētājsistēmas un datu bāzes, joprojām tiek uzturētas C valodā, tāpēc, zinot C, jūs arī varēsit ātrāk apgūt C++.

C++ tiek uzskatīta par vienu no ātrākajām un efektīvākajām valodām, tāpēc tā joprojām ir viena no populārākajām programmēšanas valodām, īpaši augstas veiktspējas lietojumprogrammām, piemēram, spēļu dzinējiem, IoT ierīcēm un galddatoru lietotnēm. Daudzas lietojumprogrammas izmanto C un C++ koda kombināciju, lai sasniegtu optimālu veiktspēju un objektu orientētas programmēšanas priekšrocības.

Kopsavilkums

Šajā rakstā mēs uzzinājām C un C++ pamatus, izmantojot vienkāršu programmas piemēru. Mēs apspriedām galvenās atšķirības un līdzības starp abām valodām un to, kad lietot katru.

Ja jūs tikko sākat savu programmatūras izstrādes ceļu, sākot ar C sniegs jums pārliecību, jo tas ir vienkārši un aptver visas programmēšanas koncepcijas, piemēram, datu struktūras, norādes, atmiņu utt.

Iespējams, jūs interesēs izmantot pcdream.lt tiešsaistes C kompilatoru un C++ kompilatoru.