RAPPEL DE COURS
Algorithmique et Programmation 2
Rappel ([Link] / v 1.0) 1
Plan
■ Structure d’un programme en C
■ Les variables et constantes
■ Les types de données
■ Les structures de contrôle
■ Les boucles
Rappel ([Link] / v 1.0) 2
Introduction
■ Le C est un langage compilé . Cela signifie qu’un programme C est décrit par un fichier
texte, appelé fichier source. Ce fichier n’étant évidemment pas exécutable par le
microprocesseur, il faut le traduire en langage machine c’est à dire le compiler. La
compilation consiste à traduire le programme source en langage machine, en faisant
appel à un programme nommé compilateur.
■ La structure d’un programme en C peut contenir les éléments suivants:
• Directives de préprocesseur (#)
• Déclarations
• Fonctions
• Fonction principale (main)
• Instruction
• Bloc
• Commentaires (/* texte*/ , // ligne)
Rappel ([Link] / v 1.0) 3
Structure d’un programme en C
Bibliothèques
Directives de
préprocesseur (#)
Fonction
Block
Commentaires
Déclarations
Programme
principal
Instructions
Appel à une fonction
Rappel ([Link] / v 1.0) 4
Les données
■ Une donnée manipulée par votre programme peut être constante comme variable.
■ Une variable en termes simples est un lieu de stockage auquel de la mémoire est allouée.
– Déclaration : type identifiant;
type identifiant = valeur initiale;
– Exemple :
■ Si vous voulez définir une variable dont la valeur ne peut pas être changée, vous pouvez
utiliser le mot-clé const. Cela va créer une constante. Exemple,
Rappel ([Link] / v 1.0) 5
Les types de données
Types de base:
• char: Le type de données le plus fondamental en C. Il stocke un seul caractère
et nécessite un seul octet de mémoire dans presque tous les compilateurs.
• int: une variable int est utilisée pour stocker un entier.
• float: Il est utilisé pour stocker des nombres décimaux (nombres avec une
valeur à virgule flottante) avec une simple précision.
• double: Il est utilisé pour stocker des nombres décimaux (nombres avec une
valeur à virgule flottante) avec une double précision.
Rappel ([Link] / v 1.0) 6
Les types de données
Rappel ([Link] / v 1.0) 7
Les mots réservés
Rappel ([Link] / v 1.0) 8
L’affectation : opérateur =
■ Variable = valeur
– Valeur peut être brute comme elle peut être le résultat d’un calcul, exemple :
■ Incrémentation / décrémentation par une unité:
■ Incrémentation / décrémentation par plusieurs unités :
Rappel ([Link] / v 1.0) 9
Opérateurs arithmétiques:
Opérateur d’affectation X=
Opérateur Signification X = {+,-,*,/,%}
+ Addition
- Soustraction
* Multiplication
/ Division
% Reste de la
division entière
Rappel ([Link] / v 1.0) 10
Opérateurs relationnels/logiques:
Opérateur Signification
! Non
|| OU
&& ET
Rappel ([Link] / v 1.0) 11
Les entrées/sorties
■ Entrée signifie fournir au programme certaines données à utiliser dans le
programme.
■ Sortie signifie afficher des données à l'écran ou les écrire sur une imprimante
ou dans un fichier.
■ Le fichier d'en-tête d'entrée-sortie standard, nommé stdio.h contient la
définition des fonctions printf() et scanf(), qui sont utilisées pour afficher
la sortie à l'écran et pour lire l'entrée de l'utilisateur respectivement.
adresse
■ Syntaxe :
– Saisie :
scanf ("format",&variable) ;
– Affichage :
printf (" Message format",variable ou expression) ;
Rappel ([Link] / v 1.0) 12
La saisie
Format spécifiant un entier
Rappel ([Link] / v 1.0) 13
L’Affichage
Caractère de retour à la
ligne
Lieu d’insertion de la valeur entière de la variable y
Exemple de caractères d’échappement: qui est indiqué par le format %d
\t : afficher une tabulation
\n : nouvelle ligne
\\ : affichage de l’anti slash
\ ’ : affichage de l’apostrophe
Rappel ([Link] / v 1.0) 14
Les structures alternatives
Structures alternatives simples et composées if (condition 1)
{
//suite d’instructions
}
if (condition) else if (condition 2)
{ {
//suite d’instructions //suite d’instructions
} }
else if (condition 3)
{
if (condition) //suite d’instructions
{ }
//suite d’instructions ,,,,
} else if (condition n)
else ,,,,
{ else {
//suite d’instructions //suite d’instructions
} }
Rappel ([Link] / v 1.0) 15
Les structures alternatives
Opérateur ternaire ;
(Expression logique) ? ExpressionSiVrai : ExpressionSiFaux
Structure de sélection à choix multiple:
switch (expression)
{
case val1:
instruction1;
instruction2;
...
case val2:
instruction3;
instruction4;
...
case val3:
instruction5;
instruction6;
...
default:
instruction7;…
}
Rappel ([Link] / v 1.0) 16
Les structures alternatives
Rappel ([Link] / v 1.0) 17
Structure de sélection à choix multiples
Rappel ([Link] / v 1.0) 18
Les structures itératives
La boucle while
while (condition)
{
//instructions
}
La boucle do while
do {
//instructions
} while(condition)
La boucle for
for (compteur initialisé ; test d’arrêt ; avancement)
{
//instructions
}
Rappel ([Link] / v 1.0) 19
Les structures itératives
Rappel ([Link] / v 1.0) 20
Les structures itératives
Rappel ([Link] / v 1.0) 21
Exercice 1
Écrire un algorithme qui effectue la multiplication de
deux entiers positifs (notés x et y) donnés en utilisant
uniquement l’addition entière.
Rappel ([Link] / v 1.0) 22
Exercice 2
Écrire un algorithme qui vérifie si N un entier positif
est un carré parfait.
Exemple : 4, 9, 16 sont des carrés parfaits.
Rappel ([Link] / v 1.0) 23
Exercice 3
Ecrire un programme qui lit deux valeurs entières
quelconques (A et B) au clavier et qui affiche le signe
de la somme de A et B sans faire l’opération de
l’addition.
Exemple : A = -8, B = 3 le signe de la somme est
négatif.
Rappel ([Link] / v 1.0) 24
Exercice 4
Ecrire un algorithme qui simule le problème de
Syracuse définit par:
Rappel ([Link] / v 1.0) 25
Webographie et références
■ Support du cours de la FST Settat – MIP S3 S4 – Pr A. Lamnii.
■ [Link]
■ [Link]
■ [Link]
■ [Link]
Rappel ([Link] / v 1.0) 26