Le C est la base du C++. Alors que C++ est plus largement utilisé pour les applications de bureau et les jeux, c'est une excellente option pour commencer avec C, surtout si vous êtes nouveau dans le monde des logiciels. Lisez la suite pour savoir pourquoi.

What is C?

C est un langage de programmation structurel de haut niveau. Les programmes écrits en C sont portables. C est toujours l'un des meilleurs langages de programmation aujourd'hui car il est robuste. Il est utilisé pour des programmes complexes comme les systèmes embarqués, les pilotes, les noyaux, les applications système, les systèmes d'exploitation comme Microsoft Windows, Apple OS X, les bases de données comme MySQL, et certaines applications IoT.

C est un langage compilé, fournissant ainsi une couche d'abstraction entre le code machine et le programme.

Un simple programme C pour ajouter deux nombres ressemblera à ceci.

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

Voici la sortie:

Sortie de l'exemple de programme C

Les programmes C incluent stdio.h – le standard input osortie.

STDIO fournit des fonctions d'entrée-sortie de base telles que printf et scanf. printf est utilisé pour imprimer quelque chose (message, sortie) sur la console, tandis que scanf est utilisé pour prendre les entrées de la console. Nous utilisons %d pour indiquer que les nombres sont des entiers.

Si vous donnez des nombres décimaux, vous obtiendrez des réponses étranges. Pour éviter cela, vous pouvez utiliser %f. La main() fonction est la première fonction exécutée lors de l'exécution du programme. La syntaxe est très simple - déclarez les types de variables, puis utilisez-les.

What is C++?

C++ est basé sur des principes de programmation orientés objet tels que l'abstraction, le polymorphisme, l'héritage et l'encapsulation. Vous pouvez considérer C++ comme une extension de C avec le concept de classes et d'objets.

Avoir des objets pour stocker des données a donné une structure soignée aux programmes. Par exemple, si vous souhaitez stocker les détails d'un étudiant, vous pouvez créer une classe d'étudiants et créer des attributs tels que le nom, l'âge, les loisirs, les notes, etc., sous la classe. Vous pouvez créer un véritable objet étudiant chaque fois que nécessaire !

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

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

En réalité, l'objet sera créé et la mémoire allouée uniquement pendant l'exécution.

C++ offre des performances élevées, c'est pourquoi il est encore aujourd'hui le choix le plus populaire pour développer des moteurs de jeu hautes performances, des systèmes embarqués, des navigateurs, des compilateurs et des applications graphiques telles que traitement d'image.

Peu de bases de données comme MongoDB sont écrites en C++. Tout comme C, C++ est portable.

Écrivons notre programme d'addition précédent en C++ - notez les différentes fonctions.

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

Notez que nous utilisons cout et cin au lieu de printf et scanf. De plus, les déclarations de type peuvent être effectuées n'importe où dans le programme avant que la variable ne soit utilisée (par exemple, la variable somme). L'instruction d'impression est assez simple avec juste les noms de variables. Notez que nous utilisons l'espace de noms std du en-tête iostream. std a les méthodes comme cout, in, et bien d'autres encore.

Similarities between C and C++

Vous pouvez dire que C est un sous-ensemble de C++. Il existe de nombreuses similitudes entre C et C++, que ce soit dans la manière dont les programmes sont écrits ou les applications pour lesquelles ils sont utilisés. Les deux sont robustes, portables et hautement performants. Certaines similitudes importantes sont:

Snon.FonctionnalitéExplication
1.SyntaxeLes deux ont la même syntaxe, par exemple, déclaration de variable, point-virgule de fin de ligne, conventions de nommage, etc.
2.Structurel et procéduralChaque ligne de code est exécutée une par une. Les programmes sont structurés comme suit - d'abord les importations, puis les déclarations de variables, puis le code principal.
3.Fonction principaleTout le code qui doit être exécuté doit se trouver dans la fonction main(). main() est le premier appel de fonction lors de l'exécution du programme.
4.PointeursC et C++ utilisent des pointeurs de la même manière. Un pointeur est une variable qui stocke l'adresse mémoire d'une autre variable. Par exemple, int a = 1;. Dès que ce code est exécuté, une mémoire (par exemple, XX0011) sera allouée pour a. L'emplacement mémoire de 'a' est accessible en utilisant l'esperluette (&) comme int ptr_a = &a;
5.Mots clés et opérateursTous les mots clés et opérateurs présents en C sont également valables pour C++. Par exemple, scope, static, public, int, etc. C++ a également des opérateurs et des mots-clés supplémentaires.
Similitudes entre C et C++

