Vous êtes sur la page 1sur 13

Cours et exercices de l’informatique : https://coursetexercicestv.blogspot.

com/

Amine Attaiki
I-Structure d’un programme C++ :

II- Les espaces de noms :

 Nom_namespace :: Nom composante

 namespace ns1 :: ns2

using namespace Nom_namespace ;

III- Les entrées et les sorties aves

cin >> Nom_variable_1 >> Nom_variable_2>> …… >> Nom_variable_n ;


" "

" "

Instructions conditionnelles :
if ( Conditions ) { switch( expression )
case valeur 1 : instructions ;
instruction1; "\n" : retour à la ligne.
break ;
}

"\t" : tabulation.
else{
endl : provoque un passage
case valeur n : instructions ;
instruction2 ; à la ligne.
} break ;

default :
instructions
}

while(Conditions) do{ for (Départ de compteur ;Fin de compteur ;Le pas)


{ Bloc d’instructions ; {
Bloc d’instructions; }while (Conditions); Bloc d’instructions ;
}
}

Bloc
d’instructions
Conditions Vrai Départ de compteur
Bloc
Fin de compteur
Vraie Faux d’instructions

Bloc Conditions
d’instructions
Faux
Les variables :

−215 à 215 − 1
−231 à 231 − 1

−27 à 27 − 1

IV- Les manipulateurs de flux :


Fonction Définition Bibliothèque Exemple Affichage
IV- Les types composés :
Les types composés

Les Tableaux Les Types structurés

Les chaines de caractères Structures


Enumération
Union

1- Les Tableaux :

Déclaration :
1-Les tableaux à une dimension : Type NOM_TABLEAU [ La taille du tableau ] ;

2-Les tableaux à 2 dimensions : Type NOM_TABLEAU [ N1 ][ N2 ] ;

3-Les tableaux à P dimensions : Type NOM_TABLEAU [ N1 ][ N2 ]……..[ Np ] ;

L’initialisation :
1-Les tableaux à une dimension : Type T [ N ]={V1,V2,……….. ,VN } ;

2-Les tableaux à 2 dimensions : Type T [ n ][ m ]={{ V1,1,…. ,V1,m },…..,{ Vn,1,…. ,Vn,m }} ;

Exemple : int T [ 2 ][ 3 ]={{ 5,2,7 },{ -1,-8,10 }} ; 5 2 7


-1 -8 10

2-Les Chaines de caractères :

Déclaration : char NOM [ Nombre de caractères plus un ] ;

Exemple : b i e n v e n u e \0
strlen int taille = strlen(chaine); récupérer la taille d'une chaine de caractères < cstring >
strcpy strcpy( destination , source ); copier une chaine de caractères dans une autre < cstring >
strncpy strncpy( destination , source, N ); copier les "N" premiers caractères < cstring >
strcat strcat( chaine_1 , chaine_2 ); Concaténer deux chaines de caractères < cstring >
strncat strncat( chaine_1 , chaine_2 , N ); Concaténer les "N" premiers caractères de chaine_2 à chaine_1 < cstring >
strcmp int x= srtcmp ( chaine_1 , chaine_2 ); Comparer deux chaine de caractères < cstring >
strncmp int x= srtncmp ( chaine_1 , chaine_2 , N ); Comparer les "N" premiers caractères de deux chaine de caractères < cstring >
stricmp int x= srticmp ( chaine_1 , chaine_2 ); Comparer deux chaine de caractères (A=a ,B=b,…,Z=z) < cstring >
strnicmp int x= srtnicmp ( chaine_1 , chaine_2 , N ); Comparer les "N" premiers caractères de deux chaine de caractères(A=a ,…,Z=z) < cstring >
scanf scanf("format",liste_variables); Lecture depuis l'entrée standard <cstdio>
gets gets(chaine); Lecture d'une chaine de caractères <cstdio>
sscanf sscanf(chaine,"format",&liste_variables); Décodage d'une chaine de caractères suivant un format <cstdio>
printf printf("format",liste_variables); Écriture sur l'entrée standard <cstdio>
puts puts(chaine); Écriture d'une chaine de caractères <cstdio>
sprintf sprintf(chaine,"format",liste_variables); Enregistrement d'une chaine de caractères formatée dans une variable <cstdio>
atoi int entier = atoi (chaine); Extraire un entier de type int depuis une chaine de caractères <cstdlib>
atol long entier = atol (chaine); Extraire un entier de type long depuis une chaine de caractères <cstdlib>
atof float reel = atof (chaine); Extraire un réel de type float depuis une chaine de caractères <cstdlib>

