C vs. C++: Forskjeller og likheter

C er grunnlaget for C++. Mens C++ er mer utbredt for stasjonære apper og spill, er det et utmerket alternativ å starte med C, spesielt hvis du er ny i programvareverdenen. Les videre for å vite hvorfor.

Hva er C?

C er et strukturelt programmeringsspråk på høyt nivå. Programmer skrevet i C er bærbare. C er fortsatt et av de beste programmeringsspråkene i dag fordi det er robust. Den brukes til komplekse programmer som innebygde systemer, drivere, kjerner, systemapplikasjoner, operativsystemer som Microsoft Windows, Apple OS X, databaser som MySQL og noen IoT-applikasjoner.

C er et kompilert språk, og gir dermed et lag av abstraksjon mellom maskinkoden og programmet.

Et enkelt C-program for å legge til to tall vil se slik ut.

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

Her er utgangen:

Utdata fra eksempel C-programmet

C-programmer inkluderer stdio.h – standard inngangsutgang.

STDIO gir grunnleggende input-output-funksjoner som printf og scanf. printf brukes til å skrive ut noe (melding, utgang) på konsollen, mens scanf brukes til å ta innspill fra konsollen. Vi bruker %d for å indikere at tallene er heltall.

Hvis du gir desimaler, får du noen rare svar. For å unngå dette kan du bruke %f. Main()-funksjonen er den første funksjonen som utføres når programmet kjører. Syntaksen er veldig enkel – deklarer variabeltypene og bruk dem deretter.

Hva er C++?

C++ er basert på objektorienterte programmeringsprinsipper som abstraksjon, polymorfisme, arv og innkapsling. Du kan tenke på C++ som en utvidelse av C med konseptet klasser og objekter.

  Forhåndsvis bilder og endre EXIF-data med Photo Data Explorer

Å ha objekter for å lagre data ga en ryddig struktur på programmene. Hvis du for eksempel vil lagre detaljer om en elev, kan du opprette en elevklasse og lage attributter som navn, alder, hobbyer, merker osv. under klassen. Du kan lage et ekte studentobjekt når det er nødvendig!

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

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

I virkeligheten vil objektet bli opprettet og minne tildelt bare under kjøring.

C++ gir høy ytelse, og det er derfor det er det mest populære valget selv i dag for å utvikle høyytelses spillmotorer, innebygde systemer, nettlesere, kompilatorer og grafikkbaserte applikasjoner som bildebehandling.

Få databaser som MongoDB er skrevet i C++. Akkurat som C, er C++ bærbar.

La oss skrive vårt forrige tilleggsprogram i C++ – legg merke til de forskjellige funksjonene.

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

Merk at vi bruker cout og cin i stedet for printf og scanf. Typedeklarasjoner kan også gjøres hvor som helst i programmet før variabelen brukes (for eksempel variabelsum). Utskriftssetningen er ganske enkel med bare variabelnavnene. Merk at vi bruker navneområdet std fra iostream-overskriften. std har metodene som cout, in og mange flere.

Likheter mellom C og C++

Du kan si at C er en delmengde av C++. Det er mange likheter mellom C og C++, enten det er i måten programmer skrives på eller applikasjonene de brukes til. Begge er robuste, bærbare og svært ytende. Noen viktige likheter er:

Sno.FeatureExplanation1.SyntaksBegge har samme syntaks, for eksempel variabeldeklarasjon, semikolon på slutten av linjen, navnekonvensjoner osv.2.Strukturelle og prosedyremessige Hver kodelinje utføres én etter én. Programmene er strukturert som følger – først importene, deretter variable deklarasjoner, og deretter hovedkoden.3.Main()-funksjonAll koden som må utføres, skal være inne i main()-funksjonen. main() er det første funksjonskallet under programkjøring.4.PointersBåde C og C++ bruker pekere på samme måte. En peker er en variabel som lagrer minneadressen til en annen variabel. For eksempel, int a = 1;. Så snart denne koden er utført, vil et minne (f.eks. XX0011) bli tildelt for en. Minneplasseringen til «a» kan nås ved å bruke og-tegnet (&) som int ptr_a = &a;5.Søkeord og operatorerAlle nøkkelord og operatorer som finnes i C er også gyldige for C++. For eksempel scope, static, public, int, osv. C++ har også flere operatorer og nøkkelord. Likheter mellom C og C++

  8 Fantastisk webhotellkontrollpanel og serveradministrasjonsprogramvare

