Université Euromed de Fès
Ecole d'Ingénierie Digitale et d'Intelligence Artificielle (EIDIA)
LANGAGE DE PROGRAMMATION C
1 Pr. Oumaima Moutik
OBJECTIVE DE CETTE SEMAINE
• Environnement de développement
• Un programme en C
• Variables
• Lecture et écriture
2 Pr. Oumaima Moutik
ÉTAPES DE CONCEPTION D'UN PROGRAMME
INFORMATIQUE
Programme
Enoncé du
Compilation binaire
problème
exécutable
Analyse du Programme Exécution du
problème source programme
Programmation à
l’aide d’un
Algorithme langage de Résultats
programmation
(C..)
QU’EST CE QU’UN PROGRAMME
• Un programme est la traduction d’un algorithme dans un certain langage de
programmation
➢ Le but de la programmation:
• Utiliser l’ordinateur pour traiter des données afin d’obtenir des résultats
• Intermédiaire entre le langage machine (binaire) et le langage humain
4 Pr. Oumaima Moutik
COMMENT CRÉER UN PROGRAMME?
• Voici le code source du premier programme que nous
allons écrire ensemble!
Code source
Compilteur
Programme
exécutable
5
NIVEAU DES LANGAGES
Ce schéma montre la hiérarchie des langages de programmation en
fonction de leur niveau d’abstraction :
Haut
Javascript
Ils sont plus simples à apprendre et à
Python utiliser, mais moins performants et moins
proches du système que le C et cachent
beaucoup de détails techniques.
C#
C++
il permet un accès direct à la mémoire
C et au matériel.
bas
6 Assembleur Très proches du langage machine (binaire).
Pr. Oumaima Moutik
LE C ET LES LIBS: LES INCLUDES
Lib 1 Lib 2 Lib 3
Programme en C
• Le langage C contient des bibliothèques (libraries).
Ce sont des fichiers externes qui regroupent déjà du code écrit par d’autres programmeurs
(fonctions, définitions, constantes).
• Avec la directive #include, on peut inclure ces bibliothèques dans notre propre programme
pour réutiliser directement leurs fonctions sans les réécrire.
#include <stdio.h> // bibliothèque pour l’affichage et la lecture (printf, scanf…)
#include <stdlib.h> // bibliothèque utilitaire (gestion mémoire, nombres aléatoires…)
7 Pr. Oumaima Moutik
DOMAINES D’APPLICATIONS DE C
•Systèmes embarqués : télécommandes, tableaux de bord de voitures, objets
connectés…
•Jeux vidéo
•Applications bureautiques : Word, Excel, etc.
•Navigateurs internet : Chrome, Firefox…
•Systèmes d’exploitation complets : Linux
8 Pr. Oumaima Moutik
DÉCLARATION DES VARIABLES
▪ Conventions de Nommage d’une variable
• Le nom des variables en C peut être constitué de lettres minuscules (a à z), de lettres majuscules (A à Z)
de nombres (0 à 9) ou du caractère souligné (_).
• Vous ne pouvez pas utiliser d’espace dans un nom de variable. Par ailleurs, un nom de variable ne doit
pas débuter par un chiffre et il n’est pas recommandé de le faire débuter par le caractère_ .
• De plus, il faut absolument éviter d’utiliser un mot « réservé » par C comme nom de variable (par
exemple! :printf, for, scanf, etc..
Pr. Oumaima Moutik
9
▪ Les types de variables en C sont:
• type int, exemple: 12 , 3 , 77 ...
• type float, exemple: 12.5 , 3.75 , 77.52 ...
• type char , exemple « nom » , "voiture" ...
• type bool: ce type prend deux valeurs: True ( vrai) et False (Faux)
• unsigned int : Entier sans signe. Ne permet que des valeurs positives ou zéro.
• long : Augmente la taille d'un entier.
• short : Diminue la taille d'un entier.
• double : Nom
10 Pr. Oumaima Moutik
SYNTAXE DE DÉCLARATION DES CONSTANTES :
Const Type Nom_constante=valeur;
Exemple:
Const float Pi=3.14;
➢ Syntaxe de déclaration des variables :
Type nom_variable;
Exemple :
int nbre_etudiants;
float moyenne , prix;
char phrase;
11 Pr. Oumaima Moutik
• OPERATIONS ARITHMÉTIQUES
• Operations arithmétiques
• addition +
• soustraction –
• multiplication *
• division (entière et rationnelle!) /
• modulo (reste d'une div. entière) %
• Opérations logiques
• && et logique (and)
• || ou logique (or)
• ! négation logique (not)
12
12 Pr. Oumaima Moutik
• AFFECTATION
• L’affectation est une opération qui consiste à attribuer à une
variable :
• Soit une valeur particulière
• Soit une valeur contenue dans une autre variable
• Soit une valeur calculée à l’aide d’opérateurs
• Syntaxe :
Nom_variable = valeur ;
Exemple :
Nbre = 20;
Moyenne = 16.5;
Sexe = « F » ;
13 Pr. Oumaima Moutik
LES INSTRUCTIONS DE LECTURE ET
ÉCRITURE EN C
Printf()
Scanf()
Ordinateur Utilisateur
14
AFFICHAGE D’UN TEXTE :LA FONCTION PRINTF()
• C’est une instruction d’écriture, Elle permet à un programme de communiquer des
informations sous forme de résultats par l’intermédiaire d’un périphérique : écran
• printf une fonction de la bibliothèque stdio.h
Syntaxe : printf('‘expression %format'',variable);
15
15
EXEMPLES:
• printf(« La somme est %d », S);
• printf("Bonjour"); pas de retour à la ligne du curseur après l'affichage,
• printf("bonjour\n"); affichage du texte, puis retour à la ligne du curseur.
16 Pr. Oumaima Moutik
INSTRUCTION DE LECTURE : LA FONCTION SCANF() :
➢ Appartenant à la bibliothèque stdio.h
➢ ¨Permet de lire des données au clavier (demander à l’utilisateur) et de les affecter à des variables.
• Syntaxe:
scanf(« %format », &nom_variable);
• Exemple : int x,y;
printf(« Entrer la valeur de x et y: »);
scanf(« %d%d », &x,&y);
17 Pr. Oumaima Moutik
LA STRUCTURE D’UN PROGRAMME C
• int main(): La fonction principale d’un
programme C, c’est le point d’entrée
• Return 0; signifie que le programme s'est bien
terminé
• Les accolades { ... }: Tout ce qui est écrit
entre les accolades représente le corps du
programme, c’est-à-dire les instructions qui
vont être exécutées.
• le point-virgule ; est très important, indique la
fin d’une instruction. Sans ;, le compilateur ne
saura pas ou s’arrete l’instruction -> cela
donne une erreur de compilation
LES COMMENTAIRES:
• En langage C, les commentaires servent à expliquer ton code sans être exécutés par le
compilateur.
•
Il existe 2 types de commentaires en C :
• Commentaire sur une seule ligne
• Utilise //
• Tout ce qui est écrit après // sera ignoré.
• Exemple :
• // Ceci est un commentaire sur une seule ligne
• int a = 5; // Déclaration et initialisation d'une variable
• Commentaire sur plusieurs lignes
• Utilise /* ... */
• Tout ce qui est écrit entre /* et */ sera ignoré.
• /* Ceci est un commentaire
• sur plusieurs lignes
• pour expliquer le code */
19
Exercie1: le code C correspondant à l’algorithme qui calcule la somme et la moyenne de 2
nombres :
#include <stdio.h>
#include <stdlib.h>
int main() {
float a, b, c, somme; // Déclaration des variables
// Lire les trois nombres
printf("Entrez le premier nombre : ");
scanf("%f", &a);
printf("Entrez le deuxième nombre : ");
scanf("%f", &b);
printf("Entrez le troisième nombre : ");
scanf("%f", &c);
// Calculer la somme
somme = a + b + c;
// Afficher le résultat
printf("La somme des trois nombres est : %.2f\n", somme);
return 0;
20 }
EXERCIE2: PROBLÈME (ÉNONCÉ)
Un client achète un objet et donne une somme d’argent pour le payer. On veut écrire un programme C qui :
1. Demande à l’utilisateur de saisir le prix de l’objet.
2. Demande à l’utilisateur de saisir le montant donné par le client.
3. Calcule la monnaie à rendre.
4. Affiche la monnaie à rendre.
21
#include <stdio.h>
#include <stdlib.h>
int main() {
float prix, montant_donne, monnaie;
// Lire le prix de l'objet
printf("Entrez le prix de l'objet (en MAD) : ");
scanf("%f", &prix);
// Lire le montant donné par le client
printf("Entrez le montant donne par le client (en MAD) : ");
scanf("%f", &montant_donne);
// Calcul de la monnaie
monnaie = montant_donne - prix;
// Affichage du résultat (avec 2 chiffres après la virgule)
printf("La monnaie a rendre est : %.2f MAD\n", monnaie);
return 0;
}
22 Pr. Oumaima Moutik
EXERCICE 3 #include <stdio.h>
#include <stdlib.h>
Écrire un algorithme puis un programme en
langage C qui :
int main() {
[Link] à l’utilisateur de saisir son année
int anneeN, anneeA, age;
de naissance,
[Link] ensuite l’année actuelle,
// Lire l'année de naissance
[Link] l’âge de l’utilisateur,
printf("Entrez votre annee de naissance : ");
[Link] le résultat à l’écran.
scanf("%d", &anneeN);
// Lire l'année actuelle
printf("Entrez l'annee actuelle : ");
scanf("%d", &anneeA);
// Calcul de l'âge
age = anneeA - anneeN;
// Afficher le résultat
printf("Votre age est : %d ans\n", age);
return 0;
}
23 Pr. Oumaima Moutik