2- Les Types structurés :


Les structures :

Création : struct Nom_structure { Déclaration :


type Nom_variable_1 ;
type Nom_variable_2 ; struct Nom_structure Nom_variable ;

Champs type Nom_variable_N ;

};

Initialisation : struct Nom_structure Nom_variable ={val_champ1, … , val_champN};

Accès aux champs : Nom_variable . Nom_champ ;

Les énumérations :

Création : Déclaration :
enum Nom_enumeration {
enum Nom_enumeration Nom_variable_enum ;
Constante_1= Nom_variable_1 ,
Constante_2= Nom_variable_2 , Initialisation :

Constante_N= Nom_variable_N enum Nom_enumeration Nom_variable_enum = valeur ;
};

Lecture : Variable = Nom_var_enum ;


Accès :
Changement de valeur : Nom_var_enum = nouvelle_valeur ;

La valeur doit correspondre au nom de l’une des


constantes déclarées à l’intérieur de l’énumération

Les unions :

Création : Déclaration :
union Nom_Union { union Nom_Union Nom_Variable_Union ;
type Nom_variable_1 ;
type Nom_variable_2 ;

Type Nom_variable_N ;
Initialisation :
};

union Nom_Union Nom_Variable_Union ={ . champ = valeur };

Lecture : Variable = Nom_Var_Union . Nom_champ ;


Accès :
Changement de valeur : Nom_Var_Union . Nom_champ = valeur ;
V- Les pointeurs :
 Un pointeur est un variable qui contient l’adresse d’une autre variable.
Un pointeur est une variable qui doit être
définie en précisant le type de variable pointée.

 
 
 

Déclaration : Type * Nom_Pointeur ;


Initialisation : Nom_Pointeur = &Nom_variable_pointée ;
Lecture : Variable = *Nom_pointeur ;
Modification : *Nom_pointeur = Valeur ;
Les pointeurs et les tableaux :


Les pointeurs et les chaines de caracteres :


" «;

Les fonctions :
Fonction Syntaxe Définition Bibliothèque
VI- Les gestion dynamique de la mémoire :

VII- Les fonctions :


 Une fonction est une sous-programme.
La syntaxe :







 Appel récursif d’une fonction :


o
o
Déclaration :
L’appel :

Déclaration :
L’appel :

Déclaration :
L’appel :
o

VIII- Les exceptions :

Exemple :

#include <iostream> try {


using namespace std; cout<<x<<"/"<<y<<"="<<Division(x,y)<<endl;
float Division(int x,int y){ }
if(y==0) catch(int a){
throw y; cerr<<"La division sur 0 est impossible "<<endl;
else }
return (float)x/y; }
}
int main()
{
int x,y;
cout<<"Saisir un entier : " ;
cin>>x;
cout<<"Saisir un entier non nul : " ;
cin>>y;
IX- Les classes en C++ :
1. Prototype de la classe :

 Par défaut.
 Avec arguments.
 Par copie.
 Par déplacement.





Déclaration d’un méthode : Type Nom_classe :: Nom_méthode(…){ … }

2. Surcharge des opérateurs :


Il y a deux manières pour surcharger les opérateurs

Interne : Externe :

+ - * / % = += -= *= /= %= ++ --
== < > <= >= != & | ~ ^ << >>
Interne : Externe :

Si l’opération induit une modification des données membres de l’objet en entrée,


alors utilisez une surcharge interne , Sinon utilisez une surcharge externe(friend)

2. L’héritage :

Utilisation du mot clé :


protected, pour permet de
créer des membres privés
qui sont accessibles par les
classes filles

Le polymorphisme :
Les classes abstraites :

Vous aimerez peut-être aussi