4. 4
Qu’est ce qu’un algorithme?
• Un algorithme énonce une résolution d’un problème, sous la forme d’une
série d’opérations à effectuer.
• Faire une liste des tâches (ou des actions) à réaliser de manière séquentielle.
• Un algorithme est souvent exprimé avec une notation indépendante de
tout langage de programmation.
5. 5
Le langage C
• Crée par K. Thompson, D. Ritchie et B. Kernighan pour développer UNIX.
• C’est le langage le plus utilisé par les professionnels du logiciel.
• C’est la base du C++ qui permet la programmation orientée objet.
6. Structure d’un programme C(1/4)
• En langage C le programme principal et les sous programmes sont définies comme des
fonctions.
• La fonction particulière nommée main() est la fonction principale d’un « programme C »
6
<include des bibliothèques>
void main()
{
< Traitements >;
}
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Syntaxe: Programme:
Bienvenue à ESPRIT
Exécution:
7. Structure d’un programme C(2/4)
7
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Programme:
main est toujours la fonction
principale d’un programme C
Début de bloc d’instructions
Fin de bloc d’instructions
8. Structure d’un programme C(3/4)
8
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Programme:
Commentaires
9. Structure d’un programme C(4/4)
9
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Programme:
Fonction affichant à l’écran une
chaine de caractères
Bienvenue à ESPRIT
Inclusion de la bibliothèque contenant la fonction printf
11. Remarques
Les commentaires sont utilisés pour des raisons de lisibilité et de compréhension du
programme. Un commentaire est une chaîne de caractères comprise entre /* et */ , ou
bien //
Cette chaîne est ignorée par le compilateur C et peut déborder sur plusieurs lignes.
Le langage C distingue les minuscules, des majuscules.
Les mots réservés (exemples : for, while, return, struct …) du langage C doivent être
écrits en minuscules.
11
14. 14
Les variables
• Les variables permettent de représenter les données d’un programme.
• Chaque variable est matérialisée par un emplacement mémoire identifié par un nom.
• Chaque variable possède :
1. un nom
2. un type
3. une valeur
15. 15
Les variables
• Qu'est-ce qu'une variable ?
1. Le nom d’un emplacement mémoire
2. On en crée presque autant qu’on veut
3. Son contenu peut changer dans le temps
4. Elle contient toujours quelque chose
Une variable sera toujours définie avant utilisation : elle doit être associée à un type de données
16. 16
Les variables/ Nom
• Un nom de variables:
Contient 32 caractères max
Commence par une lettre ou le symbole _
C distingue les majuscules et les minuscules.
compteur ’ et ‘ Compteur’ sont deux variables différentes
Ne peut pas être un des mots réservés du C: Int, char, float, if ….
Le choix des nom est important pour la lisibilité du programme
17. 17
Les variables/Type
Types Réels
C est un langage typé:
Types Entiers
Types de base en C
int : entier standard
short : entier court
long : entier long
Le langage C implémente le type
char qui est en fait numérique.
char : caractère
float : réel
double : réel double
long double : réel long double
18. 18
Les variables/Type/Entiers
Type Nombre d’octets Domaine
int 4 [-231, 231-1]
unsigned int 4 [0, 232-1]
short 2 [-32768, 32767]
unsigned short 2 [0, 65535]
long 4 [-231, 231-1]
unsigned long 4 [0, 232-1]
char 1 [-128, 127]
Unsigned char 1 [0, 255]
Float 4 [-3.4*1038, 3.4*1038]
double 8 [-1.7*10308, 1.7*10308]
long double 10 [-3.4*104932, 1.7*104932]
Entiers
Réels
19. 19
Les variables/ Exemple
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
int main()
{
int a; //déclaration
a=127; //affectation
printf("la valeur de a = %d",a); //affichage de la valeur de a
}
main est toujours la fonction
principale d’un programme C
Début de bloc d’instructions
Fin de bloc d’instructions
20. 20
Les variables/ Exemple
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
int main()
{
int a; //déclaration
a=127; //affectation
printf("la valeur de a = %d",a); //affichage de la valeur de a
}
main est toujours la fonction
principale d’un programme C
Début de bloc d’instructions
Fin de bloc d’instructions
21. Exemple [Les intervalles & formats ] Code Blocks
#include <stdio.h>
#include <stdlib.h>
int main()
{
char var =353;
printf("%c",var);
return 0;
}
Compiler ce programme et expliquer le résultat .
21
23. Opérateurs de base
23
Opérateurs arithmétiques :
+ : addition a + b
- : soustraction a – b
* : multiplication a * b
/ : division (entière et rationnelle) a / b
Si a et b sont des entiers (a = 7; b = 2) a / b donne 3
Si a ou b est un réel (a = 7; b = 2.0) a / b donne 3.5
% : modulo (reste de la division entière) a % b
a = 7; b = 2 alors a % b donne 1
24. Opérateurs de base
24
&& : et logique (AND)
|| : ou logique (OR)
! : négation (NOT)
a b a && b a || b ! a
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
Pas de type booléen en C Les opérateurs logiques considèrent toute valeur
différente de zéro comme vrai et zéro comme faux.
(4 < 10) 1 (vrai)
!(5 > 1) 0 (faux)
25. Opérateurs Opérateurs de comparaison
• Opérateurs de comparaison : (1: vrai ou 0: faux)
== : égal à a == b
!= : différent de a != b
< : strictement inférieur a < b
<= : inférieur ou égal a <= b
> : strictement supérieur a > b
>= : supérieur ou égal a >= b
25
26. Opérateurs Opérateurs d’affectation
26
Affectation simple
int x;
x = 4;
Affectation combinée
var1 = (var1) op (var2) var1 op= var2
Affectation simple
int x;
x = 2;
x = x + 1;
i += 1 ;
i = i + 1;
27. Opérateurs Incréments et décréments
27
Incréments et décréments:
++ : augmentation de 1
y = x++; y = x; x = x+1;
-- : diminution de 1
int x = 3; y 3 x 4
y = x--; y = x; x = x-1;
x++; x = x+1;
x--; x = x-1;
y = ++x x = x + 1; y = x; x 4 y 4
28. Les priorités
28
Priorité 1 (la plus forte) ( )
Priorité 2 ! ++ --
Priorité 3 * / %
Priorité 4 + -
Priorité 5 < <= > >=
Priorité 6 == !=
Priorité 7 &&
Priorité 8 ||
Priorité 9 (la plus faible) = += -= *= /= %=
• L’ordre d ’évaluation des différentes parties d’une expression est en principe le même
qu’en mathématiques. x = 2 + a - 5 * 4 – b / c + 6; ?
30. 30
Affichage de données
Fonction printf()
printf (" text Format ", NomVal);
Permet d’afficher des chaînes de caractères et des données
de types différents
Fonction scanf()
Scanf (“Format ", & NomVal);
permet de lire des chaînes de caractères et traite des
données de types différents
Format Données
%d Nombre entier
%u Nombre entier non signé
%c Caractère
%f Nombre à virgule flottante
31. Exercice 1 [Cours]
• Ecrire un programme C permettant de saisir les notes de deux matières ainsi que
leurs coefficients et d’afficher la moyenne ?
31
32. • Un organigramme est
une représentation
graphique normalisée de
l'enchaînement des
opérations et des
décisions effectuées par
un programme.
32
Organigramme N° Description Symboles
1
Début et fin du
processus(étape)
2 étape élémentaire
3
Un choix, une décision :
Répond par Oui ou Non
4
Séquence des étapes
(sous programme)
5 Lien entre deux étapes