• Aucun résultat trouvé

2TÃ 2T ÃRCT RCT Ã Ã GVRTÃ GVRT ÃUGPV UGPVÃ Ã RCT RCT /$GPEJTKHC

N/A
N/A
Protected

Academic year: 2022

Partager "2TÃ 2T ÃRCT RCT Ã Ã GVRTÃ GVRT ÃUGPV UGPVÃ Ã RCT RCT /$GPEJTKHC"

Copied!
11
0
0

Texte intégral

(1)

.CPICIG%

.CPICIG%

2TÃ 2T ÃRCT RCT Ã Ã GVRTÃ GVRT ÃUGPV UGPVÃ Ã RCT RCT /$GPEJTKHC

/$GPEJTKHC

Année Universitaire 2006/2007

7PKXGTUKV

7PKXGTUKVÃ Ã /QJCOOGF8 /QJCOOGF 8 #IFCN #IFCN (CEWNV

(CEWNVÃ Ã FGUUEKGPEGUFG4CDCV FGUUEKGPEGUFG4CDCV

&

& ÃRCTVGOGPVFG/CVJ Ã RCTVGOGPVFG/CVJÃ ÃOCVKSWGGV+PHQTOCVKSWG OCVKSWGGV+PHQTOCVKSWG

6CDNGFGOCVK

6CDNGFGOCVKÂ ÂTGU TGU

CHAPITRE 1 CHAPITRE 1 : : Introduction Introduction

Historique du langage C Historique du langage C

Caract Caracté éristiques du langage C ristiques du langage C

Diff Diffé érentes phases de la programmation en C rentes phases de la programmation en C

(2)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

CHAPITRE 2 CHAPITRE 2 : : Notions de base Notions de base

Premier programme en langage C Premier programme en langage C

Composantes d Composantes d’ ’un programme en C un programme en C

Discussion du programme Discussion du programme premier_prog premier_prog

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

CHAPITRE 3 CHAPITRE 3 : : Types de base, Opé Types de base, Op érateurs et expression rateurs et expression

Les types simplesLes types simples

DéDéclaration des variables simplesclaration des variables simples

Les opéLes opérateurs standardsrateurs standards

Les expressions et les instructionsLes expressions et les instructions

PrioritéPrioritéet associativitet associativitéédes opédes opérateursrateurs

Les conversions de typeLes conversions de type

(3)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

CHAPITRE 4 CHAPITRE 4 : : Lire & Ecrire des donné Lire & Ecrire des donn ées es

Ecriture formatéEcriture formatée de donne de donnéées : es : printfprintf()()

Lecture formatéLecture formatée de donne de donnéées : es : scanfscanf()()

Ecriture d’Ecriture d’un caractun caractèère : re : putcharputchar()()

Lecture d’Lecture d’un caractun caractèère : re : getchargetchar()()

CHAPITRE 5 CHAPITRE 5 : : Structures de contrôle Structures de contrôle

Structure de choix Structure de choix L'instruction

L'instruction if if ; L'instruction d'aiguillage switch ; L'instruction d'aiguillage switch

Structures ré Structures r ép pé étitives titives L'instruction d'it

L'instruction d'ité ération ration while while ; L'instruction d'ité ; L'instruction d'it ération ration do do… …while while ; L'instruction d'ité ; L'instruction d'it ération ration for for

Les instruction break Les instruction break et continue et continue

(4)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

CHAPITRE 6 CHAPITRE 6 : : Tableaux Tableaux

Dé D éfinition finition

Tableaux à Tableaux à une dimension une dimension (Vecteurs) (Vecteurs)

DDééclaration ; Mclaration ; Méémorisation ; morisation ; ……

Tableaux à Tableaux à plusieurs dimensions plusieurs dimensions

D Dé éclaration : claration :

Tableaux Tableaux à à deux dimensions deux dimensions (matrices) : (matrices) :

DDééclaration ; Mclaration ; Méémorisation ; morisation ; ……

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

CHAPITRE 7 CHAPITRE 7 : : Pointeurs Pointeurs

DéDéfinition finition

DéDéclaration dclaration d’’un pointeurun pointeur

OpéOpérations rations éélléémentaires sur les pointeursmentaires sur les pointeurs

Pointeurs et tableauxPointeurs et tableaux

Pointeurs et tableaux àPointeurs et tableaux àdeux dimensionsdeux dimensions

Tableaux de pointeursTableaux de pointeurs

Allocation dynamique de la mAllocation dynamique de la méémoire moire

(5)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

%*#2+64' %*#2+64' $ $

CHAPITRE 9 CHAPITRE 9 : : Chaî Cha înes de caract nes de caractè ères res

DéDéfinitionfinition

DéDéclaration et mclaration et méémorisation morisation

ChaîChaînes de caractnes de caractèères constantesres constantes

Initialisation d’Initialisation d’une chaune chaîîne ne ààla déla définitionfinition

Ordre alphabéOrdre alphabétique et lexicographiquetique et lexicographique

Manipulation des chaîManipulation des chaînes de caractnes de caractèères res

Tableaux de chaîTableaux de chaînes de caractnes de caractèères res

(6)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

%*#2+64' %*#2+64' %& %& $ $ "'( ( "'( ( '' ''

!" # !" #

!" # !" #

!" !" # #

!" "" #" !" "" # "

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

CHAPITRE 11 CHAPITRE 11 : : Fichiers Fichiers

Dé D éfinitions et propri finitions et proprié ét t és é s

La mé La m émoire tampon moire tampon

Fichiers de texte Fichiers de texte et fichiers binaires et fichiers binaires

Fichiers standards Fichiers standards

Dé D éclaration d claration d’ ’un fichier un fichier

Ouverture Ouverture et et fermeture fermeture d’ d ’un fichier un fichier

Traitement du contenu d’ Traitement du contenu d ’un fichier un fichier

Dé D étection de la tection de la fin de fichier fin de fichier

Dé D éplacement placement dans le fichier dans le fichier

Gestion des erreurs Gestion des erreurs

Quelques complé Quelques compl éments ments

(7)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

%$

%$

1. Historique du langage C 1. Historique du langage C

EnEn1972, dans les 1972, dans les ‘‘Bell Bell LaboratoriesLaboratories’’, Ritchie a con, Ritchie a conççu le u le langage C pour d

langage C pour déévelopper une version portable du systvelopper une version portable du systèème me dd’’exploitation UNIX.exploitation UNIX.

En 1978En 1978, le duo , le duo KernighanKernighan/ Ritchie a publi/ Ritchie a publiééla déla définition finition classique du langage C,

classique du langage C,

En 1983En 1983, le , le ‘‘AmericanAmericanNational Standards National Standards InstituteInstitute’’(ANSI) (ANSI) chargeait une commission de mettre au point

chargeait une commission de mettre au point ‘‘une dune dééfinition finition explicite et ind

explicite et indéépendante de la machine pour le langage Cpendante de la machine pour le langage C’’. Le . Le rréésultat sultat éétait le standard tait le standard AnsiAnsi--CC..

%$ %$ 2. Caracté 2. Caract éristiques du langage C ristiques du langage C

C

Cest un langage :est un langage :

universeluniversel: permet aussi bien la programmation systè: permet aussi bien la programmation système que la me que la programmation de divers applications (scientifique, de gestion, programmation de divers applications (scientifique, de gestion,

…))

de haut niveaude haut niveau: C est un langage structur: C est un langage structuréé(offre plusieurs (offre plusieurs structures de contrôle) et typ

structures de contrôle) et typéé(d(déclarations obligatoires)éclarations obligatoires)

prpréés de la machines de la machine: offre des op: offre des opéérateurs qui sont trrateurs qui sont trèès proches de s proches de ceux du langage machine

ceux du langage machine……

PortablePortable: en respectant le standard ANSI-: en respectant le standard ANSI-C, il est possible C, il est possible d

d’’utiliser le même programme sur dutiliser le même programme sur d’’autres compilateurs.autres compilateurs.

……

(8)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

Edition

Programme objet (.OBJ) Compilation

Edition de lien

Programme exécutable (.EXE) Programme source (.C)

#include

#include

#include<graphics.h>

#include<math.h>

main() { … } Fichiers en-tête

(.h)

graphics.h /* déclarations */

math.h /* déclarations */

Bibliothèques précompilées (.lib)

%$)* %$)* Diff Diffé érentes phases de la programmation en C rentes phases de la programmation en C

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

