ait mahjoub langage c

Download Ait Mahjoub Langage c

Post on 20-Jul-2015

77 views

Category:

Documents

8 download

Embed Size (px)

TRANSCRIPT

Elabor par : Mr Mustapha AITMAHJOUB

OFPPT : ISTA HAY RIAD

SOMMAIREPage

INTRODUCTION AU LANGAGE C++ 1. ELEMENTS DU LANGAGE .... 2 1.1 Alphabet du langage...2 1.2 Mots rservs........2 1.3 Identificateurs...2 1.4 Constantes...3 1.5 Commentaire...3 1.6 Les sparateurs3 2. STRUCTURE DUN PROGRAMME C++.4 2.1 Structure de base.5 3. TYPES DE DONNEES FONDAMENTAUX6 3.1 Donnes de type entier...........................................................................................6 3.2 Donnes de type rel..6 4. VARIABLES ET CONSTANTES..7 4.1 Variables 7 4.2 Constantes..7 5. ENTREE/SORTIE DES DONNEES..8 5.1 Fonction printf ().8 5.1.1 Sortie formate..8 5.1.2 Largeur du champ.9 5.1.3 Squences dchappement..10 5.2 Fonction scanf ()..10 6. LES EXPRESSIONS11 6.1 Oprateurs arithmtiques.12 6.2 Oprateurs de manipulation.12 6.3 Oprateurs dincrmentation/decrmentation.12 6.4 Oprateurs sizeof ().12 7. EXPRESSION BOOLEENNE.13 7.1 Oprateurs de comparaison.13 7.2 Oprateurs logiques.13 7.3 Oprateurs conditionnels ternaire14 8. INSTRUCTIUONS DAFFECTATION..14 9. PRIORITE DES OPERATEURS..17 INSTRUCTION DE CONTROLE 1. STRUCTURE SEQUENTIELLE.17 2. STRUCTURE SELECTIVE.18 2.1 Structure if19 2.2 Structure if,,else21 2.3 Structures if imbriques24 2.4 Structure switch25 STRUCTURE REPETITIVE26 3.1 Structure while.28

OFPPT : ISTA HAY RIAD

3.2 Structure do..while...29 3.3 Structure for.30

INSTRUCTUION DE BRANHEMENT..30 4.1 Instruction break...31 4.2 Instruction continue.31 4.3 Instruction goto34 TYPES DE DONNEES COMPLEXES 1. LES TABLEAUX.34 1.1 Tableaux unidimensionnels 34 1.1.1 Dclaration dun tableau.34 1.1.2 Initialisation dun tableau36 1.2 Tableaux multidimensionnels..36 1.2.1 Dclaration dun tableau...36 1.2.2 Initialisation dun tableau..38 LES CHAINES DE CARACTERES38 2.1 Fonctions dentre/sortie des chanes..39 2.2 Fonctions de traitement des chanes.40 2. LES STRUCTURES.41 3.1 Dclarations dune structure41 3.2 Dclaration de variables dune structur41 3.3 Accs aux membres de la structure..42 3. LES POINTUERS43 4.1 Dclaration des pointeurs.45 4.2 Tableaux et pointeurs47 4.3 Pointeurs et chanes de caractres 47 4.3.1 Initialisation dune chane47 4.3.2 Traitement des chanes.49 4.4 Pointeurs et structures..50 4.5 Allocation dynamique de la mmoire..52 4. ENUMERATION..52 5.1 Utilisation des numrations 53 5. DEFINITION DE NOUVEAUX TYPES..54 LES FONCTIONS FONCTION NE RETOURNANT PAS DE VALEUR.57 1.1 Fonction ne prenant pas de paramtres.57 1.2 Fonction prenant des paramtres...59 FONCTION RETOURNANT UNE VALEUR.61 PASSAGE DE PARAMETRES63 3.1 Passage par valeur63 3.2 Passage par adresse..64 3.3 Passage par rfrence64

