C vs. C++: Rozdíly a podobnosti

C je základem pro C++. Zatímco C++ se více používá pro stolní aplikace a hry, je to vynikající možnost začít s C, zvláště pokud jste ve světě softwaru nováčkem. Čtěte dále, abyste věděli proč.

co je C?

C je strukturovaný programovací jazyk na vysoké úrovni. Programy napsané v C jsou přenosné. C je dnes stále jedním z nejlepších programovacích jazyků, protože je robustní. Používá se pro komplexní programy, jako jsou vestavěné systémy, ovladače, jádra, systémové aplikace, operační systémy jako Microsoft Windows, Apple OS X, databáze jako MySQL a některé aplikace IoT.

C je kompilovaný jazyk, takže poskytuje vrstvu abstrakce mezi strojovým kódem a programem.

Jednoduchý program v C pro sečtení dvou čísel bude vypadat takto.

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

Zde je výstup:

Výstup ukázkového programu C

C programy zahrnují stdio.h – standardní vstupní výstup.

STDIO poskytuje základní vstupně-výstupní funkce jako printf a scanf. printf se používá k tisku něčeho (zprávy, výstupu) na konzoli, zatímco scanf se používá k přijímání vstupů z konzole. Používáme %d k označení, že čísla jsou celá čísla.

Pokud zadáte desetinná místa, dostanete podivné odpovědi. Abyste tomu zabránili, můžete použít %f. Funkce main() je první funkcí, která se provede při spuštění programu. Syntaxe je velmi jednoduchá – deklarujte typy proměnných a poté je použijte.

Co je C++?

C++ je založeno na principech objektově orientovaného programování, jako je abstrakce, polymorfismus, dědičnost a zapouzdření. C++ si můžete představit jako rozšíření jazyka C s konceptem tříd a objektů.

  Jak smazat účet Skype

Objekty pro ukládání dat poskytly programům úhlednou strukturu. Chcete-li například uložit podrobnosti o studentovi, můžete vytvořit třídu Student a pod třídou vytvořit atributy jako jméno, věk, koníčky, známky atd. V případě potřeby můžete vytvořit skutečný studentský objekt!

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

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

Ve skutečnosti bude objekt vytvořen a paměť alokována pouze za běhu.

C++ poskytuje vysoký výkon, a proto je i dnes nejoblíbenější volbou pro vývoj vysoce výkonných herních enginů, vestavěných systémů, prohlížečů, kompilátorů a grafických aplikací, jako je zpracování obrazu.

Jen málo databází jako MongoDB je napsáno v C++. Stejně jako C je C++ přenosný.

Pojďme napsat náš předchozí sčítací program v C++ – všimněte si různých funkcí.

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

Všimněte si, že místo printf a scanf používáme cout a cin. Také deklarace typu lze provést kdekoli v programu před použitím proměnné (například proměnná suma). Tiskový příkaz je poměrně jednoduchý pouze s názvy proměnných. Všimněte si, že používáme jmenný prostor std z hlavičky iostream. std má metody jako cout, in a mnoho dalších.

Podobnosti mezi C a C++

Můžete říci, že C je podmnožinou C++. Mezi C a C++ je mnoho podobností, ať už ve způsobu, jakým jsou programy napsány, nebo v aplikacích, pro které se používají. Oba jsou robustní, přenosné a vysoce výkonné. Některé důležité podobnosti jsou:

Sno.FeatureExplanation1.SyntaxBoth mají stejnou syntaxi, například deklaraci proměnné, středník na konci řádku, konvence pojmenování atd.2.Strukturální a procedurálníKaždý řádek kódu se provádí jeden po druhém. Programy jsou strukturovány následovně – nejprve importy, poté deklarace proměnných a poté hlavní kód. 3. Funkce Main() Veškerý kód, který je třeba provést, by měl být uvnitř funkce main(). main() je první volání funkce během provádění programu. 4. Ukazatele Jak C, tak C++ používají ukazatele stejným způsobem. Ukazatel je proměnná, která ukládá paměťovou adresu jiné proměnné. Například int a = 1;. Jakmile je tento kód proveden, bude alokována paměť (řekněme XX0011). K paměťovému umístění ‚a‘ lze přistupovat pomocí ampersandu (&) jako int ptr_a = &a;5. Klíčová slova a operátoryVšechna klíčová slova a operátory přítomné v C jsou platné i pro C++. Například rozsah, statický, veřejný, int atd. C++ má také další operátory a klíčová slova.Podobnosti mezi C a C++

  Jak používat progresivní webovou aplikaci Disku Google

