Vous êtes sur la page 1sur 30

Université Cheikh Anta Diop de DAKAR

Faculté des Sciences et technique


Département Mathématique et Informatique

Chapitre 3 – CONCEPTS DE BASE DU LANGAGE C

Cours d’algorithmique et programmation en


LANGAGE C
Licence informatique
2021-2022

1
PLAN
A Structure d'un programme C
A Les types de base du langage C
A Déclaration des variables et des constantes
A Les opérateurs du langage C
A Les instructions élémentaires

2
Historique
— Le langage C a été créé par Brian Kernighan et Dennis Ritchie
au début des années 70.
— C’est un langage compilé qui a les caractéristiques suivantes:
— C’est un langage typé: tout objet doit avoir un type (caractère,
entier, réel...)
— C’est un langage déclaratif: tout objet doit être déclaré avant
son utilisation.
— Le langage C propose un certain nombre de fonctions
prédéfinies dans des bibliothèques

3
Structure d'un programme C (1/2)
— Un programme en C se compose:

1. d'un programme principal


2. (éventuellement) de sous programmes.
3. Il est écrit dans un fichier portant l'extension .c
Ce fichier, appelé fichier source du programme.

4
Structure d'un programme C (2/2)
Le fichier source du programme contient généralement les parties
suivantes:
1. Les directives de compilation: une directive commence toujours
par le symbole # suivi de la directive.
Pour utiliser une fonction qui a été prédéfinie dans la bibliothèque
stdio.h, il faut mettre la directive suivante :
#include <stdio.h>
2. La définition des structures et des types (s'il y en a)
3. La déclaration des variables globales (s'il y en a
4. Les fonctions
5. Le programme principal (fonction main)
5
Un premier programme
L1 /*
L2 Mon premier programme C.
L3 */
L4 #include<stdio.h>
L5 int main( )
L6 {
L7 printf("Bonjour tout le monde \n");
L8 return 0;
L9 }

6
Un premier programme
— [L1, L2, L3] Commentaire sur plusieurs lignes.
— [L4] #include pour pouvoir utiliser la fonction printf qui est une
fonction de la librairie stdio.h (STandarD Input/Output).
— [L5] Fonction principale, point d'entrée du programme.
— [L6] Accolade ouvrante, débute le code de la fonction.
— [L7] La fonction printf permet d'afficher un message à l'écran. Les
guillemets délimitent la chaîne de caractère. Le caractère \n signifie un
saut de ligne suivi d'un retour chariot. Le point-virgule à la fin de
chaque phrase est indispensable.
— [L8] Le programme renvoie la valeur 0 au shell appelant à la fin de son
exécution.
— [L9] Accolade fermante, fin de bloc de la fonction principale

7
Les directives de compilation

1. Elles indiquent au compilateur de procéder à des


opérations préalables au début de la compilation.

2. Elles se situent en tout début du programme source.

Nous utilisons en général les deux directive suivante:


- La directive #include
- La directive #define

8
La directive #include

— Cette directive permet l'inclusion de librairies dont les


éléments seront utilisés dans le programme source.
— Le compilateur C fournit un ensemble de librairies mais le
programmeur peut aussi créer ses propres librairies.
— Syntaxe de cette directive :
— #include <fichier> ou #include "fichier"
— Exemples :
— #include <stdio.h>
— #include "C:\MesProgrammes\definitions.h"

9
La directive #define
— Cette directive permet de remplacer dans le programme
toutes les occurrences d’une suite de caractères par un nom
de substitution.
— Syntaxe de cette directive :
— #define nom_de_substitution suite_de_caractères
— nom_de_substitution sera utilisé tout au long du programme source
pour représenter la suite de caractères suite_de_caractères.
— Exemple:
— #define VRAI 1
— Le mot VRAI sera utilisé pour représenter le chiffre 1 dans
le programme source. Mais rien ne vous empêche d'utiliser
le chiffre 1.
10
Les types de base du Langage C
— En langage C, chaque variable doit être associée à un
type, qui permet de spécifier la taille de l’espace
occupé en mémoire (nombre d’octets).

type Description taille Valeurs possibles Format


void Ensemble vide
2 ou 4 de -32768 à 32767 %d
int Entier standard de -2147483648 à 2147483647
short Entier court 2 de -32768 à 32767 %d
long Entier long 4 de -2147483648 à 2147483647 %ld
float Réel 4 %f
double Réel double 8 %lf
précision
11 char Caractère 1 de -128 à 127 %c
Les caractères non imprimables
— Les caractères non imprimables possèdent une
représentation conventionnelle utilisant le caractère \
nommé antislash.
— Exemples de caractères non imprimables :

— \n retour chariot avec saut de ligne


— \r retour chariot sans saut de ligne
— \t tabulation horizontale
— \v tabulation verticale

12
Déclaration d'une variable
— En C, toute variable doit être déclarée avant sa première
utilisation.
— La syntaxe de déclaration d’une variable est:
type identificateur;
— Exemple:
— L’instruction int a ;
— permet de réserver un emplacement mémoire pour le
stockage d’un entier (type int) qui sera nommé a dans la
suite du programme.
— Une déclaration peut se faire seule, ou accompagnée d’une
initialisation (première valeur), exemple: int b=3;
13
Déclaration d'une constante

— La syntaxe de déclaration d’une constante est:


const type identificateur valeur;
— Exemple :
— const int MAX=32767;
— On peut utiliser la directive de compilation #define pour
définir une constante selon la syntaxe suivante:
— #define identificateur valeur
— #define MAX 32767
— Mais dans ce cas, il n’y a pas de réservation d’emplacement
mémoire.
14
Mots réservés (mots-clés)
auto const double float int short struct unsigned

break continue else for long signed switch void

case default enum goto register sizeof typedef volatile

char do extern if return static union while

15
Conventions d’écritures d’un programme C
— Avant d’aller plus loin, il convient d’établir un certain nombre
de régles de présentation que devra suivre tout bon
programmeur qui souhaite écrire des programmes C lisibles
— Ne jamais placer plusieurs instructions sur une même ligne ;
— Utiliser des identificateurs significatifs ;
— grâce à l’indentation des lignes, faire ressortir la structure
syntaxique du programme ;
— Laisser une ligne blanche entre la dernière ligne des déclarations
et la première ligne des instructions ;
— Aérer les lignes de programme en entourant par exemple les
opérateurs avec des espaces ;
— Bien commenter les listings tout en évitant les commentaires
triviaux.
16
Les opérateurs arithmétiques
Opérateur Signification
+ Addition
- Soustraction
* Multiplication
/ Division

Reste de la division entière


%
(entre deux entiers)

17
Les opérateurs relationnels
Opérateur Signification
> Supérieur

>= Supérieur ou égal

< Inférieur

<= Inférieur ou égal

== Egal
!= Différent

18
Les opérateurs logiques
Opérateur Signification
&& Et logique

|| Ou logique

! Négation logique

19
Opérateurs unaires
— Ce sont des opérateurs qui ne s’appliquent qu’a un
seul opérande.

Pré-incrémentation i=++j j=j+1 ; i=j

Post-incrémentation i=j++ i=j ; j=j+1

Pré-décrémentation
— int i,j,k; i=--j j=j-1 ; i=j

Post-décrémentation i=j-- i=j ; j=j-1

20
Combinaison d’opérateurs

— Il est possible de combiner les opérateurs selon la


forme générale suivante :
— x op= i équivalent à x = x op i
— On peut alors avoir les formes suivantes : +=, -=, *=,
/=, %=
— Exemple
— i += 20; equiv i = i + 20;
— i -= 1; equiv i = i--; equiv i=i-1

21
Les instructions élémentaires

22
1. L’affectation
— Cette instruction permet de donner la valeur de l’expression de
droite à la variable de gauche.
— Le langage C utilise le symbole = pour l’affectation.

Exemples :
— x = 5; // La variable x prend pour valeur 5

— i = i + 1; // La variable i prend pour valeur son ancienne valeur


augmentée de 1

— C = 'a’; // La variable C prend pour valeur le caractère 'a'.

23
2. L'affichage
— La fonction printf permet d’afficher des informations à
l’écran
— Syntaxe : printf ( " chaîne de caractères " , variable1, variable2, … )
— Cette fonction, contenue dans la bibliothèque standard stdio.h,
attend comme premier paramètre la chaîne de caractère à
afficher avec éventuellement la description des formats
d’affichage des variables à afficher
— Exemple:
— printf ("la valeur de x est %d et celle de y e st %d", x, y );
— printf ("%d", y – x);
— Cette instruction affiche 5 si y=10 et x=5

24
3. La lecture
— L’instruction scanf permet au programme de lire des
informations saisies au clavier par l’utilisateur.
— Syntaxe : scanf ( " chaîne de formatage " , &variable1 , &variable2, . . . )

— Cette fonction, également contenue dans la bibliothèque


standard stdio.h, attend comme premier paramètre la chaîne
décrivant les formats de lecture des variables à lire au clavier.
Les paramètres suivants sont, dans l’ordre, l’adresse des
variables dont on souhaite lire la valeur.
— Le & permet d’accéder à l’adresse des variables.(A omettre
dans le cas de la lecture d’une chaîne de caractères).
— Exemple : scanf(" %d %d",&X, &Y) ;

25
4. Lecture et affichage de caractères(1/2)

Les fonctions getchar et putchar de la bibliothèque stdio.h


permettent respectivement au programme de lire au clavier et
d’afficher à l’écran des caractères. Il s’agit de fonctions d’entrées-
sorties non formatées.

Exemple:
Lecture du caractère c
c=getchar();
Affichage du caractère c
putchar(c);

26
5. Lecture et affichage de
caractères(2/2)
— Certains compilateurs proposent une bibliothèque appelée
conio.h qui contient une fonction de lecture et une
d'écriture de caractère.

— Il s’agit de:
getch pour la lecture de caractère
putch pour la l’écriture de caractère
Exemple :
c = getch( ) ; putch(c) ;

27
Exemple de programme
Ecrire un programme qui demande de donner deux
nombre entier et affiche à l’écran la valeur des
nombre saisies

#include <stdio.h>
int main(){
int a, b;
printf(" donner deux nombres entier ");
scanf(" %d %d",&a, &b) ;
printf(" vous avez saisie a= %d , b = %d", a,b);
return 0.
}
28
28
Exemple de programme somme de
deux entier

#include <stdio.h>
int main(){
int a, b, res;

printf(" donner la première valeur ");


scanf(" %d",&a) ;
printf(" donner la première valeur ");
scanf(" %d ", &b) ;
res=a+b;
printf(" La somme de %d et de %d est %d ", a,b,res);
return 0.
}
29
29
Exemple de programme somme de
deux entier

#include <stdio.h>
int main(){
int a, b, res;

printf(" donner la première valeur ");


scanf(" %d",&a) ;
printf(" donner la première valeur ");
scanf(" %d ", &b) ;
res=a+b;
printf(" La somme de %d et de %d est %d ", a,b,res);
return 0.
}
30
30

Vous aimerez peut-être aussi