Vous êtes sur la page 1sur 239
Université Gaston Berger - Saint Louis Année académique 2009-2010 Miage 1 et Dietel 1 E.

Université Gaston Berger - Saint Louis Année académique 2009-2010

Gaston Berger - Saint Louis Année académique 2009-2010 Miage 1 et Dietel 1 E. M. Nguer

Miage 1 et Dietel 1

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

1

Le Langage C
Le Langage C

Sommaire

1. Historique

2. Généralités

3. Les types de bases

4. Les opérateurs et les expressions

5. Les entrées-sorties

6. Les instructions de contrôle

7. Les fonctions

8. Tableaux et Pointeurs

9. Les chaînes de caractères

10. Les structures

11. Les fichiers

12. Génie logiciel

13. La gestion dynamique

14. Le pprocesseur

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

2

Le Langage C
Le Langage C

Références

Braquelaire J.P., Méthodologie de la programmation en langage C – Principes et applications, Masson, 1993. Delannoy C., le livre du C – Premier langage, Eyrolles. Delannoy C., Programmer en C Drix Ph., Langage. Norme ANSI, Masson, 1994. Kernighan B.W., Ritchie D.M., le langage C (ANSI), Masson,

1992.

Rifflet J.M., La programmation sous UNIX (chapitre 8), Ediscience International, 1994. Roberts E.C. The Art and Science of C, Addison Wesley, 1995. Henri Garreta, Le langage C 2003 http://mamadou.nguer.free.fr/ http://www.developpez.com

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

3

L e L a n g a g e C Hi st or i que

Le Langage C Hi stori que

Historique

Généralités

Les types de bases

• La première version

Les opérateurs et les expressions

Les entrées-sorties

• La normalisation

Les instructions de contrôle

Les fonctions

• La seconde version

Tableaux et pointeurs

Les chaînes de caractères

Les structures

• L’usage générale

Les fichiers

Génie logiciel

La gestion dynamique

Le préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

4

Le Langage C
Le Langage C

Première versi on

Historique

Première version

La normalisation

• 1972: Création du langage C par Denis Ritchie, des Laboratoires Bell, dans le but d’écrire un système d’exploitation (UNIX).

Seconde version

L usage générale

• 1978: le langage C est défini et publié une première fois par Brian Kernighan et D. Ritchie des Laboratoires Bell , dans un livre intitulé The i

C P

rogramm ng

L

anguage.

Cette version fut appelée Kernighan et Ritchie 78, ou K&R 78 en abrégé, ou encore le plus

souvent simplement K&R.

,

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

5

L e L a n g a g e C L a norma li sa

Le Langage C L a norma li sati on

Historique

'

'

Suite à l extraordinaire succès d UNIX, qui

Première version

La normalisation

Seconde version

L usage générale

induisit le succès du langage C, la situation devint confuse : plusieurs fournisseurs de compilateurs mirent sur le marché des compilateurs non

conformes à K&R car comportant des extensions particulières.

• À la fin des années 80, il devint nécessaire de mettre de l'ordre dans ce chaos et donc de normaliser le langage, tâche à laquelle s'attela l' ANSI1.1, organisme de normalisation américain. La norme ANSI fut terminée en 1989.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

6

L e L a n g a g e C S econ d e versi

Le Langage C S econd e versi on

Historique

Première version

La normalisation

Seconde version

• En 1990, l' ISO1.2, organisme de normalisation international, adopta tel quel le standard ANSI en tant que standard ISO.

L usage générale

• Cette seconde version du langage C devrait donc s'appeler ISO C, mais comme les acteurs importants du monde informatique sont de culture anglo-saxonne et que ceux-ci persistent à l'appeler ANSI C, (presque ?) tout le monde fait de même.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

7

Le ’
Le

Langage C L usage gén éral e

Historique

Première version

La normalisation

Seconde version

Nous allons suivre dans ce cours l'usage général, et utiliserons l'expression ANSI C pour désigner la norme commune à l' ANSI et l' ISO.

L’usage générale

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

8

L e L a n g a g e C Gé n éra lité s

Le Langage C n éralité s

Historique

Généralités

Cette

p

artie traite de :

Les types de bases

