Vous êtes sur la page 1sur 66

‫‪Programmation C++‬‬

‫إذا كنت ال تعلم إلى أين أنت ذاهب‪ ،‬فإن أي طريق سيوصلك إلى هناك‬
‫توماس كرليل‬

‫‪M. EL AMRANI‬‬
Programme et langage de
programmation
Un programme est un ensemble d'instructions ou de codes
informatiques qui permettent à un ordinateur ou à un système
informatique d'effectuer des tâches spécifiques.
Ces instructions sont écrites dans un langage de programmation, tel que :

✓ langage C/C++ ;
✓ langage Fortran ;
✓ langage Python ;
✓ langage Java ;
✓ ...
Avantages et Inconvénients
du langage C/C++

Avantages du langage C++ ::


➢Efficacité et performance élevée ;
➢Contrôle précis de la mémoire et des registres matériel ;
➢ Adapté aux applications systèmes, aux jeux, et aux applications
temps réel ;
➢ Très bien adapté pour les systèmes embarqués ;
➢ Bibliothèques standard très riche ;
➢ Prise en charge de la programmation orientée objet ;
➢…
Langages dérivés de C

Le langage C a donné naissance à de nombreux langages dérivés :

➢ C++ est une extension du langage C qui ajoute la POO.


Il est souvent utilisé pour le développement de logiciels complexes,
de jeux vidéo et d'applications système ;

➢ C# (C Sharp) : C’est un langage de programmation développé par


Microsoft ; il est principalement utilisé pour le développement des jeux
avec Unity et d'applications web avec ASP.NET.

➢ Objective-C : pour le développement d'applications iOS et macOS.


Langages dérivés de C

➢ Langage D : C’est un langage qui combine des fonctionnalités


modernes telles que la gestion automatique de la mémoire.
Il est conçu pour être efficace et sûr.

➢ Go (ou Golang) : C’est un langage créé par Google. Il se caractérise


par sa simplicité, ses performances et sa gestion automatique
de la mémoire.

➢ Rust ;
➢ Chapel ;
➢ Perl ;
➢ …
Historique du C et C++

1972 : Création du langage C par Denis Ritchie.

1978 : Définition rigoureuse du langage C par Ritchie et Kernighan.

1989 : Normalisation du C par ANSI (American National Standard


Institute).

1982 : Création du langage C++ par Bjarne Stroustrup.

1989 : Publication de la première version du C++.

1998 : Publication de la norme définitive de C++.


Structure d’un programme C/C++
C/C++ est un langage structuré. Un fichier source doit
satisfaire les conditions suivantes :

✓ Déclaration des includes ;

✓ Le programme est constitué par une ou plusieurs fonctions


dont la fonction principale main ;

✓ Chaque fonction est constituée par un ou plusieurs blocs


situés entre accolades ;

✓ Chaque bloc est constitué par une ou plusieurs instructions.

✓ Toutes les variables, utilisées dans le programme, doivent


être déclarées avec un type.
‫‪Types de base‬‬

‫ال تطالب بأن تكون األشياء أيسر‪ ،‬بل أطلب أن تكون أنت األفضل‬
‫جيم رون‬
Les types de base
En C/C++, toute variable doit être déclarée avec son type c-à-d la
manière dont elle se fait codée en mémoire. La connaissance du type
est nécessaire pour la plupart des opérations que subit la variable.

Les différents groupes de type :


➢ types simples :
✓ types de données entières ;
✓ types à virgule flottante ;
✓ bool ;
✓ pointeur.

➢ types agrégés caractérisés par un ensemble de valeur :


✓ tableaux ;
✓ structures ;
✓ classes ;
Les types de base

Les types de données entières :


✓ char ;
✓ short ;
✓ long ;
✓ int .
Les types de base

Le type char est utilisé pour représenter un caractère


quelconque. C’est, en faite, le code ASCII ( American
Standard Code for Information Interchange).
Le type char stocke les données sur 1 octet (=8 bits), soit
28 = 256 valeurs : [-128, 127].

Exemple :
Si le caractère A est stocké sous forme char, l’ordinateur
n’écrit pas le signe A, mais son code ASCII : 65.
Les types de base
Le type short : ce type permet de stocker des données sur 2 octets, soit
16 bits. Avec 16 bits, on peut former 216= 65536 combinaisons.
Le type short permet donc de coder les nombres entre -32768 et 32767.

Le type long : ce type permet de stocker des données sur 4 octets, soit
32 bits, avec lesquels on peut former 232= 4294967296
combinaisons.
Le type long permet donc de coder les nombres entre -2147843648 et
2147843647.

