Vous êtes sur la page 1sur 26

Année Universitaire

2018 - 2019

Atelier programmation I

Filière: MPI

Enseignants: Majdi JRIBI


Imen BEN IDA
Plan du cours
 Chapitre 1 : Eléments de base du langage c

 Chapitre 2 : Les structures conditionnelles et itératives

 Chapitre 3 : Les tableaux et les chaines de caractères

 Chapitre 4 : Les pointeurs

 Chapitre 5 : Les fonctions

 Chapitre 6 : Les enregistrements

 Chapitre 7 : Les fichiers


2
Chapitre 1 Eléments de base du langage c

3
Chapitre 1
1- Introduction
2- Structure d’un programme en C
3- Manipulation de variables
3.1- Déclaration de variables et types
3.2- Opérateurs de base
3.3- Conversion de type
3.4- Quelques fonctions de la bibliothèque <math.h>
4- Les fonctions d’affichage et de lecture
4.1- Fonction d’affichage
4.2- Fonction de lecture
4.3- Fonction fflush(stdin)

4
1- Introduction

 Processus de programmation

Code source
édité
Traduction (mon programme)

.c
• Penser à résoudre un problème quelconque
• Conception d’un algorithme
•Préciser ces entrées et les sorties !
•Structures de données utilisées !
•Mécanismes spécifiques !
•…
•Édition d’un brouillon

5
1- Introduction

 Processus de programmation

Code source Crée par la


Compilation
édité compilation
(mon programme) Analyse du programme
et détection des erreurs
.c lexiques et syntaxiques .obj

Édition des liens


combiner différents fichiers
objets pour créer un fichier
exécutable

Résultats fournis par le


Crée par
programme et l’éditeur
Détection d’éventuelles Exécution des liens
erreurs logiques

.exe 6
2- Structure d’un programme C

 Un programme C se présente de la façon suivante :

Insertion de bibliothèques à utiliser


void main()
/* Programme principal */
{ /* Début du programme */

Déclarations de variables; /* Corps du programme */


Instructions ;

} /* Fin du programme */

7
2- Structure d’un programme C

Remarques
 Chaque instruction doit obligatoirement se terminer par ; .
 Le langage C possède assez peu d'instructions, il fait appel
à des bibliothèques.

Exemples :
 math.h : bibliothèque de fonctions mathématiques
 stdio.h : bibliothèque d'entrées/sorties standard (Lire, Ecrire)

Le langage C distingue les minuscules des majuscules.


Les mots réservés du langage C doivent être écrits en
minuscules.

8
2- Structure d’un programme C

Inclusion de la bibliothèque
#include <stdio.h> contenant la fonction d’affichage printf

void main() Pointd'entré


Point d'entré du programme
du programme

{ Début du programme

printf("Bonjour!\n"); Première instruction


9

Fin du programme
} 8

9
3- Manipulation de variables
3.1- Déclaration de variables et types
 Prototype
 Type nom_de_la_variable [= valeur] ;

[…]: Facultatif

10
3- Manipulation de variables
3.1- Déclaration de variables et types

Type Description
char caractère
int entier
short entier court
long entier long
float nombres décimaux
double nombres décimaux de précision supérieure
long double nombres décimaux encore plus précis
unsigned int entier non signé

11
3- Manipulation de variables
3.1- Déclaration de variables et types
 Exemples de déclaration de variables:
 intnb;
 float pi = 3.14;

 char c = 'a';

 long i,j,k;

 double r = 6.2879821365;

12
3- Manipulation de variables
3.1- Déclaration de variables et types
 Déclaration de constantes
 Utilisation du mot clé const
 Exemple:
void main()
{
const float PI = 3.14159;
...
}

13
3- Manipulation de variables
3.2- Opérateurs de base
= : Affectation
 +,-,*, / : Opérateurs arithmétiques de base
% : Reste d'une division entière
 == : Test d'égalité
 != : Test de différence
 <, >, <=, >= :Test de comparaison
! : Négation
 || : Ou logique pour évaluer une expression
 && : Et logique pour évaluer une expression

14
3- Manipulation de variables
3.2- Opérateurs de base
 Exemples