Forskjeller mellom C og C++

C++ ble laget for å overvinne noen av manglene til C og er et supersett av C. Så ethvert program skrevet i C vil fungere i C++ – men ikke omvendt! Hovedforskjellen mellom C og C++ er at C++ er basert på objektorienterte prinsipper (OOP) for programmering. Dessuten er det mer vekt på typesjekking i C++. Det er også noen mer subtile forskjeller som er oppført nedenfor:

CC++Ble utviklet mellom 1969-1973 av Dennis Ritchie ved AT&T Bell labs Utviklet av Bjarne Stroustrup i 1979. Følger ikke objektorienterte programmeringsprinsipper Basert på OOPS-konseptene, som innkapsling, polymorfisme og arv.C inneholder totalt 32 char nøkkelord , switch, int, static, union og andreAlle C-nøkkelordene er gyldige i C++, og 31 ekstra nøkkelord er også til stede. Støtter kun prosedyreprogrammeringC++ støtter flere programmeringsparadigmer, som OOP, generisk og funksjonell programmering.Vi kan ikke implementere funksjoner i OOP i C .Funksjoner som venner, virtuelle funksjoner i C++ forbedrer essensen av OOP.C støtter innebygde datatyper.C++ støtter både innebygde og brukerdefinerte datatyper gjennom konseptet med klasser.Det er mulighet for operatør- eller funksjonsoverbelastning C++ støtter begge operatører og funksjonsoverbelastning (polymorfisme)Minneallokering gjøres gjennom malloc() og calloc() funksjoner, og deallokering ved hjelp av gratis()Minneallokering happ ens bruker ny operatør, og deallokering ved bruk av delete-operatorC støtter ikke unntakshåndtering Støtter unntakshåndtering Fokuserer på prosedyren eller metoden mer enn dataMer fokusert på dataForskjeller mellom C og C++

  Hvordan fortelle om noen leser meldingen din i WeChat

Noen andre viktige funksjoner som kun finnes i C++ er:

  • Ved å bruke nøkkelord for navneområde kan vi lage variabler med samme navn i forskjellige navnerom.
  • Vi kan bruke funksjoner inne i en struktur. Strukturer kan også ha tilgangsmodifikatorer.
  • Støtter referansevariabler.

Når du skal bruke C eller C++

Dette er en veldig vanlig debatt blant programmerere – hvorfor skal jeg lære C når jeg kan gjøre alt i C++?

Å lære C vil gi deg et solid grunnlag på datastrukturer, pekere, nøkkelord, konsepter for stack, heap og minneallokering.

Utenom det er C fortsatt mye brukt for apper med høy ytelse, siden C-kompilatoren er raskere enn C++-kompilatoren. Så hvis du vil skrive biter av kode som ikke krever objekter og klasser, virtuelle funksjoner eller maler, gå for C fordi C++ kan være overkill med sine omfattende biblioteker.

Mest lavnivåkoding som kjerner, operativsystemer og databaser opprettholdes fortsatt i C, så å kjenne til C vil også hjelpe deg å lære C++ raskere.

C++ regnes som et av de raskeste og mest effektive språkene – og det er derfor det fortsatt er et av de beste programmeringsspråkene, spesielt for høyytelsesapplikasjoner som spillmotorer, IoT-enheter og skrivebordsapper. Mange applikasjoner bruker en kombinasjon av C- og C++-kode – for å oppnå optimal ytelse og fordelen med objektorientert programmering.

Sammendrag

I denne artikkelen lærte vi det grunnleggende om C og C++ med et enkelt eksempelprogram. Vi diskuterte de viktigste forskjellene og likhetene mellom begge språkene og når de skal brukes.

Hvis du nettopp har begynt på programvareutviklingsreisen, vil det å starte med C gi deg et selvtillitsøkt, siden det er enkelt og dekker alle programmeringskonseptene, som datastrukturer, pekere, minne og så videre.

Du kan være interessert i å bruke tipsbilk.net sin online C Compiler og C++ Compiler.