Les opérateurs et les expressions

la présentation du langage C

Les entrées-sorties

Les instructions de contrôle

• de quelques instructions du langage C

Les fonctions

Tableaux et pointeurs

• de quelques règles d’écriture

Les chaînes de caractères

Les structures

et de la création d’un programme en langage C

Les fichiers

Génie logiciel

pour vous permettre d’avoir de quoi démarrer sans entrer dans le fond du sujet.

La gestion dynamique

Le préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

9

Le
Le

Langage C Présentation du langage C

Généralités

Présentation du langage C

Quelques instructions du langage C

a sens où il permet l'accès à des données que manipulent les ordinateurs (bits, octets, adresses) et qui ne sont pas souvent disponibles à partir de langages évolués tels que Fortran, Pascal ou ADA.

a e de bas niveau dans le

Le lan

e C est un lan

g

g

g

g

Quelques règles d’écriture

Création d un programme en langage C

 

• Le langage C a été conçu pour l'écriture de systèmes d'exploitation et du logiciel de base. Plus de 90% du noyau du système UNIX est écrit en langage C. Le compilateur C lui-même est écrite en grande partie en langage C ou à partir d'outils générant du langage C.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

10

Le
Le

Langage C Présentation du langage C

Généralités

 

Il en est de même pour les autres outils de la

 

Présentation du langage C

chaîne de compilation (assembleur, éditeur de liens ,

Quelques instructions du langage C

pré-processeur).

Quelques règles d’écriture

De plus tous les outils du système sont écrits en C

(shell outils)

,

.

Création d un programme en langage C

Par le biais des bases de données, il est utilisé dans les applications de gestion. De nombreux logiciels du domaine des ordinateurs personnels, tels que Microsoft Word ou Microsoft Excel, sont eux aussi écrits à partir de langage C ou de son successeur orienté objet : C++ .

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

11

Le
Le

Langage C Q ue l ques i nst ruc ti ons d u l angage C

Généralités

Présentation du langage C

Quelques instructions du langage C

Quelques règles d’écriture

Création d un programme en langage C

Un exemple de programme en langage C:

Structure d'un programme en langage C

• Déclarations

• Pour écrire des informations: printf

• Pour lire de l’information: scanf

• Pour faire des choix : l’instruction if

• Les directives à destination du préprocesseur

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

12

Le
Le

Langage C Un exemple de programme en langage C:

Généralités

Quelques instructions du langage C

Un exemple de programme en langage C:

Structure d'un programme en langage C

Déclarations

Pour écrire des informations: printf

Pour lire de l’information:

scanf

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

/*Calcul de puissance d’un réel*/ #include <stdio.h> main(){ int i,n ; float x = 2.0; float puis = 1;

printf("Donner la valeur de n :"); scanf("%d",&n); if (n>0){

for(i=0;i<n;i++)

puis = puis*x; printf("%f puissance %d = %f\n" ,x,n,puis);

}

else printf("%d est négatif",n);

getch();

}

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

13

Le
Le

Langage C Le programme principal

Généralités

Quelques instructions du langage C

La ligne: main() appelée "en-tête" précise que ce

 

Un exemple de programme en langage C:

qui sera décrit à sa suite est en fait le ''programme

"

Structure d'un programme en langage C

principal

(main).

Déclarations

Pour écrire des informations: printf

C’est une fonction dont le nom (main) est imposé

Pour lire de l’information:

scanf

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

Il est délimité par les accolades "{" et l

}

"

.

O

n

di

i

i

i

é

"

t que es nstruct ons s tu es entre ces accolades forment un "bloc".

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

14

Le Langage C Déclarations
Le
Langage C Déclarations

Généralités

Quelques instructions du langage C

Les instructions : int n; float x; et float puis; sont des "déclarations". Elle précise que :

 

Un exemple de programme en langage C:

Structure d'un programme en langage C

• la variable nommée n est de type int, c'est-à-dire qu'elle est destinée à contenir des nombres entiers (relatifs) .

Déclarations

Pour écrire des informations: printf

Pour lire de l’information:

• les variables x et puis sont de type float c'est-à-dire qu'elles sont destinées à contenir des nombres réels flottants.

