Académique Documents
Professionnel Documents
Culture Documents
Généralités
• Créé en 1972 par Denis Ritchie écrire UNIX
• Première définition en 1978 « The C programming language »
Kernighan et Ritchie
• Normalisation :
• ANSI (American National Standard Institute),
• ISO (International Standards Organization) : C89, C99,
• CEN (Comité européen de normalisation),
• AFNOR
Généralités
• IDE utilisé : Dev-C++ http://www.bloodshed.net/
Généralités - Exemple de programme
Généralités - Exemple de programme
Généralités - Les identificateurs
• Les identificateurs servent à désigner les différents « objets »
manipulés par le programme : variables, fonctions, constantes,
étiquettes de structure, d’union ou d’énumération, membres de
structure ou d’union, types, étiquettes d’instruction GOTO, macros, …
• Ils sont formés d’une suite de caractères choisis parmi les lettres ou
les chiffres, le premier d’entre eux étant nécessairement une lettre.
• Le caractère souligné (_) est considéré comme une lettre
• les majuscules et les minuscules sont autorisées mais ne sont pas
équivalentes.
Généralités - Les mots-clés
Généralités - Le format libre
Généralités - Les commentaires
Généralités - Création d’un programme
1. L’édition du programme : « fichier source » avec l’extension C
2. La compilation : « fichier source » « langage machine »
a) traitement par le préprocesseur : exécute les directives #
b) Compilation : traduction en langage machine (module objet)
3. L’édition de liens : un programme exécutable
Les types de base
• Les types de base du langage C se répartissent en trois grandes
catégories
• nombres entiers (mot-clé int),
• nombres flottants (mot-clé float ou double),
• caractères (mot-clé char) ;
Les types de base - Les types entiers
• Le C prévoit trois tailles différentes d’entiers, désignées par :
• short int (qu’on peut abréger en short),
• int,
• long int (qu’on peut abréger en long).
• ces tailles dépendent, non seulement du mot-clé considéré, mais
également de la machine utilisée : tous les int n’ont pas la même taille
sur toutes les machines sur PC, short et int correspondent à 16 bits
(-32 768 à 32 767), tandis que long correspond à 32 bits (-2 147 483
648 à 2 147 483 647)
• chacun des trois types peut être nuancé par l’utilisation du qualificatif
unsigned (non signé).
Les types de base - Les types flottants
• permettent de représenter, de manière approchée, une partie des
nombres réels.
• s’inspirent de la notation scientifique (ou exponentielle) qui consiste à
écrire un nombre sous la forme 1.5 1022 ou 0.472 10-8 ;
• un nombre réel sera représenté en flottant en déterminant deux
quantités M (mantisse) et E (exposant) telles que la valeur M . BE
représente une approximation de ce nombre.
• Le C prévoit trois types de flottants correspondant à des tailles
différentes : float, double et long double.
Les types de base - Les types caractères
• C permet de manipuler des caractères codés en mémoire sur un octet.
• on dispose des lettres (majuscules et minuscules), des chiffres, des
signes de ponctuation et des différents séparateurs.
• En revanche, les caractères nationaux (éàèç…) ou les caractères semi-
graphiques ne figurent pas dans tous les environnements.
• la notion de caractère en C dépasse celle de caractère imprimable
il existe certains caractères de changement de ligne, de tabulation,
d’activation d’une alarme sonore (cloche),...
« caractères de contrôle » code ASCII 0 et 31.
Les types de base - Les types caractères
• lorsqu’elles correspondent à des caractères imprimables, se notent :
• L’opérateur sizeof
• Il fournit la taille en octets
• sizeof(int) 2 sizeof(double) 8 sizeof(char) 1
Les opérateurs et les expressions : priorités
Les opérateurs et les expressions : Exercices
Les entrées-sorties conversationnelles : printf
• le premier argument de printf est une chaîne de caractères qui
spécifie à la fois :
• des caractères à afficher tels quels,
• des codes de format repérés par %. Un code de conversion (tel que c, d ou f) y
précise le type de l’information à afficher.
• il existe d’autres caractères de conversion soit pour d’autres types de
valeurs, soit pour agir sur la précision de l’information que l’on
affiche. De plus, un code de format peut contenir des informations
complémentaires agissant sur le cadrage, le gabarit ou la précision.
Les entrées-sorties conversationnelles : printf
codes de conversion
Les entrées-sorties conversationnelles : printf
gabarit d’affichage
• Par défaut, les entiers sont affichés avec le nombre de caractères
nécessaires (sans espaces avant ou après). Les flottants sont affichés
avec six chiffres après le point (aussi bien pour le code e que f).
• Un nombre placé après % dans le code de format précise un gabarit
d’affichage (un nombre minimal de caractères à utiliser).
Les entrées-sorties conversationnelles : printf
gabarit d’affichage
Les entrées-sorties conversationnelles : printf
la précision
• Pour les types flottants, on peut spécifier un nombre de chiffres après
le point décimal. Ce nombre doit apparaître, précédé d’un point,
avant le code de format.
Les entrées-sorties conversationnelles : printf
la précision
• Le signe moins (-), placé immédiatement après le symbole % (comme
dans %-4d ou %-10.3f), demande de cadrer l’affichage à gauche au
lieu de le cadrer (par défaut) à droite.
• Le caractère * figurant à la place d’un gabarit ou d’une précision
signifie que la valeur effective est fournie dans la liste des arguments.
En cas de boucles imbriquées, break fait sortir de la boucle la plus interne. De même si break
apparaît dans un switch imbriqué dans une boucle, elle ne fait sortir que du switch.
Les instructions de contrôle : continue
instructions de branchement inconditionnel : break, continue et goto
Les instructions de contrôle : continue
instructions de branchement inconditionnel : break, continue et goto
Les variables globales ne sont connues du compilateur que dans la partie du programme source suivant leur
déclaration. On dit que leur portée (ou encore leur espace de validité) est limitée à la partie du programme
source qui suit leur déclaration
La programmation modulaire et les fonctions
Les variables locales