Chapitre 02 Presentation
Chapitre 02 Presentation
Chapitre 02 Presentation
Avec la création du transistor et des circuits intégrés, sa taille est réduite et ses
capacités ont augmenté. Des langages de programmation de haut niveau ont été créés
pour rendre la tache de programmation plus facile.
• Éditeur de code:
• Gestionnaire de projet:
• Débogueur:
Ce sont des textes qui sont ignorés lors de la compilation et qui ne font pas partie du
programme.
• Les commentaires d’un seul ligne: il commence par // (deux slashs) et se termine
par la fin de la ligne.
Ce sont des mots qui ont une signification préexistante pour le langage de
programmation et qui ne peuvent pas être utilisés pour identifier de nouveaux
éléments.
exemple: dans l'algorithmique "algorithme", "début" , "fin", "et", "si"
dans C: "if" et "while".
L’identificateur
C’est le nom que le programmeur donne à tout élément de l’algorithme qu’il veut
créer. Tels que: nom de l’algorithme, variable, type, constante, fonction …
Règles pour les identificateurs:
1. Se compose de A-Z , a-z, 0-9 ou _
• Doit être un seul mot (pas d’espace)
• Ne contient pas des caractères spéciaux ;:!/.?§…
• Les valeurs
• Les constantes
• Les variables
• Les types de données
Les valeurs
Type: est le domaine auquel appartiennent les données. tel que les nombres, textes, images,
audio ou vidéo.
Le type détermine comment les bits sont traduits et la taille à réserver en mémoire, c’est-à-
dire le nombre de bits, et les opérations autorisées.
• Opérations de base
• Expression
• Instruction et Bloc d'instructions
• Instruction d’affectations
• Instruction d’entrée: lire()
• Instruction de sortie: écrire()
Opérations de base
Opérations arithmétiques
Op C observation exemple
-+ - + signe +3 -7 -a
-+ - + Les deux opérandes entiers, Le résultat est un entier. l’un est 5+3.0
réel, résultat est un nombre réel.
div / Pour calculer le quotient (division entière). Comme le reste 5 div 3 ou 5/3 en C
^ Pour calculer la puissance, en C, on utilise la fonction pow(), 5^2 ou pow(5,2)
le résultat est un nombre réel en C
≠ != lu défirent de
Observation:
Le résultat de la comparaison est toujours de type logique booléen, c’est-à-
dire vrai ou faux
Opérations de base
Opérateurs booléens
Opérat C observation
ion
xou ou vrai si l'un est vrai et l'autre est faux , sinon faux
exclusif
= équivale == vrai si sont égaux.
nce
Opérations de base
Opérateurs de chaîne
la priorité
priorité l'opération si la priorité est égale, la priorité est
0 () pour l’opération de gauche
1 + et - de signe, non.
2 * / mod div
3 -+
4 >, >=, <, <=
5 ≠,=
6 et
7 ou
Expression
C'est une structure de valeurs et d'identifiants(), liée à l'aide des opérations, et lors de son
évaluation, nous obtenons une seule valeur.
Bloc d'instructions
• un ensemble d’instructions qui commence par le mot Début et se termine par Fin,
ou commence par un mot réservé qui définit le début tel que si et se termine par le
mot fin + le mot de départ tel que finSi.
algorithme C
Début {
Instruction 1 Instruction 1 ;
… …
Instruction n Instruction n ;
Fin }
Affectation
C’est le processus qui nous permet de stocker une valeur dans une variable.
Syntaxe:
variable←expression
←lu reçoit, et en anglais gets. La flèche pointe toujours vers la variable.
• la valeur de l'expression et la variable doivent être du même type, ou de types compatibles.
• Avant qu'une variable puisse être utilisée, elle doit être déclarée et initialisée.
• Pour obtenir la valeur d’une variable ou constante, il suffit d'écrire son nom.
Exemple
a←5 a reçoit 5 a b
b←a*2 b reçoit 10 5 ?
a←0 a reçoit 0
5 10
b←b-1 b reçoit 9
c←’b’ c reçoit la lettre b 0 10
d←b>a d reçoit vrai 0 9
s←"name" s reçoit le mot nom
Instructions d'Entrées/Sorties
• lire()
• écrire()
Entrée: Lire()
Permet de récupérer une valeur saisie par l’utilisateur, via le clavier, et de l’affecter à
la variable entre parenthèses. Il est toujours utilisé pour saisir des données.
Syntaxe:
Lire(variable)
lire() ne peut être utilisé qu'avec des variables.
Lorsque l'instruction lire() est rencontrée, l'exécution s'interrompt jusqu'à ce que
l'utilisateur entre les données. Le processus de saisie se termine en appuyant sur la
touche Entrée.
Plusieurs variables peuvent être saisies à la fois, séparées par une virgule « , ».
Exemple
Lire(nom)
Lire(a, b)
Remarques
− toujours avant l'instruction Lire(), vient l'instruction Ecrire(), afin d'expliquer à
l'utilisateur ce qui lui est demandé d'entrer.
Sortie: Ecrire()
Elle affiche sur l’écran tout ce que nous mettons à l’intérieur de ses parenthèses. Elle
est toujours utilisée pour imprimer les résultats.
Syntaxe:
Ecrire(expression)
ou
Ecrire("message")
• expression, calculée pour obtenir une seule valeur, qui sera affichée à l’écran.
• "message": est tout texte à afficher tel quel à l’écran. Il n’est pas calculé. C’est
dans n’importe quelle langue. Il doit être entre guillemets doubles, qui ne sont pas
affichés
• Plusieurs valeurs et textes peuvent être affichés à la fois, séparés par « , ».
Exemple:
a←5
Ecrire(a+3)
Ecrire("a+3")
Ecrire("carré de ", a, " est ", a*a)
Ecrire("b=",a)
6. Construction d'un algorithme simple
Entrée – Sortie
non
Choix avec condition
oui
Exemple:
l’algorithme qui calcule l’aire d’un cercle
Début
Lire(r)
s←p*r*r
Ecrire(s)
Fin
8. Traduction en langage C
"C" est un langage impératif de haut niveau entièrement compilé. C'est l'un
des langages de programmation les plus utilisés au monde. Il est considéré
comme la langue mère de nombreux langages de programmation.
• Le type char est utilisé pour les entiers et les caractères. Où chaque caractère
est associé à un nombre.
• Dans ce cours, nous utilisons char pour les caractères, int pour les entiers et
booléen, et float pour les nombres réels.
Déclaration des variables et des
constantes
Variables exemple:
Syntaxe: int const N = 10;
Type variable; const float Pl = 3.1415926;
exemple: Remarque: Des macros peuvent être
int age; utilisées pour déclarer des constantes.
char sexe; #define DEP "Département informatique"
float x, y, z;
Banane b;
Constantes
Syntaxe:
const Type Identificateur=valeur;
ou
const Type Identificateur=valeur;
L'affectation
Nous utilisons = à la place de ← et lisons reçoit et non pas égale.
variable = expression;
exemple:
a=5;
b=a*2;
a=0;
d=b>a;
Déclaration avec initialisation
float x, y=3, z;//y est initialisé avec 3
Dans le cas où l'affectation apparaît plusieurs fois, la priorité est à droite. Tel que:
b=3 ;
a=b=5+3 ;
Raccourcis d'affectation en C.
expression observation exemple
v+=exp ; ⇔ v=v+(exp) ; x=2 ;
v-=exp ; ⇔ v=v-(exp) ;
Les parenthèses sont x*=5+3 ; ⇔ x=x*(5+3) ;
v*=exp ; ⇔ v=v*(exp) ;
importantes ≠ x=x*5+3 ;
v/=exp ; ⇔ v=v/(exp) ;
v%=exp ; ⇔ v=v%(exp) ; x devient 16
Dans le cas où il est contenu dans
v++ ; ⇒ v=v+1 ; x=2 ;
une autre instruction, le calcul est
y=3+x++ ;⇔
effectué avec la valeur actuelle de la
y=3+x ;x=x+1 ;
variable, et après achèvement, 1 est
v-- ; ⇒ v=v-1 ; Autrement dit, y devient
ajouté ou soustrait à la variable selon
5 et x 3
l'opération.
S'il est inclus dans une autre x=2 ;
++v; ⇒ v=v+1 ;
instruction, 1 est ajouté ou soustrait y=3+ ++x ;⇔ x=x+1 ;
selon l'opération avant le calcul de y=3+x ;
--v ; ⇒ v=v-1 ; l'expression, qui se fait avec la Autrement dit, y devient
nouvelle valeur de la variable. 6 et x 3
printf (print formatted)
La fonction printf, définie dans la bibliothèque stdio.h, est utilisée pour écrire des
données formatées sur l'écran
Syntaxe:
printf (format, expression_1,… , expression_n);
format: est un texte ou une chaîne de caractères, qui s'affiche tel quel à l'écran. Sauf pour le
symbole "%" pour exprimer les formats des expressions et le caractère "\" pour le symbole
d'échappement.
expression: calculée pour être afficher dans le format <format>.
Le format prend la forme suivante:
%type_char
type_char
%d décimal (10) %o octal (8) %x hexadécimal (16)
%u naturel unsigned %i int %f float
%c char %s string %e format scientifique
technique d'échappement
Certains caractères sont spéciaux, nous devons donc utiliser une technique
d'échappement pour les utiliser. En C, le caractère d'échappement est le (\), barre
oblique inverse (antislash), et nous l'utilisons pour ajouter une nouvelle ligne '\n' ou
une tabulation (un grand espace) '\t'. et pour imprimer " nous utilisons \", pour
imprimer \ nous utilisons \\ et pour imprimer % nous utilisons %%.
exemple:
printf("Bonjour");
affiche Bonjour
int a=13;
printf("a=(%d)10\ta=(%o)8\ta=(%x)16\n",a ,a ,a);
a=(13)10 a=(15)8 a=(D)16
a=66;
printf("a=%i\ta=%f\ta=%c\ta=%c\n",a ,a ,a ,a+32);
a=66 a=0.000000 a=B a=b
Pour éviter ce problème, dans le second scanf nous utilisons un espace ' ' après % comme ceci:
scanf("% c"...). Ou nous utilisons la fonction getch
Exemple:
scanf("%c", &c1) ;
scanf("% c", &c2) ;
problème de scanf avec les chaînes.
Le problème apparaît lorsque nous essayons d'insérer une chaîne contenant des
espaces dans une variable. par exemple:
scanf("%s%s", v1,v2) ;
Elle met le premier mot dans v1 et le deuxième dans v2
scanf("%s", v1) ;
Lorsque nous entrons les mots math info et que nous appuyons sur Entrée, le
programme attribue le premier mot à v1 et le deuxième mot sera perdu.
Pour éviter ce problème, nous utilisons la fonction gets définie dans la bibliothèque
string.h.
#include <sting.h>
gets(v1);
Structure d'un programme en C
1. #include <stdio.h>
2. Déclaration des constantes, des types et des variables
3. int main()
4. {
5. Déclaration des constantes et des variables
6. Les instructions
7. return 0;
8. }
Un exemple montrant le processus de
traduction d'un algorithme en C
algorithme C
Algorithme surf_cercle
Const P=3.14 Const float P=3.14;
Var r, s:entier int r, s;
//r le rayon et s surface //r le rayon et s surface
Début int main()
{
Ecrire("Entrer le rayon") printf("Entrez le
rayon\n");
Lire(r) scanf("%d", &r);
s←p*r*r s=p*r*r;
Ecrire("L'aire du cercle printf("L'aire du cercle
est:" , s) est: %d" , s);
Fin }
exemple
Écrivez un programme qui calcule la moyenne pour ASD1.
#include <stdio.h>
int main() {
float cont, td, tp, moy ;
printf("Entrez la note d'examen\n") ;
scanf("%f", &cont) ;
printf("Entrez la note de TD\n") ;
scanf("%f", &td) ;
printf("Entrez la note de TP\n") ;
scanf("%f", &tp) ;
moy = (cont * 3 + td + tp) / 5 ;
printf("La moyenne est %.2f" , moy) ;
return 0;
}
Fin Chapitre 02