Le type int : ce type n'occupe pas un nombre figé d'octets. Son


occupation mémoire dépend de l’ordinateur utilisé et peut valoir 2 ou
4 octets.
Les types de base
Les types de données réelles :
✓ float;
✓ double ;
✓ long double.

Les nombres réels sont stockés autrement que les nombres entiers.
Ils sont dits à virgule flottante. Ces nombres sont approchés par une
quantité de la forme :
x = S.m.be

➢S est le signe de la variable x. Ainsi S vaut -1 ou +1 ;


➢m est la mantisse ;
➢e est l’exposant
Les types de base

Le type float : un nombre de type float est codé sur 4 octets (32 bits)
sous la forme suivante :

Bit de signe Exposant (e) Mantisse (m)


(S) (sur 8 bits) (sur 23 bits) x = S.m.be

Exemple : le nombre 15.6 est représenté par : +0.156 102

La plage de valeur d’un nombre de type float : ±3.4 10-38 à ±3.4 1038
Les types de base

Le type double : un nombre de type double est codé sur 8 octets (64
bits) sous la forme suivante :

Exposant Mantisse x = S.m.be


Bit de signe
(sur 11 bits) (sur 52 bits)

La plage de valeur d’un nombre de type double : ± 1.7 10-308 à ± 1.7 10308
Les types de base

Le type long double : un nombre de type long double est codé sur 10
octets (80 bits) sous la forme suivante :

Exposant Mantisse x = S.m.be


Bit de signe
(sur 15 bits) (sur 64 bits)

La plage de valeur d’un nombre de type long double :


±3.4 10-4932 à ±3.4 104932
Les types de base

Le type bool : Ce type est formé de deux valeurs 1 et 0.


bool x : x ne peut donc prendre que les valeurs 0 ou 1.

En C++, une variable booléenne x prend soit la valeur 0 ou


1, soit les mots clé false ou true.
Les types de base

Le type pointeur :
Un pointeur est une donnée qui mémorise l'adresse d'une variable.
le pointeur correspondant à i est &i.
D’une manière générale, un pointeur est déclaré de la manière suivante:

type *p

Exemple : float *x. (veut dire que x est un pointeur (une adresse) dont
le contenu *x est réel de type float).
Les types de base

Remarque sur les types unsigned :


Les types déclarés auparavant peuvent être signé ou non.
Dans ce dernier cas (pas de signe) la plage de variation
est doublée.

Exemple :
La déclaration "long i" autorise à i les valeurs :
[- 2147843648, 2147843647 ], alors que

la déclaration "unsigned long i" autorise à i les valeurs:


[0,4295687295].
Les types de base

Remarque sur les constantes :


Une constante est une donnée dont la valeur ne peut varier.
Cette donnée peut être un nombre, un caractère ou une
chaine de caractères.

Pour déclarer une variable comme étant une constante, il


suffit d'ajouter, au moment de la déclaration, le mot const
avant le type de la variable et de donner une valeur à celle-
ci.

Exemple : const int x=4;


‫‪Entrées-Sorties‬‬

‫العلم ال ينمو من خالل األجوبة المسكتة وإنما من خالل األجوبة التي تثير مزيدا من األسئلة‬
‫عبد الكريم بكار‬
Les entrées-sorties

Les fonctions d’entrées-sorties permettent d’écrire des


caractères et des valeurs sur l’écran, ainsi que de les saisir
à partir du clavier.

On distingue :
➢Les entrées/sorties formatées de C/C++
(assurées par les fonctions : scanf et printf ) ;

➢Les entrées/sorties non formatées


(en C++, elles sont assurées par les fonctions cin et cout);
Les entrées-sorties

En C++, pour lire des données, on utilise la fonction : cin

Exemple :
cin>>x; //la valeur saisie au clavier sera affectée à x.

Pour afficher des données, on utilise la fonction : cout

Exemple :
cout<<x ; //affichage de la valeur de x.
Les sorties formatées
Remarques concernant la fonction cout

Remarque 1 :
Pour afficher une phrase (par exemple : bonjour tout le monde), il
suffit de la mettre entre guillemets :

cout<<"bonjour tout le monde";

