P r og r a m m a t i o n C 1
• Introduction au langage C
COURS DONNÉ PAR: PR.ANSAM ENNACIRI
2.
Concepts
de
base
de
langage
C
Le langage C
Inventéau début des années 1970 pour réécrire Unix, C est devenu
un des langages les plus utilisés, encore de nos jours. De nombreux
langages plus modernes comme C++, C#, Java et PHP ou JavaScript
ont repris une syntaxe similaire au C et reprennent en partie sa
logique.
3.
Concepts
de
base
de
langage
C
Notion de variableset déclarations
– Les programmes ont pour but de traiter différentes données
afin de produire des résultats.
– Les résultats peuvent eux-mêmes être des données pour
d’autre programmes.
4.
Concepts
de
base
de
langage
C
Notion de variableset déclarations
– Les données d'un programme doivent être récupérées en
mémoire centrale, à partir du clavier ou d'un fichier, pour
pouvoir être traitées par le processeur qui exécute le
programme.
– Toutes les données d'un programme sont mémorisées en
mémoire centrale dans des sortes de cases que l’on appelle
variables.
5.
Concepts
de
base
de
langage
C
Notion de variableset déclarations
– Une variable peut être représentée par une case
mémoire, qui contient la valeur d'une donnée.
– Chaque variable possède un nom unique appelé
identificateur par lequel on peut accéder a son contenu.
– Exemple : on peut avoir en mémoire une variable prix
et une variables quantité qui contiennent les valeurs10,2
et 5.
6.
Concepts
de
base
de
langage
C
Notion de variableset déclarations
– Attention à ne pas confondre la variable et son contenu
– Une variable est un contenant, c'est à dire une sorte de
boîte, alors que le contenu d'une variable est une valeur
numérique, alphanumérique ou booléenne, ou de tout
autre type.
– Deux variables peuvent avoir la même valeur mais une
variable ne peut pas avoir plusieurs valeurs en même
temps (sauf les types composés).
7.
Concepts
de
base
de
langage
C
Jeu de caractères
–26 lettres de l'alphabet (minuscules, majuscules)
– chiffres 0 à 9
– caractères spéciaux :
– séquences d'échappement telles :
– passage à la ligne (n),
– tabulation (t),
– backspace (b).
8.
Concepts
de
base
de
langage
C
Identificateurs et mots-clés
–Identificateur : nom donné aux diverses composantes d'un
programme (variables, tableaux, fonctions, …)
– Formé de lettres et de chiffres ainsi que du caractère ‘_’ permettant une
plus grande lisibilité.
– Le 1er caractère doit obligatoirement être une lettre ou bien le caractère
«_»
– Peut contenir jusqu'à 31 caractères minuscules et majuscules.
9.
Concepts
de
base
de
langage
C
Identificateurs et mots-clés
–Exemples :
– Identificateurs valides :
• x y12 somme_1 temperature
• noms surface fin_de_fichier TABLE
– Identificateurs invalides :
• 4eme
• x#y
• no commande
‐
• taux change (espace)
commence par un chiffre
caractère non autorisé (#)
caractère non autorisé ( )
‐
caractère non autorisé (espace)
Concepts
de
base
de
langage
C
Les commentaires
– Uncommentaire débute par /* et se termine par */.
– Exemple :
/* Ceci est un commentaire */
– On ne peut pas imbriquer des commentaires.
/*
Un commentaire
/* Un autre commentaire commentaire */
*/
12.
Concepts
de
base
de
langage
C
La structure d’unprogramme
– Un programme C est une ou plusieurs fonctions stockées dans
un ou plusieurs fichiers dont l'une doit s'appeler main.
– Une fonction est formée d’un entête (type et nom de la fonction
suivis d’une liste d’arguments entre parenthèses) et d’instruction
composée constituant le corps de la fonction.
Concepts
de
base
de
langage
C
Les instructions
– Uneinstruction est une expression suivie de ‘;’.
– Le point-virgule signifie en quelque sorte « évaluer cette
expression ».
– Plusieurs instructions peuvent être rassemblées par des
accolades { et } pour former une instruction composée ou
bloc qui est syntaxiquement équivalent à une instruction.
– Exemple :
17.
Concepts
de
base
de
langage
C
Les instructions
– Uneinstruction composée d'un spécificateur de type et d'une
liste d'identificateurs séparés par une virgule est une
déclaration.
– Exemple :
– En C, toute variable doit faire l'objet d'une déclaration avant
d'être utilisée
Concepts
de
base
de
langage
C
Les types debase
– Le langage C contient des types de base
– les entiers (int),
– les réels (float) simple et double précision (double)
– et les caractères (char).
– De plus il existe un type ensemble vide : le type void.
– Les mots-clés short et long permettent d'influer sur la taille
mémoire des entiers et des réels
20.
Concepts
de
base
de
langage
C
Les variables
– Lesvariables peuvent stocker des chiffres des nombres, des
caractères, des chaînes de caractères, … dont la valeur peut être
modifiée au cours de l'exécution du programme.
– Pour déclarer une variable, on fait précéder son nom par son
type.
– Exemples de déclarations :
Concepts
de
base
de
langage
C
Les opérateurs
– L'affectation(=) : sert à mettre dans la variable de gauche la
valeur de ce qui est à droite.
– Sa syntaxe est la suivante : variable = expression
– Exemple :
– imprime pour x la valeur 6.5 (et non 7),
23.
Concepts
de
base
de
langage
C
Fonctions d'affichage
•
Les
fonctions
d’entrées
/sorties
standards
– Lafonction d'affichage: printf
permet d'afficher des messages et/ou des valeurs de variables sous
différents formats.
– Syntaxe :
printf ( "Format", Variable_1, … ,Variable_n );
– Format : Indique comment vont être affichées les valeurs des
variables. Composé de texte et de codes d'affichage suivant le
type de variable.
– Exemple :
printf("La valeur de %d au carré est égale à %d", i , i*i );
Concepts
de
base
de
langage
C
Autres fonctions d'affichage
–Il existe deux autres fonctions d'affichage :
– putchar : affiche un caractère
– Syntaxe : putchar(caractère);
– exemple : putchar('C');
– puts : affiche une chaine de caractères
– Syntaxe : puts(chaîne);
– exemple : puts("Un texte");
26.
Concepts
de
base
de
langage
C
Fonction de saisie
–Fonction de saisie: Scanf
permet de saisir des valeurs de variables formatées à partir du clavier.
Comme printf, elle est composée d'un format et des identificateurs des
variables à saisir.
– Syntaxe :
scanf( "Format", &Variable_1, … ,&Variable_n );
– Remarque: Le symbole & est obligatoire devant les identificateurs
car scanf attend des adresses et non des valeurs,
– Exemple :
– scanf(" %d", &i ); saisie d'un entier et copie dans i
Concepts
de
base
de
langage
C
Les opérateurs
– Lesopérateurs relationnels : servent à comparer deux
expressions.
– Remarque : Ne pas confondre l’opérateur d’affectation = et
l’opérateur de comparaison ==.
Concepts
de
base
de
langage
C
Les opérateurs
– Lesopérateurs logiques booléens :
– Comme pour les opérateurs de comparaison la valeur
retournée par ces opérateurs est un int qui vaut 1 si la
condition est vraie et 0 sinon.
Concepts
de
base
de
langage
C
Les opérateurs
– Lesopérateurs d’incrémentation ++ et de décrémentation -- :
s'utilisent aussi bien en postfixé (i++) qu'en préfixé (++i).
– Dans les deux cas la variable i sera incrémentée, toutefois dans
la notation postfixé la valeur retournée sera l'ancienne valeur de
i alors que dans la notation préfixé se sera la nouvelle.
– Exemple :
39.
Concepts
de
base
de
langage
C
Les opérateurs
– L’opérateurconditionnel ternaire ? :
– Cette expression est égale à expression-1 si condition est
satisfaite, et à expression-2 sinon.
– Par exemple l'expression
– correspond à la valeur absolue d'un nombre.
Concepts
de
base
de
langage
C
Exercices
– Exercice 1:
Ecrire un programme qui demande l'entrée de 2 nombres entiers et
calcule la somme, la différence et la moyenne. Chaque résultat sera
affiché sous la forme d'une phrase,
exemple : La somme de 5 et 3 est 8
– Exercice 2 :
Modifier le programme précèdent afin de pouvoir saisir des
nombres réels. Formater les affichages des nombres réels avec deux
chiffres après la virgule.