language c++

Download language C++

Post on 14-Oct-2015

33 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Le langage C/C++ TOUHTOUH Samira

    Ecole Nationale des Sciences Appliques dEl Jadida

    samira.touhtouh@gmail.com

    1

  • Structure de base de C++

    2

  • 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 suivant :

    - int : valeur entire

    - char : caractre simple

    - float : nombre rel en virgule flottante

    - double : nombre rel en virgule flottante double prcision.

    3

  • Pour dclarer une variable, on prcise son type suivi de son

    identificateur (son nom).

    TYPE NOM (VALEUR);

    TYPE 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.

    - Il faut veiller ne pas utiliser des mots-cls ou mots rservs du langage C++.

    4

  • 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.

    5

  • 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 ;

    6

  • Les oprateurs arithmtiques en C++.

    Prsentation des oprateurs

    Comme tous les langages, C++ dispose doprateurs classiques binaires (cest--dire portant sur deux oprandes ), savoir laddition (+), la soustraction (-), la multiplication (*) et la division (/), ainsi que dun oprateur unaire (cest--dire ne portant que sur un seul oprande) correspondant loppos not - (comme dans -n ou dans -x+y).

    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.

    7

  • 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

    8

  • Exemple :

    int a=64,b=2;

    float x=1,y=2;

    b=7/b;

    x=7/b;

    x=7/y; x=7.0/b;

    x=((float)(a+1))/b;

    9

  • Les priorits relatives des oprateurs

    Lorsque plusieurs oprateurs apparaissent dans une mme expression, il est ncessaire de savoir dans quel ordre ils sont mis en jeu.

    En C++, comme dans les autres langages, les rgles

    sont naturelles et rejoignent celles de lalgbre traditionnelle ;

    Les oprateurs unaires + et - ont la priorit la plus leve. On trouve ensuite, un mme niveau, les oprateurs *, / et %. Enfin, sur un dernier niveau, apparaissent les oprateurs binaires + et -.

    10

  • 11

  • En cas de priorits identiques, les calculs seffectuent de gauche

    droite.

    Les parenthses permettent doutrepasser ces rgles de priorit, en forant le calcul pralable de lexpression quelles contiennent.

    12

  • Affectation L'oprateur d'affectation affecte une valeur une variable.

    a = 6;

    Affectation compose Quand on veut modifier la valeur d'une variable en effectuant une opration sur la valeur actuellement stocke dans cette variable, nous pouvons utiliser des oprateurs d'affectation composs:

    a += b; a = a + b;

    a -= 2; a = a-2;

    a /=b; a= a/b;

    a *= b+1; a = a* (b+1);

    13

  • Exemple : trouver la valeur de a

    14

    #include using namespace std; int main () { int a, b=3; a = b; a+=2; cout

  • Les oprateurs relationnels

    Comme tout langage, C++ permet de comparer des expressions laide

    doprateurs classiques de comparaison. En voici un exemple :

    2 * a > b + 5

    Le rsultat de la comparaison est une valeur boolenne prenant lune des deux valeurs true ou false.

    Les expressions compares pourront tre dun type de base quelconque et elles seront soumises aux rgles de conversion.

    15

  • Voici la liste des oprateurs relationnels existant en C++ :

    Exemple 1: Exemple 2: a=2, b= 3, c = 6

    16

    (7 ==5) (5 > 4) (3 !=2) (6 >= 6) (5 < 5)

    (a == 5) (a*b >= c) (b+4 > a*c) ((b = 2) ==a)

  • Les oprateurs logiques (!, &&, | |)

    Loprateur ! renvoi la valeur boolenne oppose de l'valuation de son oprande

    Exemple :

    !(5 == 5)

    !(6

  • Les oprateurs conditionnels

    L'oprateur conditionnel value une expression retournant une valeur si cette expression est vraie et une deuxime valeur si l'expression est value comme fausse. Son format est le suivant:

    condition ? A : B

    Exemple : #include using namespace std; int main () { int a,b,c; a=2; b=7; c = (a>b) ? a : b; cout

  • Loprateur virgule

    L'oprateur virgule (,) est utilis pour sparer deux ou plusieurs expressions qui sont inclus o une seule expression est attendue.

    Exemple :

    a = (b=3, b+2);

    19

  • Oprateurs dincrmentation et de dcrmentation

    Incrmentation

    Cest parmi les oprations, les plus courantes en informatique. Il permet par exemple de passer du niveau 4 au niveau 5.

    Int nombreLivres; // Il y a 4 livres ++ nombreLivres; // A partir dici, il y a 5 livres

    Int nombreLivres; // Il y a 4 livres nombreLivres= nombreLivres+ 1; // A partir dici, il y a 5 livres

    20

  • La dcrmentation

    La dcrmentation est lopration inverse, soustraire 1 une variable,

    Int nombreLivres(4); // il y a 4 livres

    nombreLivres = nombreLivres-1; // on en enlve un, A partir dici, il y a 3 livres.

    Int nombreLivres(4); // Il y a 4 livres dans la partie

    -- nombreLivres; // On en enlve un a partir dici, il ya 3

    21

  • nonc Soient les dclarations suivantes : int n = 5, p = 9 ; int a ; float x ; Quelle est la valeur affecte aux diffrentes variables concernes par chacune des instructions suivantes ? a = n < p ; (1 a = n == p ; (2 a = p % n + p > n ; (3 x = p / n ; (4 x = (float) p / n ; (5 x = (p + 0.5) / n ; (6 x = (int) (p + 0.5) / n ; (7 a = n * (p > n ? n : p) ; (8 a = n * (p < n ? n : p) ; (9

    22

  • Les entres-sorties conversationnelles de C++

    Affichage lcran avec cout Exemple 1 : Considrons ces instructions : Int n = 25 ; cout

  • Exemple 2

    Les deux instructions peuvent se condenser en une seule :

    cout

  • cin

    Le dispositif d'entre standard est en gnral le clavier. Manipulation de l'entre standard en C++ se fait en appliquant l'oprateur d'extraction (>>) sur le flux cin. L'oprateur doit tre suivie par la variable qui va stocker les donnes qui va tre extrait du flux.

    int n;

    cin>> n;

    La premire instruction dclare une variable de type int appel n, et le second attend une entre de cin (sur le clavier) afin de le stocker dans cette variable entire.

    25

  • #include using namespace std; int main () { int i; cout > i; cout
  • 27

  • On peut galement utiliser cin pour demander plus d'une entre de rfrence :

    cin >> n >> p ;

    est quivalent :

    cin n;

    cin p;

    28

  • Les instructions de contrle

    Un programme est en gnral pas limite une squence linaire

    d'instructions. Au cours de son processus, il peut rpter le