Remarque 2 :
Pour revenir à la ligne soit on utilise "\n" soit on utilise endl.
Les trois instructions suivantes sont équivalentes :
✓cout << "bonjour \n" ;
✓cout << "bonjour" << "\n" ;
✓cout << "bonjour" << endl ;
Les sorties formatées
Remarques concernant la fonction cout
Remarque 3 :
Il existe des instructions qui permettent d’afficher les valeurs entières
sur l’une des bases suivantes :
1 : bool soit sous forme d’un entier 0 ou 1 soit sous forme
true et false en utilisant le mot clé boolalpha ;
8 : octal en utilisant le mot clé oct ;
10 : décimal qui est la valeur par défaut ;
16 : hexadécimal en utilisant le mot clé hex.

La valeur de la base reste la même tant qu’on ne la modifie pas.

Exemple :
int x =12000, y =1 ;
cout << x << "/n" ; //la valeur affichée sera : 12000.
cout<<hex<<x<< "/n" ; //la valeur affichée sera : 2000.
cout<<oct<<x<< "/n" ; //la valeur affichée sera : 27340.
cout<<boolalpha<<y << "/n" ; //la valeur affichée sera : true.
cout <<noboolalpha <<y<< "/n" ; //la valeur affichée sera : 1.
Les sorties formatées
Largeur de champ minimale

Le C++ utilise le manipulateur setw(M) pour afficher les variables sous


un gabarit souhaité, où M est la largeur minimale d’affichage.
Le manipulateur setw nécessite l’incorporation du fichier en tête
<iomanip>.

Exemple :
int i = 171 ;
cout << setw(5) << i ; la valeur affichée sera : ^^171.
cout << setw(4) << i ; la valeur affichée sera : ^171.
cout << setw(2) << i ; la valeur affichée sera : 171.

Remarque :
setw manipule uniquement le gabarit de la prochaine information à écrire.
Les sorties formatées
Précision d’affichage

Pour fixer la précision d’affichage, le C++ utilise le manipulateur


setprecision(M) ; où M est le nombre de chiffres significatifs.

Exemple :
float pi =3.141593 ;
cout << pi <<endl ; //la valeur affichée sera : 3.14159
cout << fixed ;
cout << setprecision(1) <<pi <<endl ; //la valeur affichée sera : 3.1
cout << setprecision(3) <<pi <<endl ; //la valeur affichée sera : 3.141
cout << setprecision(5) <<pi <<endl ; //la valeur affichée sera : 3.14159
Les sorties formatées
Précision d’affichage en C++

Sans utilisation du manipulateur "fixed", M joue le rôle du nombre


de chiffres à afficher.

Exemple :
float pi =3.141593 ;
cout << setprecision(1) <<pi <<endl ; //la valeur affichée sera : 3
cout << setprecision(3) <<pi <<endl ; //la valeur affichée sera : 3.14
cout << setprecision(5) <<pi <<endl ; //la valeur affichée sera : 3.1415
cout << setprecision(7) <<pi <<endl ; //la valeur affichée sera : 3.141593
Les sorties formatées
Précision d’affichage en C++

fixed permet aussi d’afficher en notation flottante si elle était en notation


scientifique. En effet : pour afficher un réel en notation scientifique on
utilise le manipulateur scientific et si, ensuite, on souhaite l’affichage
habituel on utilise le manipulateur fixed.

Exemple :
float pi =3.1415 ;
float x = 63.987 ;
cout << pi <<endl ; //la valeur affichée sera : 3.1415
cout << scientific << pi <<endl ; //la valeur affichée sera : 3.1415e00
cout << x <<endl ; //la valeur affichée sera : 6.3987e01
cout << fixed <<endl ;
cout << x <<endl ; //la valeur affichée sera : 63.987
‫‪Les Opérateurs‬‬

‫سر السعادة ليس هو أن تفعل ما تحب‪ ،‬ولكن أن تحب ما تفعل‬


‫جيمس باري‬
Les opérateurs
Les opérateurs sont des symboles qui permettent d’effectuer
différentes opérations.

Les opérateurs sont très nombreux, on peut citer :


✓les opérateurs arithmétiques ;
✓les opérateurs de comparaison ;
✓les opérateurs de logique ;
✓les opérateurs de bits ;
✓les opérateurs d’affectation ;
✓les opérateurs conditionnels ;
✓les opérateurs séquentiels ;
✓les opérateurs de taille ;
✓les opérateurs d’adresse ;
✓les opérateurs de cast ;
✓…
Les opérateurs
Opérateurs arithmétiques

Ces opérateurs permettent d’effectuer des calculs élémentaires sur


leurs opérandes.

En plus des opérateurs connus : +, -, * et /, il existe aussi :

✓l’opérateur % qui permet de calculer le reste entier d’une