OFPPT : ISTA HAY RIAD

PASSAGE DUN TABLEAU UNE FONCTION .66 PASSAGE DUNE STRUCTURE NE FONCTION..69 1. CLASSE DE STOKAGE72 6.1 Dure de vie..72 6.1.1 Variables automatiques73 6.1.2 Variables statiques et externes73

6.2 Porte des variables..74 6.2.1 Porte bloc74 6.2.2 Porte fonction.74 6.2.3 Porte fichier75 1. 2. 3. LES FICHIERS DEFINITION77 PRINCIPE DACCES AUX FICHIERS..77 ENTREE/SORTIE STANDARD..78 3.1 E/S des caractres79 3.1.1 Ouverture dun fichier.80 3.1.2 Ecriture vers un fichier83 3.1.3 Fermer un fichier.83 3.1.4 Lecture dun fichier.83 3.1.5 Fin de fichier84 3.1.6 Erreur douverture dun fichier84 3.1.7 Application : compter le nombre de caractres86 3.2 E/S des chanes..87 3.3 E/S formates90 3.4 Mode binaire et mode texte..93 3.5 E/S des enregistrements95 3.5.1 Ecriture des structures avec fwrite()95 3.5.2 Lecture des structures avec fread()..97 3.6 Accs alatoire.98 E/S SYSTEME..101 4.1 Lecture des fichiers..102 4.1.1 Cration dun tampon..103 4.1.2 Ouverture dun fichier.103 4.1.3 Identificateur de fichier...104 4.1.4 Lecture du fichier dans le tampon...104 4.1.5 Fermeture du fichier...105 4.1.6 Message derreur105 4.2 Oprations sur le tampon105 4.3 Ecrire dans un fichier..109

4.

OFPPT : ISTA HAY RIAD

OFPPT : ISTA HAY RIAD

Language C++

P.1

OFPPT : ISTA HAY RIAD

Language C++

P.2

INTRODUCTION AU LANGAGE C

