You are on page 1of 28

Le langage C/C++

TOUHTOUH Samira
Ecole Nationale des Sciences Appliques dEl Jadida
samira.touhtouh@gmail.com

Introduction

Introduction
Un langage de programmation

La puissance dun ordinateur vient du fait qu'il peut tre programm, c'est dire que l'on peut lui donner, l'avance, la squence des ordres effectuer l'un aprs l'autre.

Ces ordres, cods en binaire, sont sauvs dans un fichier nomm excutable (.exe sous Windows).

L'ordinateur ne comprenant que des ordres cods en binaire (le langage machine) peu pratiques d'emploi, des langages dits "volus" ont t mis au point pour faciliter la programmation.

Le C a t dvelopp conjointement au systme d'exploitation UNIX, dans les Laboratoires BELL, par Brian W Kernigham et Dennis M Ritchie, qui ont dfini en au cours des annes 70, dans "The C Language", les rgles de base de ce langage.

Le but principal tait de combiner une approche structure (et donc une programmation facile) avec des possibilits proches de celles de l'assembleur tout en restant standard (c'est dire pouvoir tre implant sur n'importe quelle machine).

A la fin des annes 80, Bjarne Stroustrup cre le C++, qui garde toutes les possibilits du C, l'amliorant (commentaires, constantes, passage d'arguments par adresse, arguments par dfaut...) mais surtout en y ajoutant les objets (encapsulation, hritage, polymorphisme, surcharge...).

Le C++ combine donc toutes les possibilits de la programmation classique et la puissance de l'approche objets.

Il est trs rpandu, il fait partie des langages de programmation les plus utiliss sur la plante.

Il est rapide, ce qui en fait un langage de choix pour les applications critiques qui ont besoin de performances.

Il est portable : un mme code source peut thoriquement tre transform sans problme en excutable sous Windows,

Il existe de nombreuses bibliothques pour le C++. Les bibliothques sont des extensions pour le langage. De base, le C++ ne sait pas faire grand chose mais, en le combinant avec de bonnes bibliothques, on peut crer des programmes 3D, rseaux, audio, fentrs, etc.

Il est multi paradigmes . Ce mot signifie qu'on peut programmer de diffrentes faons en C++ (POO).

Un langage du haut niveau :


C'est un langage assez loign du binaire (et donc du fonctionnement de la machine), qui vous permet gnralement de dvelopper de faon plus souple et rapide.

Un langage du bas niveau :


Par opposition, un langage de bas niveau est plus proche du fonctionnement de la machine : il demande en gnral un peu plus d'efforts mais vous donne aussi plus de contrle sur ce que vous faites.

Programmer : exemple de code C++

Programmer
Une fois trouv lalgorithme, programmer en C++ comporte 3 phases: 1. Editer le programme avec un diteur de texte. 2. Compiler le programme . 3. Excuter le programme. 4. TESTER et DEBUGGER

Exemple de code C++

#include <iostream> using namespace std; int main() {

cout << Bonjour" << endl;


return 0; }

# include <iostream>
iostream signifie Input Output Stream , ce qui veut dire Flux d'entre-sortie . Dans un ordinateur , l'entre correspond en gnral au clavier ou la souris, et la sortie l'cran.

Include iostream nous permet d'obtenir tout ce qu'il faut pour changer des informations avec l'utilisateur .

using namespace std;


Il indique la partie de fonctionnalit que le fichier va utiliser.

Dans la cas ou on charge plusieurs bibliothques, Certaines fonctionnalits ont le mme nom.

Pour orienter lordinateur vers la fonction recherche , namespace a t cre. Ce sont de dossiers noms. La ligne using namespace std; indique quon va utiliser lespace de noms std dans la suite du fichier code.

Int main ()
C'est le cur du programme. Les programmes, sont essentiellement constitus de fonctions. Chaque fonction a un rle et peut appeler d'autres fonctions pour effectuer certaines actions. Tous les programmes possdent une fonction dnomme main qui est la fonction principale. Une fonction a la forme suivante : Int main () { }

cout
Le rle de cout est dafficher un message lcran.

cout est fourni par iostream. Si on inclut pas iostream au dbut du programme, le compilateur ne va connatre cout

Exemple

cout << bonjour<< endl;

Il ya 3 lments sur cette ligne :


cout : commande laffichage dun message lcran; bonjour : indique le message afficher; endl : cre un retour la ligne dans la console. Il est possible de combiner plusieurs messages en une instruction :

