Vous êtes sur la page 1sur 31

Institut Supérieur des Etudes Maritimes

Informatique 3

Langage de programmation C

Année universitaire: 2016/2017


Langage de programmation C

Introduction

Inventé en 1972 par Dennis Ritchie


Langage de bas niveau
Portable : présent sur presque toutes les architectures ayant été inventées
Sont écrits en C
 Unix
 Linux
Windows
Les machines virtuelles JAVA
Un code C optimisé permet d’obtenir le code le plus rapide

Informatique 3 2
Langage de programmation C

Introduction

Popularité du langage C:

Source: IEEE
Informatique 3 3
Langage de programmation C

Introduction

Très utilisé car:

Bibliothèque logicielle très fournie

Nombre de concepts restreint

Permet de gérer des exécutables qui n’ont besoin de rien pour s’exécuter
et pour lesquels on peut contrôler parfaitement la mémoire utilisée

Contrôle de bas niveau : très puissant

Informatique 3 4
Langage de programmation C

Introduction

Avantages:

Nombreux types de données.


Ensemble diversifié d'opérateurs et de structures de contrôle.
Bibliothèque d'exécution standard.
Efficacité des programmes.
Transportabilité des programmes (plus facile si on respecte une
norme).
Liberté du programmeur.

Informatique 3 5
Langage de programmation C

Introduction

Inconvénients:

Pas d’objets
Pas de gestion des exceptions
Peu de contrôles (on peut tout faire : débordement de tableaux …)
Faiblement typé (on peut toujours convertir)
Peu devenir franchement complexe
Vieux langage

Informatique 3 6
Langage de programmation C

Introduction

De très nombreux langages sont inspirés du C

C++ (C avec objets (encapsulation, héritage, généricité))


C#
Java
PhP

Informatique 3 7
Langage de programmation C

Introduction

Environnement de développement:

Dev-C++ est
un environnement de
développement
intégré (IDE) permettant
de programmer en C et
en C++.

Informatique 3 8
Langage de programmation C

Introduction

Compilateur:

Un compilateur est le terme utilisé pour désigner un programme


qui transforme un code source écrit dans un langage de
programmation (le langage source) en un autre langage
informatique (appelé langage cible).

Pour qu'il puisse être exploité par une machine, le compilateur


traduit le code source, écrit dans un langage de haut niveau
d'abstraction (facilement compréhensible par l'humain) vers un
langage de plus bas niveau (un langage d'assemblage ou langage
machine).

Informatique 3 9
Langage de programmation C

Introduction

Pour débuter:

Un programme C est constitué d'un ou plusieurs fichiers sources