scanf

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

verrons

C

il

existe

plusieurs

types

Nous d'entiers et

qu'en lusieurs t

p

es de réels

yp

.

 
 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

 

15

Le
Le

Langage C Pour é cri re d es i nformati ons: pri ntf

Généralités

 

Quelques instructions du langage C

'

"

"

L instruction : printf ( Bonjour\n ); permet d’afficher la chaîne "Bonjour\n" à l’écran.

 

Un exemple de programme en langage C:

Structure d'un programme en langage C

Les guillemets servent à délimiter une "chaîne de caractères" (suite de caractères).

Déclarations

Pour écrire des

La notation \n est conventionnelle: elle représente un caractère de fin de ligne, c est-à-dire un caractère qui, lorsqu'il est envoyé à l'écran, provoque le passage à la ligne suivante.

'

informations:

printf

 
 

Pour lire de l’information:

scanf

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

 
 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

16

Le ’
Le

Langage C Pour lire de l information: scanf

Généralités

Quelques instructions du langage C

Un exemple de programme en langage C:

L'instruction : scanf("%d",&n); permet de lire de l’information au clavier.

Structure d'un programme en langage C

Déclarations

Son premier argument est un format "%d" exprimant "

le type de la valeur lue.

précise que la valeur à

"

%d

Pour écrire des informations: printf

lire doit être un entier et "%f" un flottant.

Pour lire de l’information: scanf

Le second argument &n représente l’adresse où rangée la valeur lue.

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

17

Le ’
Le

Langage C Pour fai re d es c h oi x : l i nst ruc ti on if

Généralités

Quelques instructions du langage C

Un exemple de programme en langage C:

La ligne if (x>0) est une condition de choix basée sur la condition (x>0):

Structure d'un programme en langage C

Déclarations

• si cette condition est vraie, on exécute l’instruction suivante.

Pour écrire des informations: printf

sinon on exéc te linstr ction s i ant le else

u

u

u v

.

Pour lire de l’information:

scanf

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

18

Le
Le

Les directives à destination du Langage C préprocesseur

Généralités

Quelques instructions du langage C

La première ligne de notre programme :

Un exemple de programme en langage C:

#include <stdio.h> est en fait un peu particulière. Il s'agit d’une "directive" qui est prise en compte avant la compilation du programme.

Structure d'un programme en langage C

Déclarations

Pour écrire des

La directive demande en fait d'introduire (avant compilation) des instructions (en langage C) situées dans le fichier stdio.h. Notez qu'un même fichier en- tête contient des déclarations relatives à plusieurs fonctions.

informations:

printf

Pour lire de l’information:

scanf

Pour faire des choix :

l’instruction if

Les directives à destination du préprocesseur

E

n g

é

n

é

l

ra ,

il

est

i

n

di

spensa

bl

e

d'i

ncorporer st

di

o.

h

.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

19

Le ’
Le

Langage C Quelques règles d écriture

Généralités

Présentation du langage C

Quelques instructions du langage C

Quelques règles d’écriture

Création d’un programme en langage C

Ce paragraphe expose un certain nombre de règles générales intervenant dans l'écriture d'un programme en langage C.

'

Plus précisément de ce que l on appelle :

les identificateurs,

• les mots clés,

• les séparateurs et

• les commentaires.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

20

Le Langage C Les identificateurs
Le
Langage C Les identificateurs

Généralités

Quelques règles d’écriture

Les identificateurs

Les identificateurs servent à dési ner les différents "objets" manipulés par le programme: variables, fonctions, etc.

g

Les mots clés

Les séparateurs

Les commentaires

Ils sont formés d'une suite de caracres choisis

parmi les lettres ou les chiffres, le premier d'entre eux étant nécessairement une lettre.

Exemple: float salaire_06;

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

21

Le Langage C Les mots clés
Le
Langage C Les mots clés

Généralités

Quelques règles d’écriture

C

erta i ns

"

mots c

s "

sont r é serv é s par l e l angage

à

 

un usage bien défini et ne peuvent pas être utilisés

Les identificateurs

comme identificateurs. En voici la liste, classée par ordre alphabétique.

 

Les mots clés

Les séparateurs

 