cout << bonjour <<endl << comment allez-vous<< endl;

return
La dernire ligne est : Return 0; Cette instruction clt gnralement les fonctions. La plupart des fonctions renvoient une valeur. La fonction main renvoie 0 pour indiquer que tout sest bien pass

Commentaires

En plus du code qui donne des instructions l'ordinateur , il faut crire des commentaires pour expliquer le fonctionnement de votre programme.

Les commentaires n'ont aucun impact sur le fonctionnement de votre logiciel : en fait, le compilateur ne les lit pas et ils n'apparaissent pas dans le programme gnr. Pourtant, ces commentaires sont indispensables pour expliquer ce qu'il fait un programme.

Les diffrents type de commentaires

Les commentaires courts Pour crire un commentaire court, sur une seule ligne, il suffit de commencer par // puis d'crire votre commentaire. // commentaire Les commentaires longs Si le commentaire tient sur plusieurs lignes, on ouvre la zone de commentaire avec /* et on ferme avec */

Commenter le programme suivant :

#include <iostream> using namespace std; int main() { cout << Bonjour!" << endl; return 0; }

#include <iostream>

/* inclusion dun fichier d entte ; entte standard des entres sorties */ /* spcifie que lon utilise lespace de

using namespace std ;


nommage standard */

int main ( ) {

// dbut du programme = fonction main // ouverture de la fonction principale

cout << "Bonjour" << endl ; // instructions termines par ; }

Structure de base de C++

Les variables :

Une variable est un identificateur qui dsigne un type dinformation dans un programme. Elle est situe dans un endroit prcis de la mmoire de la machine et reprsente souvent une donne lmentaire, cest--dire une valeur numrique ou un caractre.

Les types de donnes de base sont les suivants :


- int : valeur entire - char : caractre simple - float : nombre rel en virgule flottante - double : nombre rel en virgule flottante double prcision.

Pour dclarer une variable, on prcise son type suivi de son identificateur (son nom).

TYPE TYPE

NOM

(VALEUR);

NOM = VALEUR;

Lidentificateur dune variable est compos dun ensemble de chiffres ou de lettres dans un ordre quelconque qui suit les rgles suivantes : - Le premier caractre doit tre obligatoirement une lettre. - Les minuscules ou les majuscules sont autorises et considres comme diffrentes. - Le caractre (underscore ou blanc soulign) est autoris.

La dclaration dune variable peut tre assimile la cration en mmoire dun contenant dont le type serait la taille (ou dimension) et le contenu, la valeur.

Quand aucune valeur na encore t affecte une variable, seule sa place est rserve. Son contenu ntant pas encore dfini, il viendra ultrieurement.

Au cours de la rdaction dun programme, une variable peut tre dclare tout moment, toutefois, les dveloppeurs ont pour habitude de regrouper les dclarations, ce qui apporte une meilleure lisibilit.

Initialisation et constantes
Il est possible dinitialiser une variable lors de sa dclaration comme dans : int n = 15 ; Ici, pour le compilateur, n est une variable de type int dans laquelle il placera la valeur 15 ; La dclaration prcdente pourrait tre remplace par une dclaration ordinaire (int n), suivie un peu plus loin dune affectation (n=15) ; la seule diffrence rsiderait dans linstant o n recevrait la valeur 15. Il est possible de dclarer que la valeur dune variable ne doit pas changer lors de lexcution du programme. Par exemple, avec : const int n = 20 ;

Les oprateurs arithmtiques en C++.


Prsentation des oprateurs
Comme tous les langages, C++ dispose doprateurs classiques binaires , savoir laddition (+), la soustraction (-), la multiplication (*) et la division (/), ainsi que dun oprateur unaire (cest--dire ne portant que sur un seul oprande).

Les oprateurs binaires ne sont a priori dfinis que pour deux oprandes ayant le mme type parmi : int, long int, float, double et long double.

Ils fournissent un rsultat de mme type que leurs oprandes.

Le cast
Lorsque, les deus oprandes sont de type diffrent, le compilateur prvoit une conversion suivant lordre : char > short > long > float > double,

Le plus petit est automatiquement transform dans le plus grand,

Le rsultat de lopration sera lui aussi du type du plus grand

Exemple : int a=64,b=2; float x=1,y=2; Quelle est la valeur affecte aux diffrentes variables concernes par chacune des instructions suivantes ? b=7/b; x=7/b; x=7/y; x=7.0/b; x=((float)(a+1))/b;

You might also like