1. Premier programme en langage C 1. Premier programme en langage C

##includeinclude<stdio.h<stdio.h>>

intintmain( )main( ) {{

printf

printf("Bonjour tout le monde("Bonjour tout le monde\\n");n");

return 0 ; return 0 ; }}

Ce programme affiche le message :"Ce programme affiche le message :"Bonjour tout le mondeBonjour tout le monde".".

CHAPITRE 2 CHAPITRE 2 : : Notions de base Notions de base

(9)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

En C, les programmes sont compos

En C, les programmes sont composéés essentiellement de s essentiellement de fonctionsfonctionset de variableset de variables..

2.1 Les fonctions2.1 Les fonctions::

Définition d'une fonction en C :finition d'une fonction en C :

<

<TypeRTypeRéésultatsultat> <> <NomfonctionNomfonction>>((<<TypePar1TypePar1>, <>, <TypePar2TypePar2>, >, ……)) {{

<

<déclarations localesclarations locales> ;> ;

<<instructionsinstructions> ;> ; }

}

En C, une fonction est déEn C, une fonction est définie par :finie par :

une ligne une ligne déclarativeclarativequi contient :qui contient :

<<TypeRTypeRéésultatsultat> : type de r> : type de réésultat de la fonctionsultat de la fonction

<<NomfonctionNomfonction> : nom de la fonction> : nom de la fonction