division ;

✓l’opérateur "–" (signe -) qui permet de changer le signe de


l’opérande.
Les opérateurs
Opérateurs de comparaison
(ou opérateurs relationnels)

Ces opérateurs permettent de comparer les valeurs de leurs


opérandes :
✓x = =y : vaut 1 si x est égal à y et vaut 0 sinon.
✓x ! =y : vaut 1 si x est différent de y et vaut 0 sinon.
✓x <y : vaut 1 si x est inférieur à y et vaut 0 sinon.
✓x >y : vaut 1 si x est supérieur à y et vaut 0 sinon.
✓x< =y : vaut 1 si x est inférieur ou égal à y et vaut 0 sinon.
✓x> =y : vaut 1 si x est supérieur ou égal à y et vaut 0 sinon.

Le résultat de la comparaison est de type logique c'est-à-dire soit


vrai (true) soit faux (false).
Les opérateurs
Opérateurs de comparaison
(ou opérateurs relationnels)
Exemple 1 :
x=3 , y=5;

(x = = y) = 0 (false)
(x < y) = 1 (true)

(x!=y) = 1
(x<=y) = 1
Les opérateurs
Opérateurs logiques

Les opérateurs logiques effectuent les opérations de logique.


Trois opérateurs sont proposés par C/C++ :

✓ L’opérateur "&&" représente la connexion ET.


Le résultat vaut true (1) si les deux opérandes sont true et vaut false(0)
dans les autres cas ;

✓ L’opérateur "||" représente la connexion OU.


Le résultat vaut 0 si les deux opérandes valent 0 et 1 dans les autres
cas.

✓ L’opérateur "!" représente la connexion Non.


Le résultat vaut 1 (true) si l’opérande est 0 (false) et vaut 0 si
l’opérande est 1.
Les opérateurs
Opérateurs logiques

Exemples :

1- ((5<7) && (3>2)) = 1

2- ((5<7) || (3<2)) = 1

3- !(2>0) = 0
Les opérateurs
Opérateurs d’affectation

Les opérateurs disponibles par C/C++ sont :


➢l’opérateur "++" désigne l’augmentation de 1 ;
➢l’opérateur "--" désigne la diminution de 1 ;
➢l’opérateur "=" désigne l’affectation simple ;
➢l’opérateur "+=" désigne l’affectation avec addition ;
➢l’opérateur "-=" désigne l’affectation avec soustraction ;
➢l’opérateur "*=" désigne l’affectation avec multiplication.
➢l’opérateur "/=" désigne l’affectation avec division.
➢l’opérateur "%=" désigne l’affectation avec opération de reste.
Les opérateurs
Opérateurs d’affectation
Exemple :
float x =3
x-=5 ➔ x = x-5 = -2.

x =3
x* =5 ➔ x = x*5 =15.

x =3
x /= 5 ➔ x = x/5 =0.6.

x=3
x % =2 ➔ x = x % 2 = 1.
Les opérateurs
Opérateurs d’affectation

Remarque sur les préfixes et les postfixes


Dans une instruction qui contient en même temps l’opérateur "=" et
l’un des opérateurs : ++, --, le résultat obtenu est différent
suivant que l’opérateur est préfixe ou postfixe, c'est-à-dire suivant que
l’opérateur est avant ou après l’opérande.

Exemple :
L’instruction y =x++ est différente de l’instruction y=++x.

Dans y = x++ : la variable y est affectée à la variable x, ensuite x


est incrémenté, soit :
y=x ;
x++ ;
Les opérateurs
Opérateurs d’affectation

Dans y = ++x : on commence par faire augmenter la valeur de x.


Ensuite, cette nouvelle valeur est affectée à y, soit :
x++ ;
y=x;

Remarque :
Pour les opérations d’affectation, l’opérande gauche doit être une
Lvalue.

Une Lvalue est une expression désignant une adresse dans la mémoire
de l’ordinateur, par exemple le nom d’une variable, contrairement à une
constante qui n’est pas une Lvalue et donc ne peut être dans la partie
gauche d’une affectation.
Les opérateurs
Opérateur conditionnel "?"

L’opérateur "?" utilise trois opérandes de type expressions, sous la


forme :

expression1 ? expression2 : expression3

si expression1 vaut true, l’expression complète prend la valeur de


expression2 sinon elle prend la valeur de expression3.

Exemple :
x =10, y =5.
L’expression (x !=y) ? x : y vaut 10
alors que l’expression (x= =y) ? x : y vaut 5.
Les opérateurs
Opérateur séquentiel