Differences between C and C++

C++ a été créé pour surmonter certaines des lacunes de C et est un sur-ensemble de C. Ainsi, tout programme écrit en C fonctionnera en C++ - mais pas l'inverse ! La principale différence entre C et C++ est que C++ est basé sur les principes de programmation orientés objet (POO). En outre, l'accent est davantage mis sur la vérification de type en C++. Il existe également quelques différences plus subtiles, comme indiqué ci-dessous :

CC + +
A été développé entre 1969 et 1973 par Dennis Ritchie aux laboratoires AT&T BellDéveloppé par Bjarne Stroustrup en 1979.
Ne suit pas les principes de programmation orienté objetBasé sur les concepts OOPS, comme l'encapsulation, le polymorphisme et l'héritage
C contient un total de 32 mots clés tels que char, switch, int, static, union et autresTous les mots-clés C sont valides en C++, et 31 mots-clés supplémentaires sont également présents.
Prend en charge uniquement la programmation procéduraleC++ prend en charge plusieurs paradigmes de programmation, comme la POO, la programmation générique et fonctionnelle
Nous ne pouvons pas implémenter les fonctionnalités de la POO en C.Des fonctionnalités telles que les amis, les fonctions virtuelles en C++ améliorent l'essence de la POO.
C prend en charge les types de données intégrés.C++ prend en charge les types de données intégrés et définis par l'utilisateur via le concept de classes
Il existe une disposition pour la surcharge de l'opérateur ou de la fonctionC++ prend en charge la surcharge d'opérateurs et de fonctions (polymorphisme)
L'allocation de mémoire se fait via les fonctions malloc() et calloc(), et la désallocation à l'aide de free()L'allocation de mémoire se produit en utilisant Neuf (ve) opérateur et désallocation à l'aide de effacer opérateur
C ne prend pas en charge la gestion des exceptionsPrend en charge la gestion des exceptions
Se concentre sur la procédure ou la méthode plus que sur les donnéesPlus axé sur les données
Différences entre C et C++

Certaines autres fonctionnalités importantes présentes uniquement en C++ sont :

  • En utilisant namespace mot-clé, nous pouvons créer des variables du même nom dans différents espaces de noms.
  • Nous pouvons utiliser des fonctions à l'intérieur d'une structure. Les structures peuvent également avoir des modificateurs d'accès.
  • Prend en charge les variables de référence.

When to use C or C++

C'est un débat très courant parmi les programmeurs - pourquoi devrais-je apprendre le C alors que je peux tout faire en C++ ?

Apprendre C vous donnera une base solide sur les structures de données, les pointeurs, les mots-clés, les concepts de pile, de tas et d'allocation de mémoire.

En plus de cela, C est encore largement utilisé pour les applications hautes performances, car le compilateur C est plus rapide que le compilateur C++. Donc, si vous voulez écrire des morceaux de code qui ne nécessitent pas d'objets et de classes, de fonctions virtuelles ou de modèles, optez pour C car C++ peut être exagéré avec ses bibliothèques étendues.

La plupart des codages de bas niveau comme les noyaux, les systèmes d'exploitation et les bases de données sont toujours maintenus en C, donc connaître C vous aidera également à apprendre le C++ plus rapidement.

C++ est considéré comme l'un des langages les plus rapides et les plus efficaces - c'est pourquoi il reste l'un des meilleurs langages de programmation, en particulier pour les applications hautes performances telles que les moteurs de jeu, Appareils IoTet les applications de bureau. De nombreuses applications utilisent une combinaison de code C et C++ pour obtenir des performances optimales et bénéficier de la programmation orientée objet.

Résumé

Dans cet article, nous avons appris les bases du C et du C++ avec un exemple de programme simple. Nous avons discuté des principales différences et similitudes entre les deux langues et quand les utiliser.

Si vous ne faites que commencer votre parcours de développement logiciel, commencer par C vous donnera un regain de confiance, car il est facile et couvre tous les concepts de programmation, comme les structures de données, les pointeurs, la mémoire, etc.

Vous pourriez être intéressé par l'utilisation en ligne de Geekflare Compilateur C et Compilateur C++.