Rozdíly mezi C a C++

C++ byl vytvořen, aby překonal některé nedostatky jazyka C a je nadmnožinou jazyka C. Jakýkoli program napsaný v C bude tedy fungovat v C++ – ale ne naopak! Hlavní rozdíl mezi C a C++ je ten, že C++ je založeno na objektově orientovaných principech (OOP) programování. V C++ je také kladen větší důraz na typovou kontrolu. Existuje také několik jemnějších rozdílů, jak je uvedeno níže:

CC++ bylo vyvinuto v letech 1969-1973 Dennisem Ritchiem v laboratořích AT&T Bell Vyvinuto Bjarnem Stroustrupem v roce 1979. Neřídí se principy objektově orientovaného programování Založeno na konceptech OOPS, jako je zapouzdření, polymorfismus a dědičnostC obsahuje celkem 32 klíčových slov jako např. , switch, int, static, union a dalšíVšechna klíčová slova C jsou platná v C++ a je zde také 31 dalších klíčových slov.Podporuje pouze procedurální programováníC++ podporuje více programovacích paradigmat, jako je OOP, generické a funkční programováníNemůžeme implementovat funkce OOP v C .Funkce jako přátelé, virtuální funkce v C++ vylepšují podstatu OOP.C podporuje vestavěné datové typy.C++ podporuje vestavěné i uživatelem definované datové typy prostřednictvím konceptu tříd Existuje opatření pro přetížení operátorů nebo funkcíC++ podporuje oba operátory a přetížení funkcí (polymorfismus) Alokace paměti se provádí pomocí funkcí malloc() a calloc() a dealokace pomocí free()Alokace paměti happ ens pomocí nového operátoru a dealokace pomocí delete operatorC nepodporuje zpracování výjimek Podporuje zpracování výjimek Zaměřuje se na proceduru nebo metodu více než dataVíce se zaměřuje na dataRozdíly mezi C a C++

  Jak rozdělit obrazovku na iPhone

Některé další důležité funkce přítomné pouze v C++ jsou:

  • Pomocí klíčového slova jmenného prostoru můžeme vytvářet stejnojmenné proměnné v různých jmenných prostorech.
  • Můžeme použít funkce uvnitř struktury. Struktury mohou mít také modifikátory přístupu.
  • Podporuje referenční proměnné.

Kdy použít C nebo C++

Toto je velmi častá debata mezi programátory – proč bych se měl učit C, když můžu dělat všechno v C++?

Výuka C vám dá pevný základ pro datové struktury, ukazatele, klíčová slova, koncepty zásobníku, haldy a alokace paměti.

Kromě toho je C stále široce používán pro vysoce výkonné aplikace, protože kompilátor C je rychlejší než kompilátor C++. Pokud tedy chcete psát kusy kódu, které nevyžadují objekty a třídy, virtuální funkce nebo šablony, jděte na C, protože C++ může být přehnané svými rozsáhlými knihovnami.

Většina nízkoúrovňového kódování, jako jsou jádra, operační systémy a databáze, je stále udržována v C, takže znalost C vám také pomůže naučit se C++ rychleji.

C++ je považován za jeden z nejrychlejších a nejefektivnějších jazyků – a proto je stále jedním z nejlepších programovacích jazyků, zejména pro vysoce výkonné aplikace, jako jsou herní stroje, zařízení internetu věcí a desktopové aplikace. Mnoho aplikací používá kombinaci kódu C a C++ – k dosažení optimálního výkonu a výhod objektově orientovaného programování.

souhrn

V tomto článku jsme se naučili základy C a C++ pomocí jednoduchého příkladu programu. Diskutovali jsme o hlavních rozdílech a podobnostech mezi oběma jazyky a o tom, kdy je použít.

Pokud svou cestu vývoje softwaru teprve začínáte, počínaje jazykem C vám zvýší sebevědomí, protože je snadné a pokrývá všechny programovací koncepty, jako jsou datové struktury, ukazatele, paměť a tak dále.

Možná vás bude zajímat použití etechblog.cz online kompilátoru C a kompilátoru C++.