C vs. C++: Különbségek és hasonlóságok

C a C++ alapja. Míg a C++-t szélesebb körben használják asztali alkalmazásokhoz és játékokhoz, kiváló lehetőség C-vel kezdeni, különösen akkor, ha még új a szoftvervilágban. Olvassa el, hogy megtudja, miért.

Mi az a C?

A C egy magas szintű strukturális programozási nyelv. A C nyelven írt programok hordozhatóak. A C még ma is az egyik legnépszerűbb programozási nyelv, mert robusztus. Összetett programok, például beágyazott rendszerek, illesztőprogramok, kernelek, rendszeralkalmazások, operációs rendszerek, például Microsoft Windows, Apple OS X, adatbázisok, például MySQL, és egyes IoT-alkalmazások esetén használják.

A C egy lefordított nyelv, így absztrakciós réteget biztosít a gépi kód és a program között.

Egy egyszerű C program két szám összeadására így fog kinézni.

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

Íme a kimenet:

A példa C program kimenete

A C programok közé tartozik az stdio.h – a szabványos bemeneti kimenet.

Az STDIO olyan alapvető bemeneti-kimeneti funkciókat biztosít, mint a printf és a scanf. A printf valami (üzenet, kimenet) nyomtatására szolgál a konzolon, míg a scanf a bemenetek fogadására szolgál a konzolról. A %d használatával jelezzük, hogy a számok egész számok.

Ha tizedesjegyeket adsz meg, furcsa válaszokat fogsz kapni. Ennek elkerülésére használhatja a %f. A main() függvény az első függvény, amely a program futása során kerül végrehajtásra. A szintaxis nagyon egyszerű – deklarálja a változótípusokat, majd használja őket.

Mi az a C++?

A C++ olyan objektumorientált programozási elveken alapul, mint az absztrakció, a polimorfizmus, az öröklődés és a beágyazás. A C++-t a C kiterjesztésének tekinthetjük az osztályok és objektumok fogalmával.

Az adatok tárolására szolgáló objektumok tiszta struktúrát adott a programoknak. Ha például egy tanuló adatait szeretné tárolni, létrehozhat egy tanulói osztályt, és az osztály alatt olyan attribútumokat hozhat létre, mint a név, életkor, hobbik, jegyek stb. Valódi diákobjektumot bármikor létrehozhat!

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

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

A valóságban az objektum létrehozása és a memória lefoglalása csak futás közben történik.

  A qTox kliens telepítése Linuxra

A C++ nagy teljesítményt nyújt, ezért ma is a legnépszerűbb választás nagy teljesítményű játékmotorok, beágyazott rendszerek, böngészők, fordítók és grafikus alapú alkalmazások, például képfeldolgozáshoz.

Kevés olyan adatbázis, mint a MongoDB, C++ nyelven íródott. Csakúgy, mint a C, a C++ is hordozható.

Írjuk meg előző összeadó programunkat C++ nyelven – figyeljük meg a különböző függvényeket.

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

Ne feledje, hogy a printf és a scanf helyett cout és cin kifejezéseket használunk. Ezenkívül a típusdeklaráció bárhol elvégezhető a programban a változó használata előtt (például az összeg változó). A print utasítás meglehetősen egyszerű, csak a változók nevei vannak. Vegye figyelembe, hogy az iostream fejlécéből az std névteret használjuk. Az std olyan módszereket tartalmaz, mint a cout, in és még sok más.

Hasonlóságok a C és a C++ között

Azt mondhatjuk, hogy C a C++ részhalmaza. Sok hasonlóság van a C és a C++ között, legyen szó a programok írásmódjáról vagy az alkalmazásokról, amelyekhez használják őket. Mindkettő robusztus, hordozható és nagy teljesítményű. Néhány fontos hasonlóság:

Sno.FeatureExplanation1.SyntaxMindkettőnek ugyanaz a szintaxisa, például változó deklaráció, sorvégi pontosvessző, elnevezési konvenciók stb.2. Szerkezeti és eljárási A kód minden sora egyenként kerül végrehajtásra. A programok a következőképpen épülnek fel – először az importálások, majd a változódeklarációk, majd a fő kód.3.Main() function Minden végrehajtandó kódnak a main() függvényen belül kell lennie. A main() az első függvényhívás a program végrehajtása során.4.Mutatók A C és a C++ is ugyanúgy használja a mutatókat. A mutató egy olyan változó, amely egy másik változó memóriacímét tárolja. Például int a = 1;. Amint ez a kód lefut, egy memória (mondjuk XX0011) lesz lefoglalva a. Az ‘a’ memóriahelye az „és” jel (&) használatával érhető el: int ptr_a = &a;5.Kulcsszavak és operátorok A C-ben szereplő összes kulcsszó és operátor érvényes C++-ra is. Például: hatókör, statikus, publikus, int stb. A C++-nak további operátorai és kulcsszavai is vannak. Hasonlóságok a C és a C++ között

  Használja a Vimiumot a billentyűzettel való böngészéshez Chrome és Firefox böngészőben