suffixés par .c et .h, dans le(s)quel(s) une unique fonction main doit
apparaître (ce sera le point d'entrée du programme).

Seules des fonctions peuvent être définies.

Pour définir une procédure, il faut déclarer une fonction


renvoyant le type spécial void.

Informatique 3 10
Langage de programmation C

Introduction

Le premier programme:

#include <stdio.h>
void main ( )
{
printf ("Hello world!\n");
}

Informatique 3 11
Langage de programmation C

Introduction

Variables (Rappel):

Une variable est un nom auquel on associe une valeur que le


programme peut modifier pendant son exécution.
Lors de sa déclaration, on indique son type.
Il faut déclarer toutes les variables avant de les utiliser.
On peut initialiser une variable lors de sa déclaration.
On peut préfixer toutes les déclarations de variables par const
(jamais modifiés).

Informatique 3 12
Langage de programmation C

Introduction

Variables (Rappel):

Exemple
int x; // Réserve un emplacement pour un entier en mémoire.
x = 10; // Ecrit la valeur 10 dans l'emplacement réservé.

Une variable est destinée à contenir une valeur du type avec


lequel elle est déclarée.
Physiquement cette valeur se situe en mémoire.

int x;

Informatique 3 13
Langage de programmation C

Introduction

Variables (Rappel):

Physiquement cette valeur se situe en mémoire.

int x;

x=10;

&x : adresse de x en C : ici 62


Adresse = numéro de la case mémoire

Informatique 3 14
Langage de programmation C

Introduction

Types de données:
Nombres entiers

Nombres réels

Booléens
Il n’y a pas à proprement parler de type booléen en C. En fait,
n’importe quelle valeur numérique peut faire office de booléen en
utilisant la convention suivante :
 la valeur 0 représente le faux
 toute valeur différente de 0 est considérée comme vraie

Informatique 3 15
Langage de programmation C

Introduction

Types de données:
Caractères
Le type char permet de stocker des nombres compris entre -128 et 127.
Si ce type permet de stocker des nombres, il faut savoir qu'en C on l'utilise
rarement pour ça. En général, même si le nombre est petit, on le stocke
dans un int.
Le type char est en fait prévu pour stocker une lettre

Chaines de caractères
une chaîne de caractères n'est rien d'autre qu'un tableau de type char.
Une chaîne de caractère doit impérativement contenir un caractère
spécial à la fin de la chaîne, appelé « caractère de fin de chaîne ». Ce
caractère s'écrit '\0'.

Informatique 3 16
Langage de programmation C

Introduction

Types de données:
Séquences d’échappement

\a Sonnerie
\f Saut de page
\n Fin de ligne
\t Tabulation horizontale
\\ Barre à l’envers
\? Point d’interrogation
\’ apostrophe
\" guillemet

Informatique 3 17
Langage de programmation C

Introduction

Lecture et écriture des données:


Format Type attendu
"%d" int
"%ld" long
"%f" float/double
"%c" char
"%s" Chaine de caractère

Lecture:
Scanf (" %s " , &chaine);
Affichage:
printf(" %d " , a);

Informatique 3 18
Langage de programmation C

Introduction

Opérations:

Opérations arithmétiques:
addition : +
soustraction :
multiplication
multiplication :
division euclidienne : /
reste de la division euclidienne, encore appelé modulo : %
incrémentation: ++
décrémentation: --

Informatique 3 19
Langage de programmation C

Introduction

Opérations:

Opérations Logiques:

Informatique 3 20
Langage de programmation C

Introduction

Opérations:

Affectation:
L’affectation en C est symbolisée par =

Exemples:
n=15;
a=b=c=15;
a=n+5;
a=a+1;  a++;
b=b-1;  b--;
a=a+5;  a+=5;
b=b-13  b-=13

Informatique 3 21
Langage de programmation C

Introduction

Instruction conditionnelle:
If (Condition)
{
<Traitement>
}
OU

If (Condition)
{
<Traitement 1>
}
else
{
<Traitement 2>
}

Informatique 3 22
Langage de programmation C

Introduction

Instruction conditionnelle:

Exemple:
If (a<0)
{
abs=a*(-1);
}
else
{
abs=a;
}

Informatique 3 23
Langage de programmation C

Introduction

Instruction conditionnelle:
Switch(<expression>)
{
case <valeur1>:
<traitement1>
break;
case <valeur2>
<traitement2>
break;
default:
<traitement3>
break;
}

Informatique 3 24
Langage de programmation C

Introduction

Instruction conditionnelle:
Exemple:
Switch(Jour_travail)
{
case 1: case 5:
printf( "Lundi"); printf("Vendredi");
break; break;
case 2: default:
printf( "Mardi"); printf("Weekend");
break; break;
case 3: }
printf( "Mercredi");
break;
case 4:
printf( "Jeudi");
break;
Informatique 3 25
Langage de programmation C

Introduction

Boucles:
For:

for (<initialisation>;<condition>;<incrémentation>)
{
<Traitement>
}

Exemple:

int compteur;

for (compteur = 0 ; compteur < 10 ; compteur++)


{
printf("bonjour!\n");
}
Informatique 3 26
Langage de programmation C

Introduction

Boucles:
while:

while (<condition>)
{
<Instructions>
}
Exemple:

int compteur=0;

while(compteur < 10)


{
printf("bonjour!\n");
compteur++;
}
Informatique 3 27
Langage de programmation C

Introduction

Boucles:
do……while:

do
{ <Instructions>

} while (<condition>)
Exemple:

int compteur=0;
do
{
printf("bonjour!\n");
compteur++;
} while(compteur < 10)

Informatique 3 28
Langage de programmation C

Introduction

Tableaux:
Tableaux à une dimension:

Déclaration:
int tableau[4];
Remplissage:
tableau[0] = 10;
tableau[1] = 23;

Tableaux à deux dimensions:

Déclaration:
int matrice[4][5];
Remplissage:
matrice[0][0] = 10;
matrice[1][1] = 23;
Informatique 3 29
Langage de programmation C

Introduction

Fonctions:
Un programme en C commence par une fonction appelée main.

Une fonction exécute des actions et renvoie un résultat. C'est un morceau


de code qui sert à faire quelque chose de précis.

Informatique 3 30
Langage de programmation C

Introduction

Fonctions:
<type_retour> nomFonction(<types><parametres>)
{
<instructions>
}
Exemple:
int triple(int nombre)
{
int resultat = 0;

resultat = 3 * nombre; // On multiplie le nombre fourni par 3


return resultat; // On retourne la variable resultat qui vaut le triple de nombre
}

Informatique 3 31