1. ELEMENTS DU LANGAGE C 1.1 Alphabet du langage Le langage C utilise les lettres A Z (majuscule et minuscule), les chiffres 0..9 et certains symboles spciaux comme lments de construction pour former les lments de base dun programme. Certains symboles spciaux se composent de deux caractres conscutifs, par exemple ++ >= /* ! = 1.2 Mots rservs Les mots rservs ou mots cls ont en langage C et pour le compilateur une signification standard prdfini. Les mots cls ne peuvent pas tre redfinis par lutilisateur. Asm _asm __asm auto cdecl _cdecl __cdecl char continue _cs __cs default double _ds __ds else __es _export __export extern __far _fastcall __fastcall float goto huge __huge if interrupt _interupt __interupt _loadds near _near __near new _pascal__pascal private protected public return _saveregs __savaregs _seg signed sizeof _ss __ss switch template this typedefunion virtual void volatilewhile break case class const delet do enum _es far _far for friend inline int __loadds long operator pascal register __seg short static struct unsigned

TABLEAU 1 : Mots rservs

1.3 Identificateurs Un identificateur se dfinit comme un nom donn un lment du programme tels que les variables, les types, fonctions et les labels. Lidentificateur est cre en le spcifiant dans la dclaration dune variable, type ou dune fonction. Dans lexemple suivant, Valeur1, Valeur 2 et Somme sont des identificateurs de variables entires, et main() et printf() sont des identificateurs de fonctions.

OFPPT : ISTA HAY RIAD

Language C++

P.3

#include void main() { int Valeur 1 , Valeur 2, Somme ; Valeur 1 = 10 Valeur 2 = 20 Somme = Valeur 1 + Valeur 2 ; Printf ( Somme = %d, Somme) ; } Une fois dclar, on peut utiliser lidentificateur, plus tard, dans une instruction de programme pour se rfrer la valeur associ cet identificateur. Les identificateurs se composent de lettres, de chiffres ou du caractre soulign dans nimporte quel ordre, pourvu que le premier caractre soit une lettre ou le caractre soulign. Le compilateur C fait une distinction entre les majuscules et les minuscules, par exemple valeur et Valeur sont deux identificateurs diffrents. J, nombre_jour, ENTIER sont des identificateurs valides Valeur 1 : invalide contient la caractre espace 7 somme : invalide car le premier caractre est un chiffre 1.4 Constantes Il est souvent commode dassocier un lment de donne simple, tel quune valeur numrique, un caractre ou une chane de caractre, un identificateur, attribuant ainsi un nom llment de donne. On appelle lidentifcateur une constante si on lui attribue llment de donne de manire dfinitive (la valeur reste inchange tout au long du programme) 1.5 Le commentaire Les commentaires sont des textes servant annoter un programme. Ils ne prsentent dutilit que pour le programmeur, et ils sont supprims logiquement du fichier source avant la compilation. Il y a deux faons de dlimiter les commentaires, soit par la paire ** lorsque le commentaire est crit sur plusieurs lignes, soit // pour dbuter une ligne de commentaire jusqu la fin de la ligne. 1.6 Les sparateurs Crochets [] : les crochets ouvrants et fermants [ ] servant spcifier un indice daccs un tableau mono ou multi-dimensios. Char Ch, Str[]= Bonjour ; Int Mat[3] [4] ; //matrice 3x4 Ch=Str[3] ; //ch=n

OFPPT : ISTA HAY RIAD

Language C++

P.4

Parenthses () : Les parenthses permettent de grouper des expressions, disoler des expressions conditionnelles et dindiquer des appels de fonctions et des paramtres : X = (a+b)/c ; // remplace la priorit normal if (a= =0) ; // utilisation dans une instruction conditionnelle Fonc() ; // appel dune fonction Accolades {} : Le couple daccolades permet dindiquer le dbut et la fin dun bloc dinstruction. if (x !=5) { x++ ; fonct(x) ; } Virgule : La virgule spare les lments dune liste darguments dune fonction : Int somme (intx, int y) ; Point-virgule ; Le point-virgule est le terminateur dinstruction. Toute expression lgale en C (y compris lexpression vide) qui est suivie par le signe ; est interprte en tant quinstruction. Deux-points : Le signe deux-points permet une instruction avec label : Debut : x=0 ; . . goto Debut ; 2. STRUCTURE DUN PROGRAMME C++ Les deux principales parties des programmes C++ sont les fichiers sources et les fichiers en-tte. Les fichiers sources contiennent les paries principales du programme. Cest dans les fichiers sources quon dfinit les routines, les donnes et les instructions. Parfois, les fichiers sources empruntent les routines et fonctions dautres fichiers sources ou de bibliothque. Pour que ces routines soient reconnues par le compilateur, on doit dclarer dans le fichier principal des fichiers den-tte. Le fichier den-tte indique au compilateur les noms et caractristiques des routines. Par exemple pour calculer 510 , on doit faire appel la fonction pow qui est dclare dans le fichier inclure math.h

OFPPT : ISTA HAY RIAD

Language C++

P.5

2.1 Structure de base des programmes C++ Lexemple suivant est un programme C++ /*---------------------------------------------------------------------------------------------------------------------*PROGRAMME 1 *Fichier : affichev.cpp *Auteur : Mustapha AIT MAHJOUB *Date : 10/09/1999 *Description : Ce programme affiche un message sur lcran ----------------------------------------------------------------------------------------------------------------------*/ #include void main() { // Affichage dune chane printf(Ce ci est un programme C++/n) ; } Regardons sa structure. Le texte entre /* et */ est un commentaire. Main() est une fonction. Tout programme C++ est un ensemble de fonctions dont une et une seule doit sappeler main(). Le mot cl void indique au compilateur que la fonction main ne renvoie aucune valeur. Si la programme doit renvoyer une valeur au systme dexploitation. Le programme prcdent scrira :