L’opérateur séquentiel ou opérateur virgule "," permet de rassembler


de manière syntaxique deux expressions en une seule.

Exemple :
L’instruction :
int x ;
int y ;

est équivalente à :
int x,y ;
Les opérateurs
Opérateur de dimension

L’opérateur de dimension "sizeof" calcule l’occupation mémoire


en octets requise par une variable ou par un type de données.

Exemple :
cout <<sizeof(int) <<endl ;
int x ;
cout <<sizeof(x) <<endl ;
Dans les deux cas, le résultat affiché est 4 qui indique la mémoire
occupée par un int.
Les opérateurs
Opérateur de moulage (CAST)

L’opérateur de moulage (CAST) permet de convertir explicitement


le type d’une donnée en un autre type.

Exemple
int i,j ;
i=3; j=2;
i/j = 1;
(float)i/j=1,5;
Les opérateurs
Priorités des opérateurs

Il y a 15 priorités allant de 1 à 15. Le niveau 15 est la priorité la plus élevée


Le tableau ci-dessous résume les priorités de tous les opérateurs.

Désignation Symbole d’opérateur priorité ordre le + élevé est

Parenthèse () [] 15 de gauche vers la droite


Opération unaire
Opérateur Cast 14
Opérateur de taille sizeof 14
-Opérateur de négation
arithmétique - 14
-Opérateur logique ! 14
Opérateur décrément -- 14
Opérateur incrément ++ 14
Les opérateurs
Priorités des opérateurs

Opération binaire et ternaire


Opérateurs * / % 13 de gauche vers la droite
Arithmétiques
+ - 12 de gauche vers la droite

Opérateurs de > >= < <= 10 de gauche vers la droite


comparaison == != 9 de gauche vers la droite
opérateurs logiques && 5
|| 4
opérateurs ? : 3
conditionnels
(ternaire)
Opérateurs = += -= *= /= %= 2 de droite vers la gauche
d’affectation

Opérateur séquentiel , 1
‫‪Structures de contrôle de flux‬‬

‫ال فائدة في أن تقف في الظل و تشكو من عدم إشراق الشمس عليك‬


‫ماجون‬
Structure de contrôle de flux

Les structures de contrôle de flux sont des instructions qui


permettent :

➢de rendre l’exécution de certaines instructions dépendantes


d’une certaine condition. Il s’agit d’instruction alternative
ou instruction de test ;

➢de répéter certaines phases de traitement. On parle


d’instructions répétitives ou itérations ;

➢de fournir des possibilités diverses de branchement


inconditionnels. Il s’agit d’instructions de branchement.
Structure de contrôle de flux
Instructions alternatives

Les structures alternatives permettent d’exécuter certaines


instructions sous conditions. C/C++ propose plusieurs cas :

1- l’instruction if ;

2- test avec alternative (if-else) ;

3- test multiple (switch).


Structure de contrôle de flux
Instructions alternatives
Instruction if
Elle permet de ne faire exécuter des instructions que si une certaine
condition est satisfaite.

La syntaxe de l’instruction if est la suivante :


if(<condition>) <instruction> ;

ou encore :

if(<condition>)
{
<instructions> ;
}
Structure de contrôle de flux
Instructions alternatives
Instruction if
Exemple 1 :
if(x = = 0) cout<<"x est nul" ;
if(x !=0) cout<<"x est non nul" ;

Exemple 2 :
if(!x ) cout<<"x est nul" ;
if( x) cout<<"x est non nul" ;