a = 2; valeur de a: 2
 r = 3%2; valeur de r: 1
 a=a+r ; valeur de a: 3
 a = (3==3); valeur de a: 1
 a = (6==5); valeur de a: 0
 a = (2!=3); valeur de a: 1
 a = (6<=3); valeur de a: 0
 a = !1; valeur de a: 0
 a =((3==3) || (6<=3)); valeur de a: 1
 a =((3==3) && (6<=3)); valeur de a: 0

15
3- Manipulation de variables
3.2- Opérateurs de base
 Le langage C autorise des écritures simplifiées pour
l’incrémentation et la décrémentation de variables :
 i = i+1;  i++;
 i = i-1;  i--;
 a = a+b;  a+= b;
 a = a-b;  a-= b;
 a = a * b;  a*= b;
 a = a / b;  a/= b;
 a=i++;  a=i; i=i+1;
 a=++i;  i=i+1; a=i;
16
3- Manipulation de variables
3.3- Conversion de type
 L'opérateur de conversion de type, appelée cast ( ),
permet de modifier explicitement le type d'un
objet.
 Syntaxe:
(type) objet
 Exemple:
int i=3, j=2;
float x;
x= (float) i/j; /* x=1.5 */

17
3- Manipulation de variables
3.4- Quelques fonctions de la bibliothèque <math.h>

 sqrt : racine carrée d’un entier ou d’un réel


Exemple : sqrt(16) = 4
 floor et ceil: arrondissement d’un réel

Exemple : floor(2.3) = 2 floor(4.7) = 4


ceil (2.3) = 3 ceil (4.7) = 5
 pow : puissance nième de x (xn)

Exemple : pow(2,3)=23=8

18
4- Les fonctions d’affichage et de lecture

 Utiliser la bibliothèque <stdio.h>


 Pour l’affichage et la saisie, nous devons spécifier
les formats de variables:
 %d: int
 %f: float
 %c: char
 %lf: long double
 %s: les chaînes de caractères

19
4- Les fonctions d’affichage et de lecture
4.1- Fonction d’affichage: printf
 Syntaxe:
printf("chaîne de caractères",variables);

 Exemple: message paramètres

 La partie chaine de caractères peut contenir des caractères


spéciaux par exemple: \n: Retour à la ligne
\t: Tabulation
20
4- Les fonctions d’affichage et de lecture
4.1- Fonction d’affichage pour les caractères: putchar

 Syntaxe:
putchar(caractère); printf("%c\n",x);

 Exemple:
Char c= ‘a’;
Putchar(c);

21
4- Les fonctions d’affichage et de lecture
4.2- Fonction de lecture: scanf
 Syntaxe:
scanf("formats",paramètres);

 Exemple: formats paramètres

 Le nom des variables doit être précédé par le


symbole & désignant l'adresse de la variable.
22
4- Les fonctions d’affichage et de lecture
4.2- Fonction de lecture pour les caractères: getchar

 Syntaxe:
Caractère=getchar(); scanf("%c",&x);

 Exemple: Char c;
C=getchar();

23
4- Les fonctions d’affichage et de lecture
4.3- Fonction fflush(stdin)
 Lorsqu’on saisit un caractère au clavier , on doit le
valider par "RETURN". Ce caractère sera rangé
dans un tampon.
 La fonction scanf ou getchar vérifie tout d’abord le
tampon. S’il n’est pas vide, la variable prend la
valeur du tampon.

24
4- Les fonctions d’affichage et de lecture
4.3- Fonction fflush(stdin)
 Exemple:
#include<stdio.h>
void main()
{
char c1, c2;
printf("Entrer un caractère: ");
scanf("%c", &c1);
printf (“le premier caractère saisi: %c\n", c1);
printf("Entrer un autre caractère: ");
scanf("%c", &c2);
printf (" le second caractère saisi: %c\n ", c2);
}

 Le programme ne donne pas la main pour saisir le


deuxième caractère.
25
4- Les fonctions d’affichage et de lecture
4.3- Fonction fflush(stdin)
 Solution: utilisation de la fonction fflush(stdin) avant
la deuxième saisie. Cette fonction permet de vider
la tampon
#include<stdio.h>
void main()
{
char c1, c2;
printf("Entrer un caractère: ");
scanf("%c", &c1);
printf (“le premier caractère saisi: %c\n", c1);
fflush(stdin);
printf("Entrer un autre caractère: ");
scanf("%c", &c2);
printf (" le second caractère saisi: %c\n ", c2);
}
26