Documente Academic
Documente Profesional
Documente Cultură
Un problème est décomposé en sous-problèmes, une fonction est écrite pour résoudre chaque
problème. Les fonctions s’appellent entre elles en se passant des paramètres.
déclaration de fonctions;
déclaration de variables;
instructions;
2. Mots clés : se sont des mots réservés au langage et définissent le code source. Ils
permettent de saisir le programme et ne peuvent pas être utilisés pour définir des variables.
(voir polycopié)
3. Constantes et variables :
une constante est une case mémoire qui ne peut changer de valeur pendant le déroulement
d'un programme. Elle est déclarée par le mot-clé préfixe : const.
Une variable, quant à elle, peut changer de valeur au cours de traitement. Elle est déclarée
selon son type sans aucun préfixe.
type NomDeVariable;
4. Opérateurs : une opération est une loi de composition d'un ou plusieurs variables
(opérandes) et qui renvoie une seule variable.
20Les opérateurs arithmétiques
+, -, ×, /, %(modulo)
Les opérateurs de comparaison
< (inférieur), <= (inférieur ou égal), == (égal),
> (supérieur), >= (supérieur ou égal), != (différent)
Les opérateurs logiques
&& représente l’opérateur “ET”
|| représente le “OU”
! représente le “NON”
Les opérateurs (++) et (--) permettent respectivement d’incrémenter et décrémenter
une variable.
Pré-incrémentation « t = ++var », l’exécution est équivalente à : (var = var +
1) puis (t = var)
Post-incrémentation« t = var ++ » l’exécution est équivalente à :
(t = var) puis (var = var + 1)
#include <iostream>
using namespace std;
main()
{
int somme 0,i=0;
while ( i<=10)
{
somme = somme + i;
cout<<la somme est =: <<somme<<endl;
i=i+1 ;
}
do
while ( [condition] )
Fonctions:
int ajouteDeux(int x)
{
x+=2;
return x;
}
main()
{
int a, resultat;
cout << "a= : " ;
cin>>a;
resultat = ajouteDeux(a);
cout << "Le nombre original vaut : " << a << endl;
cout << "Le resultat vaut : " << resultat << endl;
system("pause");
}
1.2. Passage d'arguments par adresses (référence) : Pour créer un paramètre
résultat ou donnée-résultat, il faut utiliser un autre mode de passage de paramètre
: le passage par référence (appelé passage par variable dans d'autres langages).
Pour déclarer un paramètre formel qui doit être passé par référence, on le précède
du signe &. Ainsi, toute modification du paramètre formel se répercute
directement sur le paramètre effectif correspondant. Tout se passe comme si la
fonction agissait directement sur le paramètre effectif.
Un des apports les plus intéressants du C++ par rapport au C, hormis l'ajout du
concept objet, est la possibilité d'appeler plusieurs fonctions avec le même nom, pour peu que
celle-ci aient leurs arguments différents (en type et/ou en nombre).
Ce principe est appelé surcharge de fonction. Il permet de donner le même nom à des
fonctions comportant des paramètres différents et simplifie donc l'écriture de fonctions
sémantiquement similaires sur des paramètres de type différent.
En effet, une fonction est déterminée par ce que l'on appelle sa signature, c'est-à-dire :
son nom et ses paramètres. Il est ainsi possible de définir une fonction réalisant la même
opération sur des variables différentes en nombre ou en type.
Exemple:
Pointeurs :
Les pointeurs constituent une notion fondamentale du C++. Ils sont utilisés pour passer des
paramètres à une fonction ou pour créer des structures de données complexes comme des
tableaux de taille variable. Ils sont toutefois complexe à utiliser et une source de nombreux
bugs.
3. Manipulation :
3.1. Référencement : L’opérateur unaire & fournit l’adresse en mémoire d’une variable
donnée.
Remarques:
Il est préférable d’initialiser le pointeur avant de l’utiliser pour éviter les bugs!
L'incrémentation – décrémentation d'un pointeur est utile uniquement pour la manipulation de
tableaux.
L’incrémentation (décrémentation) exprime le fait qu’on veuille atteindre l’élément suivant
(précédent).
Le résultat n’est correct que si l’élément pointé est situé dans le même tableau.
L’addition de deux pointeurs n’a pas de sens !
La soustraction de deux pointeurs (ayant le même type) situés dans le même tableau retourne
le nombre d’éléments qui les séparent.
Un pointeur ne peut être comparé qu’à un pointeur du même type ou un pointeur NULL.
On ne doit affecter à un pointeur qu’une valeur de pointeur ayant le même type sinon on doit
s'attendre à un bug.
Le pointeur est détruit mais pas l'élément pointé. Si rien ne pointe plus sur lui, on peut perdre
sa trace dans la mémoire de l'ordinateur ce qui entraînerait des fuites de mémoire !