A C és a C++ közötti különbségek

A C++ azért jött létre, hogy kiküszöbölje a C néhány hiányosságát, és a C szuperkészlete. Tehát minden C nyelven írt program működik C++ nyelven – de fordítva nem! A fő különbség a C és a C++ között az, hogy a C++ az objektum-orientált programozási elveken (OOP) alapul. Emellett nagyobb hangsúlyt kap a típusellenőrzés a C++ nyelven. Van néhány apróbb különbség is, az alábbiak szerint:

A CC++-t 1969 és 1973 között fejlesztette ki Dennis Ritchie, az AT&T Bell laborjában. Bjarne Stroustrup fejlesztette 1979-ben. Nem követi az objektum-orientált programozási elveket. , switch, int, static, union és másokAz összes C kulcsszó érvényes C++ nyelven, és 31 további kulcsszó is jelen van. Csak a procedurális programozást támogatja A C++ több programozási paradigmát is támogat, mint például az OOP, az általános és funkcionális programozás. Nem tudjuk megvalósítani az OOP jellemzőit C nyelven .Az olyan funkciók, mint a barátok, a virtuális funkciók a C++-ban, fokozzák az OOP lényegét. A C++ támogatja a beépített adattípusokat. A C++ támogatja a beépített és a felhasználó által definiált adattípusokat is az osztályok koncepcióján keresztül. és függvény túlterhelés (polimorfizmus) A memóriafoglalás malloc() és calloc() függvényekkel történik, a felszabadítás pedig a free()memóriakiosztással happ ens új operátort használ, és a delete operatorC használatával történő felszabadítás nem támogatja a kivételkezelést Támogatja a kivételkezelést Az eljárásra vagy a metódusra fókuszál jobban, mint az adatokra Több hangsúlyt fektet az adatokra.

  A Caps Lock története: Miért létezik a Caps Lock billentyű?

Néhány további fontos funkció, amely csak a C++-ban található:

  • A névtér kulcsszó használatával azonos nevű változókat hozhatunk létre különböző névterekben.
  • Használhatunk függvényeket egy szerkezeten belül. A struktúráknak hozzáférésmódosítók is lehetnek.
  • Támogatja a referenciaváltozókat.

Mikor érdemes C-t vagy C++-t használni?

Ez nagyon gyakori vita a programozók között – miért tanuljak C-t, ha mindent meg tudok csinálni C++-ban?

A C elsajátítása szilárd alapot nyújt az adatstruktúrákhoz, a mutatókhoz, a kulcsszavakhoz, a verem, a kupac és a memóriafoglalás fogalmaihoz.

Emellett a C-t továbbra is széles körben használják nagy teljesítményű alkalmazásokhoz, mivel a C fordító gyorsabb, mint a C++ fordító. Tehát, ha olyan kóddarabokat szeretne írni, amelyekhez nincs szükség objektumokra és osztályokra, virtuális függvényekre vagy sablonokra, válassza a C-t, mert a C++ túlzásba esik a kiterjedt könyvtáraival.

A legtöbb alacsony szintű kódolás, például a kernelek, operációs rendszerek és adatbázisok továbbra is C-ben vannak karbantartva, így a C ismerete segít a C++ gyorsabb tanulásában is.

A C++ az egyik leggyorsabb és leghatékonyabb nyelv – ezért továbbra is az egyik legnépszerűbb programozási nyelv, különösen a nagy teljesítményű alkalmazások, például a játékmotorok, az IoT-eszközök és az asztali alkalmazások esetében. Sok alkalmazás a C és C++ kód kombinációját használja – az optimális teljesítmény és az objektumorientált programozás előnyeinek elérése érdekében.

Összegzés

Ebben a cikkben a C és a C++ alapjait tanultuk meg egy egyszerű példaprogrammal. Megbeszéltük a két nyelv közötti főbb különbségeket és hasonlóságokat, valamint azt, hogy mikor kell használni őket.

Ha még csak most kezdi a szoftverfejlesztési utat, a C betűvel kezdés növeli az önbizalmat, mivel egyszerű, és lefedi az összes programozási fogalmat, például adatstruktúrákat, mutatókat, memóriát stb.

Érdekelheti a etoppc.com online C Compiler és C++ Compiler programját.