auto

default float

register

struct

volatile

Les commentaires

break do

for

return

switch

while

case

double goto

short

typedef

char else

if

signed

union

const enum int

sizeof

unsigned

continue extern long static

void

Exemple: i nt b rea k;

Exemple: int break;

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

 

22

Le
Le

Langage C Les séparateurs

Généralités

Quelques règles d’écriture

p entre lesquels la syntaxe n'impose aucun signe particulier doivent impérativement être séparés soit par un espace, soit par une fin de ligne.

Dans un

ro ramme deux identificateurs successifs

g

,

Les identificateurs

Les mots clés

Les séparateurs

Les commentaires

Par contre, s que la syntaxe impose un séparateur quelconque, il n'est alors pas nécessaire de prévoir d'espaces supplémentaires (bien qu'en pratique cela améliore la lisibilité du programme).

Ainsi, on doit impérativement écrire :

int x,y; ou

int x, y; et non : intx,y;

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

23

Le Langage C Les commentaires
Le Langage C
Les commentaires

Généralités

Quelques règles d’écriture

Le langage C autorise la présence de commentaires

'

dans vos programmes source. Il s agit de textes

 

Les identificateurs

explicatifs sans incidence sur sa compilation et destinés aux lecteurs du programme .

Les mots clés

Les séparateurs

Ils sont formés de caractères quelconques placés entre les symboles /* et */ ou après // et peuvent apparaître à tout endroit du programme où un espace est autorisé.

Exemples:

Les commentaires

// commentaire s’étendant sur une ligne /* Commentaire s'étendant sur plusieurs lignes de programme source */

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

24

Le Langage C
Le Langage C

Création d’un programme en l angage C

Généralités

Présentation du langage C

'

La manière de développer et d utiliser un programme en langage C dépend de lenvironnement de

Quelques instructions du

lan a e C

g

g

ro rammation dans le uel vous travaillez

.

Quelques règles d’écriture

p

g

q

Création d’un programme en langage C

Mais les grandes étapes de la création d'un programme, à savoir:

L'édition du programme

• la compilation et

• l’édition de liens

s'appliquent à n'importe quel environnement.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

25

Le ’
Le

Langage C Lédition du programme

Généralités

Création d’un programme en langage C

L'édition du programme

L'édition du programme (on dit aussi parfois "saisie") consiste à créer, à partir d'un clavier, tout ou partie du texte d'un programme: on parle alors de "programme source".

La compilation

L’édition de liens

Environnement de développement C

En général, ce texte sera conservé dans un fichier dextension .c que l'on nommera "fichier source".

Exemple: racine_carree.c

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

26

Le
Le

Langage C La compilation

Généralités

Création d’un programme en langage C

g contenu d'un fichier source) en langage machine, en faisant appel à un programme nommé compilateur.

Elle consiste à traduire le

ro ramme source (ou le

p

L'édition du programme

La compilation

L’édition de liens

Environnement de développement C

En langage C, compte tenu de l'existence d'un préprocesseur, cette opération de compilation comporte en fait deux étapes. Le résultat de

com ilation

p

p

orte le nom de module objet

.

Elle transforme le fichier .c en un fichier .o (objet)

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

27

Le Langage C L édition de liens '
Le
Langage C L édition de liens
'

Généralités

Création d’un programme en langage C

p directement exécutable. Il lui manque, au moins, les différents modules objet correspondant aux fonctions prédéfinies (on dit aussi "fonctions standard") utilisées par votre programme (comme printf, scanf, sqrt).

Le module objet créé

ar le com ilateur n'est

p

as

p

C'est effectivement le rôle de l'éditeur de liens

q

ue

L'édition du programme

La compilation

L’édition de liens

Environnement de développement C

d'aller rechercher dans la "bibliothèque standard" les

modules objet nécessaires.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

28

Le Langage C L édition de liens '
Le
Langage C L édition de liens
'

Généralités

Création d’un programme en langage C

'

'

Le résultat de l édition de liens est ce que l on nomme un "programme exécutable", c'est-à-dire un ensemble autonome d'instructions en langage machine.

L'édition du programme

La compilation

L’édition de liens

Environnement de développement C

Si ce programme exécutable est rangé dans un fichier, il pourra ultérieurement être exécuté sans e

composant de l'environnement de programmation

qu

'il

i

é

i

d

f

i

l à

l

un que conque

so t n cessa re

a re appe

en C.

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

29

Le
Le

Langage C Dans un système de type Unix

Généralités

Création d’un programme en langage C

Dans un système de type Unix, pour obtenir:

L'édition du programme

La compilation

• un fichier objet à partir dun fichier source c, la commande usuelle est cc:

cc

c nom_du_fichier.c

L’édition de liens

Environnement de développement C

un fichier exécutable à partir dun fichier objet, la commande usuelle est cc:

cc

o nom_exec nom_du_fichier.o

un fichier exécutable directement à partir dun fichier source c, la commande usuelle est cc:

cc

d

fi

hi

o nom_exec nom_ u_ c

er.c

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

30

Le Langage C
Le Langage C

Généralités

Création d’un programme en langage C

L'édition du programme

La compilation

L’édition de liens

Environnement de développement C

Structure gé n é ral e d’un programme

Programme fichier1.c fichier2.c fichier3.c (source) (source) (source) (module) (module) (module) compilation
Programme
fichier1.c
fichier2.c
fichier3.c
(source)
(source)
(source)
(module)
(module)
(module)
compilation
compilation
compilation
fichier1.o
fichier2.o
fichier3.o
(objet)
(objet)
(objet)
(binaire)
(binaire)
(binaire)
(objet) (objet) (objet) (binaire) (binaire) (binaire) Edition de liens a out . (exécutable) (binaire) E. M.
(objet) (objet) (objet) (binaire) (binaire) (binaire) Edition de liens a out . (exécutable) (binaire) E. M.

Edition de liens

a out . (exécutable) (binaire)
a out
.
(exécutable)
(binaire)

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

31

Le
Le

Langage C Env ironnement d e veloppement C

Généralités

Création d’un programme en langage C

Sous Windows

 
 

• Turbo c++

L'édition du programme

• Visual C++ 2005 Express

• Dev-C++

La compilation

• wx-Devcpp

 

L’édition de liens

 

Sous Linux

Environnement de développement C

• Anjuta

• KDevelop

Sous Windows et Linux

 

• MingW Developer Studio o

e::

C

d

Bl

k

s

St

di

o

oc

u

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

32

L e L a n g a g e C S c hé ma d

Le Langage C S cma d e la structure d’un programme

Exercices

 

Exercice 1:

Écrire un programme qui permet de calculer et d’afficher le carrée d’un nombre entier saisi au clavier.

Exercice 2:

Écrire un programme qui permet de calculer et d’afficher la somme de deux flottants saisis au clavier.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

33

L e L a n g a g e C Les types de bases

Le Langage C Les types de bases

Historique

Généralités

Les types de bases

q rencontrés sont souvent dits "scalaires" ou "simples", car, à un instant donné, une variable d'un tel type contient une seule valeur,

Les t

es char int et double

,

ue nous avons déjà

yp

Les opérateurs et les expressions

Les entrées-sorties

Les instructions de contrôle

Les fonctions

par opposition aux types "structurés" qui correspondent à des variables qui, à un instant donné, contiennent plusieurs valeurs (de même type ou non).

Tableaux et pointeurs

Les chaînes de caractères

Les structures

Les fichiers

Génie logiciel

La gestion dynamique

Le préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

34

L e L a n g a g e C L es t ypes d

Le Langage C L es types d e b ases

Historique

Généralités

Les types de base du langage C se répartissent en trois grandes catégories en fonction de la nature des informations qu'ils permettent de représenter:

Les types de bases

Les opérateurs et les expressions

Les entrées-sorties

• Les types entiers (mot clef int)

Les instructions de

contrôle

Les fonctions

• Les types flottants (mot clef double)

Tableaux et

pointeurs

Les chaînes de caractères

• Le type caractère (mot clef char)

Les structures

Les fichiers

Génie logiciel

Nous verrons qu'en fait char apparaît (en C) comme un cas particulier de int.

La gestion dynamique

Le préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

35

Le
Le
Le L a n g a g e C L eur repré sen tati on en

Langage C L eur repré sentation en moi re

Les types de bases

Les types entiers

Les types flottants

Le type caractère

Le mot clé int correspond à la représentation de nombres entiers relatifs. Pour ce faire:

• un bit est réservé pour représenter le signe du nombre (en général 0 correspond à un nombre positif);

• les autres bits servent à représenter la valeur absolue du nombre.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

36

Le '
Le
'

Langage C Les différents types d entiers

Les types de bases

Les types entiers

Les types flottants

Le type caractère

Il ya trois "tailles" différentes d'entiers désignées par les mots clés suivants:

,

- Short :

(16 bits) : -32 768 à 32 767

- int :

(16 ou 32 bits): -32 768 à 32 767 ou -2 147 483 648 à 2 147 483 647

- long int :

(32 à 64 bits) : -2 147 483 648 à 2 147 483 647 ou

-2

64

à 2

63

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

37

L e Les types de bases Les types entiers Les types flottants Le type caractère

Le

Les types de bases

L e Les types de bases Les types entiers Les types flottants Le type caractère Type

Les types entiers

Les types flottants

Le type caractère

Les types entiers Les types flottants Le type caractère Type PDP 11 Intel 486 Sparc Pentium
Les types entiers Les types flottants Le type caractère Type PDP 11 Intel 486 Sparc Pentium

Type

PDP 11

Intel 486

Sparc

Pentium

Alpha

Année

1970

1989

1993

1993

1994

short

16

bits

16

bits

16

bits

16

bits

16

bits

int

16

bits

16

bits

32

bits

32

bits

32

bits

lon g

32

bits

32

bits

32

bits

32

bits

64

bits

Remarque: Ces types (short, int et long) peut être nuancé par l'utilisation du "qualificatif" signed (signé) ou de unsigned (non signé). Dans ce dernier, il n'y a plus de bit réservé au signe et on ne représente plus que des nombres positifs.

Son emploi est réservé à des situations particulières

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

38

Longueur des type entiers Langage C sur la b ase d e que lques mach ines

Le
Le

Langage C C onstante entière

Les types de bases

Les types entiers

Les types flottants

Le type caractère

La façon la plus naturelle d'introduire une constante entière dans un programme est de l'écrire simplement sous forme décimale, avec ou sans signe, comme dans ces exemples:

-533 ou 48

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

39

Le
Le
Le L a n g a g e C Les différents types flottants Les types de

Langage C Les différents types flottants

Les types de bases

Les types entiers

Les types flottants

Le type caractère

Les types "flottants" permettent de représenter, de manière approchée, une partie des nombres réels.

Pour ce faire, ils s'inspirent de la notation scientifique (ou exponentielle) bien connue qui consiste à écrire un nombre sous la forme 1.5.10 22 ou 0.472 .10 -8 ; dans une telle notation, on nomme :

mantisses les quantités telles que 1.5 ou 0.472 et exposants les quantités telles que 22 ou -8.

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

40

Le
Le
Le L a n g a g e C Les différents types flottants Les types de

Langage C Les différents types flottants

Les types de bases

Les types entiers

Les types flottants

Le type caractère

Il ya trois types différentes de flottants, désignées par les mots clés suivants:

- float :

- double:

- long double :

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

41

L e Les types de bases Les types entiers Les types flottants Le type caractère

Le

Les types de bases

L e Les types de bases Les types entiers Les types flottants Le type caractère Type

Les types entiers

Les types flottants

Le type caractère

types entiers Les types flottants Le type caractère Type   PDP 11 Intel 486 Sparc Pentium
types entiers Les types flottants Le type caractère Type   PDP 11 Intel 486 Sparc Pentium

Type

 

PDP 11

Intel 486

Sparc

Pentium

Alpha

Année

1970

1989

1993

1993

1994

float

 

32

bits

32

bits

32

bits

32

bits

32

bits

double

64

bits

64

bits

64

bits

64

bits

64

bits

lon

g

double

64

bits

64

bits

64

bits

64

bits

128 bits

E. M. Nguer UFR SAT UGB emnguer@gmail.com

42

Longueur des type flottants Langage C sur la b ase d e que lques machi nes

Le
Le

Langage C C onstante fl o ttante

Les types de bases

 
 

En notation décimale :

Les types entiers

Exemple :

12.43

-0.38

-.38

4.

.27

Les types flottants

Le type caractère

• En notation exponentielle

Exemple :

4. 25E4

4.25e+4

42. 5E3

54.27E-32

542.7E-33

5427e-34

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

43

Le Langage C Type caractère et chaînes de caractères
Le Langage C
Type caractère et chaînes de caractères

Les types de bases

Le type caractère est désigné par le mot clef char Un caractère est un nombre re présenté sur un octet Une constante de type caractère se note en écrivant le caractère entre apostrophes d complétée par le caractère nul (‘\0’)

ne c a ne e carac res es une su e e carac res

U

h î

t

it d

Les types entiers

Les types flottants

Le type caractère

Une constante de type chaîne de caractères se note é

i

è

ill

en cr vant ses caract res entre gu emets

Exemples

3

3

caractères

chaînes de caract ères

‘A’

‘2’

A

“’ Bonjour

“’“

Bonjour

B o n j o u r \0
B
o
n
j
o
u
r
\0

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

44

Le è bl
Le
è
bl

Langage C Caract res non imprima es

Les types de bases

On peut faire figurer n’importe quel caractère , même non imprimable dans une constante caractère ou chaîne de caractères en utilisant les combinaisons suivantes appelées séquences d ’échappement :

Les types entiers

Les types flottants

\n

\t

nouvelle ligne tabulation

Le type caractère

\a s ignal sonore

\\

antislash

\??

\’

\

Exemple : printf (Bonjour\n ); affiche Bonjour et va à la ligne

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

45

L e L a n g a g e C L es op é rat

Le Langage C L es op é rateurs et l es expressi ons

Historique

Généralités

Le langage C est certainement l'un des langages les plus fournis en opérateurs au niveau des opérateurs arithmétiques, relationnels, logiques ou de manipulations de bits.

Les types de bases

Les opérateurs et les expressions

Les entrées-sorties

Les instructions de contrôle

Les fonctions

Mais, de surcroît, le C dispose d'un important éventail d opérateurs originaux d affectation et d'incrémentation.

'

'

Tableaux et pointeurs

Les chaînes de caractères

Nous allons voir dans cette partie

Les structures

Les fichiers

Les expressions et

Génie logiciel

La gestion dynamique

Les o érateurs

p

Le préprocesseur

 

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

46

Le Langage C L i
Le Langage C
L
i

Les opérateurs et les expressions

Les expressions

Les opérateurs

es express ons

Expression : texte correct qui détermine une valeur Instruction : texte qui détermine une

action à faire Toute expression possède au moins 2 attributs : un type et une valeur.

Exemple: Si i est un entier de valeur 10, 2*i+ 3 a p our typ e entier et p our valeur 23 .

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

47

Le Langage C Les ex ressions
Le Langage C
Les ex ressions

Les opérateurs et les expressions

p

Deux sortes d’expressions :

Les expressions

Les opérateurs

"

Lvalue (expressions signifiant le contenant de" expressions représentant un emplacement de la mé moire. La valeur de l’expression est alors définie comme le contenu de cet emplacement. Cas des variables, des composantes des tableaux. Une lvalue possède 3 attributs : adresse, type, va leur. Ex : x, t[2*i+4] Rvalue « la valeur de » Ces expressions ont un type et une valeur, mais pas d’adresses Ex : 2 *x+3, 12

E. M. Nguer UFR SAT UGB

emnguer@gmail.com

48

Le Langage C Les ex ressions
Le Langage C
Les ex ressions

Les opérateurs et les expressions

p

Rvalue « la valeur de »

Les expressions

Les opérateurs

Ces expressions ont un type et une valeur, mais pas d’adresses

*

Ex : 2 x+3 , 12

E bord Exp ressions p ures ex : 2*x+3 Expressions avec effet de bord ex : i++ (vaut i et remplace i par i+1) y = 2*x+3 (modifie y)

t

xpress ons pures e express ons e e

i

i

à ff t d

e

E. M. Nguer UFR SAT UGB

emnguer@gmail.com