<TypePar1> <NomPar1>, <TypePar1> <NomPar1>, …: types et noms des paramè: types et noms des paramètres de la fonctiontres de la fonction unun bloc d'instructionsbloc d'instructionsdélimitlimitéépar les accolades {}, contenant :par les accolades {}, contenant :

<d<dééclarations locales> : dclarations locales> : dééclarations des donnclarations des donnéées locales (c.es locales (c.-à--d. des donnd. des donnéées uniquement es uniquement connues

connues ààl'intél'intérieur de la fonction).rieur de la fonction).

<instructions> : liste des instructions qui d<instructions> : liste des instructions qui dééfinit l'action qui doit être exfinit l'action qui doit être exéécutcutéée.e.

RemarqueRemarque::

En C, toute instruction simple est terminEn C, toute instruction simple est terminéée par un point virgule ( ; ).e par un point virgule ( ; ).

ExempleExemple::

printfprintf("Bonjour tout le monde") ;("Bonjour tout le monde") ;Composantes dComposantes d’’un programme en Cun programme en C

Chap Chap 2 : 2. Composantes d’ 2 : 2. Composantes d ’un programme en C un programme en C

2.2 La fonction main :

Une fonction et une seule s'appelle main.

C'est la fonction principale des programmes en C ; elle se trouve obligatoirement dans tous les programmes.

L'exécution d'un programme entraîne automatiquement l'appel de la fonction main.

Le type du résultat de main est toujours int (entier). Il n'est pas déclaré explicitement.

L'instruction return 0 ; indique à l'environnement que le programme

Chap

Chap 2 : 2. Composantes d’ 2 : 2. Composantes d ’un programme en C un programme en C

(10)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

2.3 Les variables :

Contiennent les valeurs utilisées pendant l'exécution du programme.

Les noms des variables sont des identificateurs quelconques.

Toute variable doit être déclaréeavant les instructions et son typespécifié dès la déclaration.