Exemple 3 :
if(x >y && x>0) cout<<"x est positif et supérieur à y" ;
Structure de contrôle de flux
Instructions alternatives
Test avec alternative (if-else)
L’instruction if-else permet d’exécuter des instructions si une certaine
condition est satisfaite et d’exécuter d’autres instructions sinon.
La syntaxe de l’instruction if-else est la suivante :
if(<condition>) <instruction> ;
else < instruction > ;
ou encore :
if(<condition>)
{
<instructions>
}
else
{
<instructions>
Structure de contrôle de flux
Instructions alternatives
Test avec alternative (if-else)

Exemple 1 :
if(x = = 0) cout<<"x est nul" ;
else cout<<"x est non nul" ;

Exemple 2 :
if(x>y ) cout<<"x est plus grande que y" ;
else if (x<y)cout<<"x est plus petite que y " ;
else cout<<cout<<"x est égale à y";
Structure de contrôle de flux
Instructions alternatives
Test multiple "switch"

L’instruction switch traite le cas où il faudrait choisir entre


plusieurs possibilités.

La syntaxe de l’instruction switch est :


switch(<expression>)
{
case cste1 : <instruction1> ;
case cste2 : <instruction2> ;

case csteN : <instructionN> ;
default : <instruction> ;
}
Structure de contrôle de flux
Instructions alternatives
Test multiple "switch"
Exemple :
main()
{
int i ;
cout<<"donner un nombre entier compris entre 10 et 12"<<endl
cin>> i ;
switch(i)
{
case 10 : cout<<"votre nombre est 10"; break ;
case 11 : cout<<"votre nombre est 11"; break ;
case 12 : cout<<"votre nombre est 12"; break ;
default : cout<<"votre nombre est erroné" ; break ;
}
Structure de contrôle de flux
Instructions répétitives

Les instructions répétitives, appelées aussi itérations ou encore


boucles, permettent de faire exécuter plusieurs fois certaines
instructions.

Trois instructions répétitives sont proposées par le langage C/C++ :

1- la boucle while ;

2- la boucle do-while ;

3- la boucle for.
Structure de contrôle de flux
Instructions alternatives
Instruction "while"
L’instruction while permet de faire répéter l’exécution d’instructions
tant qu’une certaine condition est remplie.

La syntaxe de while est :


while (<expression>) <instruction>

ou encore :

while (<expression>)
{
<instructions>
}
Structure de contrôle de flux
Instructions alternatives
Instruction "while"
Exemple :
int z =3 ;
while (z>0)
{
cout<<"z= "<< z<<endl;
z-- ;
}
Structure de contrôle de flux
Instructions alternatives
Instruction "do-while"
La boucle do-while teste la condition après exécution de
l’instruction du corps de la boucle.
La syntaxe de cette boucle est :
do <instruction>
while (<expression>) ;

ou encore :

do
{
<instructions>
}
while (<expression>) ;
Structure de contrôle de flux
Instructions alternatives
Instruction "do-while"
Exemple :
int z =3 ;
do
{
cout<<"z="<<z<<endl;
z-- ;
}
while (z>0);

Avec do-while, on rentre au moins


une fois dans la boucle
Structure de contrôle de flux
Instructions alternatives
Instruction "for"
Tout comme l’instruction while, for est une boucle qui teste une
condition avant d’exécuter les instructions.
Sa syntaxe est :
for(<expression1> ;<expression2> ;<expression3>)<instruction>
ou encore :
for(<expression1> ;<expression2> ;<expression3>)
{
<instructions>
}
où :
<expression1> est une expression qui initialise les variables ;
<expression2> est la condition de bouclage ;
<expression3> est une expression qui permet de réinitialiser les variables.
Structure de contrôle de flux
Instructions alternatives
Instruction "for"
Exemple :
for(z=3 ; z>0 ;z--) cout<<"z="<<z<<endl ;

Remarque :
<expression1> et <expression3> peuvent initialiser plusieurs
variables en même temps :

for(k=1, i=0, j=0 ; j<10 ; k++, j++)


{
i=i+k ;

}
Structure de contrôle de flux
Instructions de branchement

Les instructions de branchement transfèrent le contrôle


du programme d’une instruction à une autre.

Nous examinerons les instructions :

➢ break ;

➢ continue ;

➢ goto.
Structure de contrôle de flux
Instructions alternatives
Instruction "break"
Cette instruction provoque l’arrêt avant terme des instructions
des boucles for, while, do-while et swich.

Exemple :
for(i =-100 ; i<100 ; i++)
{
x =(i*0.01/3.1415;
y=cos(x);
if(fabs(y) <0.0001)break;
}
Structure de contrôle de flux
Instructions alternatives
Instruction "continue"
L’instruction continue n’est possible qu’à l’intérieur des boucles
for, while et do-while. Elle permet de sauter un seul passage dans
la boucle et reprendre le prochain passage.

Exemple :
int x = 0 ;
while (x<20)
{
x++;
if(x%2= =0)continue;
cout<<x<<endl;
}
Structure de contrôle de flux
Instructions alternatives
Instruction "goto"
L’instruction goto provoque un saut à un endroit du programme
repéré par une étiquette (label). Le programme continue alors à
l’instruction qui se trouve à cet endroit.

Exemple :
int i,x = 0;
for(i=0 ;i<100 ;i++)
{
x=x+i;
if(x>50)goto a ;
}

a : cout<<"la valeur de i est "<<i;

Vous aimerez peut-être aussi