Les différents types de variables simples seront discutés dans le chapitre suivant.

Chap Chap 2 : 2. Composantes d’ 2 : 2. Composantes d ’un programme en C un programme en C

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007

2.4 Les identificateurs:

Les noms des fonctions et des variables en C sont composés d'une suite de lettres et de chiffres, plus le caractère souligné ( _ ).

Le 1er caractère doit être une lettre.

Exemples :

Remarques :

Le caractère souligné est aussi considéré comme une lettre.

Ces identificateurs sont réservés :

auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while.

C distingue les minuscules et les majuscules. PGCD et Pgcd sont deux identificateurs différents.

Chap

Chap 2 : 2. Composantes d’ 2 : 2. Composantes d ’un programme en C un programme en C

(11)

M. Benchrifa : cours du langage C : Filière SMI : Semestre 3 : 2006/2007 2.5 Les commentaires :

$

$

un commentaire sur une ligne commence par les caractères //.

un commentaire multilignes commence par les caractères /* et se termine par */.

Al’intérieur de ces délimiteurs, vous avez droit à toute suite de caractères (sauf évidemment */).

attention : on ne peut donc pas imbriquer des commentaires.

/***********************************/

/* ce programme vous dit bonjour */

/***********************************/

/* fichier d’entete pour utiliser la fonction printf

*/#include <stdio.h>

/* la fonction principale main */

int main()

{printf(‘‘Bonjour’’); // afficher Bonjour return 0;

}

Chap Chap 2 : 2. Composantes d’ 2 : 2. Composantes d ’un programme en C un programme en C

2.6 Discussion du programme Premier_prog

Le programme ne contient pas de variables, donc le bloc de déclarations est vide.

la fonction main contient deux instructions :

l'appelde la fonction printf avec l'argument "Bonjour tout le monde\n" qui affiche le message Bonjour tout le monde.

L'instruction return 0 ; qui retourne la valeur 0 comme code d'erreurà l'environnement.

La séquence de symboles '\n' ordonne un passage à la ligne suivante.

La fonction printf fait partie de la bibliothèque de fonctions standard <stdio>, qui gère les entrées et les sorties de données.

La 1ère ligne du programme #include <stdio.h> : informe le compilateur d'inclure le fichier "stdio.h" dans le texte du programme. Ce fichier contient les informations nécessaires pour utiliser les fonctions de la bibliothèque standard <stdio>.

Chap Chap 2 : 2. Composantes d’ 2 : 2. Composantes d ’un programme en C un programme en C

Références

Documents relatifs

Ce passage est très révélateur de la communication entre les acteurs. En effet, la personne interrogée soulève plusieurs problématiques, d’une part celle de la

[r]

[r]

(Tension de fin de charge ou de décharge) Formule unique pour la charge et la décharge. Uc (t) = Vf

Alors que les Antilles sont secouées par d’importants conflits identitaires - nourris par les inégalités d’une société post-esclavagiste en construction -, l’artiste

Dans le modèle de l’intégration uniforme, qui est dominant en France, en Espagne et au Portugal, les élèves suivent, de façon générale, un même parcours scolaire,

3 Lors d’un colloque organisé à l’Institut d’études politiques d’Aix-en-Provence en mai 2018 et consacré aux formes de contrôle et de « mise en

İŅœĵōįįĽŋĮĥĿĮŃĪĺŁĪ ĵ .5 ŌĻŊŀœĵĮńœ ŐĪœĽ ŀįģŁĮĽŋįĽŋĦĤŅœĮŌijņŒļĺļĮīŁĵĻŊŀģĺňĪ ĤļĦĥĿĮŃĪĺŁĪĨ ŀœĮĵ ŀĪĭĿĩ ʼnĵĺŅģĺŁīļĮİŁĩ ĺĿį ŀįİŀįİŇĦİń 2010. ŏĮĤ ŀœĮĵ ŀĪĭĿĩ ʼnĵ ĺŅģĺŁİńĭń