SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Programmation en langage C
Rachid Benouini
Partie 1 - les notions de base
2
Plan
R. Benouini Cours de programmation en C
1 Notions de base de programmation
2 Notion de variable et les types de base
3 Les fonctions d’entrées-sorties standard
4 Syntaxe du langage C – les opérateurs
5 Les structures de contrôle
6 Les structures répétitives – les boucles
3
Notion de base de programmation
R. Benouini Cours de programmation en C
Un programme est une séquence d'instructions, exécuté une après
l'autre - en général de manière séquentielle.
Pour le langage C, les instructions sont stockées dans un fichier texte
d’extension ".c" par suite ce fichier sera traduit en langage machine par un
compilateur puis exécuté.
Certain instructions et fonctionnalités, par exemple d’affichage, de
lecture, d’accès aux matérielles, d’accès au réseau , etc. sont déjà définit
dans des bibliothèques, on fait seulement appel a ces fonctionnalités.
stdio.h contient les fonctions d’affichage et de lectures
math.h contient les fonctions mathématiques cos, sin, exp,...
string.h contient les fonctions de manipulation des chaines de
caractères
Et bien d’autres ...
#include <stdio.h> // directives du préprocesseur
#include <stdlib.h>
#define carre(x) x*x // déclaration d'alias
#define N 150
float prix=12.5; // déclaration des variables globales
// Déclaration d'une fonction
int somme(int a,int b){
return a+b;
}
// Déclaration d’une fonction principale main
int main(){
// Les instructions
int a=1,b=3,s; // Déclaration des variables locales
s=somme(a,b); // appel du fonction somme
// appel du fonction d'affichage printf
printf("la somme est %d",s);
return 0;
} // Fin du programme
4
Structure générale d’un programme C
R. Benouini Cours de programmation en C
5
Les commentaires
R. Benouini Cours de programmation en C
Sont des parties du programme qui ne sera ni compilé ni
exécuté, serve a ajouté un documentation ou explication
/* Commentaire a
plusieurs lignes
*/
// Commentaire à la fin de ligne
6
Notion d’identificateur
R. Benouini Cours de programmation en C
Pour définir les noms des variables, les noms des fonctions,
les noms des structures.
float prix=12.5;
Prix prix _prix prix01 PRIX01 _0prix_ valide
0prix &prix pr–ix +prix +prix-784 non valide
Les noms suivantes sont réservés au langage :
auto break case char const continue default do double
else enum extern float for goto if int long register
return short signed sizeof static struct switch typedef
union unsigned void volatile while
7
Déclaration des variables
R. Benouini Cours de programmation en C
Un variable c’est une réservation mémoire pouvant contenir
des données (valeurs) d’un type défini, ses valeurs sont
changeables dans le temps.
type nomDeVariable1,nomVariable2;
type nomDeVariable = valeurInitialisation;
Exemples :
int nombre, age=18, x=-4;
float poids=12.4, pi=3.14159;
8
Les types de base
R. Benouini Cours de programmation en C
char c='F'; // caractère du table code ASCII
int a=124; // entier
long l=1554220; // entier long
float f=3.14159; // réel avec 6 chiffres décimaux
double d=3.1415926535; // réel avec double précision 15
// chiffres décimaux
long double ld=3.141592653589; // 19 chiffre décimaux
Pour le type boolien : un variable int (entier) peut jouer le
rôle d’un variable boolien s’il égale a 0 => faux et s’il
est diffèrent de 0 => vrai
Il existe d’autres types de base comme short int,
unsigned int, long long ...
9
Les fonctions d’entrées-sorties standard
R. Benouini Cours de programmation en C
Prennent l’exemple suivant :
#include <stdio.h>
int main()
{
int a=12;
printf("la valeur de a est %d",a);
// affichage de la valeur de a
return 0;
}
Pour afficher la valeur de a on a utilisé %d qui sera
remplacer par la valeur du variable a dans l’appel du fonction
d’affichage,
%d appelé format de type entier.
1 - Les formats de types
10
Les fonctions d’entrées-sorties standard
R. Benouini Cours de programmation en C
1 - Les formats de types
Pour afficher d’autre type, on a la table suivante :
%c char 'c' 'E' '1' 't'
%d int 1 0 -2 31
%ld long int 14 2000 78000 900000
%f float 0.4 3.5 -.78 0.01
%f double 5.0 3.5
%lf long double 2.1e4 3.14159263589
%s char* "chaine" "Karim Mahmoud"
11
Les fonctions d’entrées-sorties standard
R. Benouini Cours de programmation en C
2 – Affichage et saisie
printf : permets l’affichage sur l’écran
printf("valeur est %d",15);
printf("%6.5f",1256.46587689);
// 1256.46587 forme décimale
printf("%e",3.1415926);
// 1.245125e+003 forme exponentiel
scanf : permet de lire du clavier et stocker dans un variable de
même type que le format.
scanf("%f",&f);
scanf("%c",&c);
12
Syntaxe du langage C
R. Benouini Cours de programmation en C
1 – Les opérateurs arithmétiques
a+b addition
a-b soustraction
a*b multiplication
a/b division
a%b modulo (reste de la division euclidienne de a et b)
a++ ou ++a incrémentation de a avec 1 (a=a+1)
a-- ou --a décrémentation de a avec 1 (a=a-1)
x=y x reçoit la valeur de y
x+=y (x=x+y) x reçoit la valeur de x+y
x-=y x*=y x/=y x%=y x*=y
2 – Affectation
13
Syntaxe du langage C
R. Benouini Cours de programmation en C
3 – Relation
x==y égalité donne 1 si x est égale à y; 0 sinon
x!=y inégalité donne 1 si x est diffèrent a y; 0 sinon
x <y inférieur donne 1 si x < y; 0 sinon
x >y supérieur donne 1 si x > y; 0 sinon
x<=y inférieur ou égale donne 1 si x <= y; 0 sinon
x>=y supérieur ou égale donne 1 si x >= y; 0 sinon
4 – Les opérateurs logiques
&& et logique
|| ou logique
! non logique
Exemples : a doit être diffère de zéro et inférieur ou égale à b ou
simplement b supérieur à 20
(a != 0 && a <= b ) || b > 20
14
Les structures de contrôle
R. Benouini Cours de programmation en C
1 – if else (si sinon)
if(condition) {
Bloc d’instructions 1;
} else {
Bloc d’instructions 2;
}
Exemple : saisie d’une valeur, et l’affichage s’il est nul ou non.
int a;
printf("donner a");
scanf("%d",&a);
if(a==0)
{
printf("a est nul");
}
else
{
printf("a est non nul");
}
15
Les structures de contrôle
R. Benouini Cours de programmation en C
2 – else if (sinon si)
if(condition 1) {
Bloc d’instructions 1;
} else if(condition 2) {
Bloc d’instructions 2;
} else {
Bloc d’instructions 3;
}
Exemple : saisie d’une valeur, et l’affichage s’il est nul, négatif ou positif.
int a;
printf("donner a");
scanf("%d",&a);
if(a==0){
printf("a est nul");
} else if(a>0){
printf("a est positif ");
} else if(a<0){
printf("a est negatif");
}
16
Les structures de contrôle
R. Benouini Cours de programmation en C
3 – switch (choix)
switch(valeur)
{
case valeur1: bloc d’instruction 1;
break ;
case valeur2: bloc d’instruction 2;
break ;
...
...
default:
bloc d’instruction des autres cas;
}
L’instruction break permet de passer les autres cas si une est exécutée.
17
Les structures de contrôle
R. Benouini Cours de programmation en C
3 – switch (choix)
Exemples : demande un numéro et affiche le jour de la semaine correspondant.
int a;
printf("donner numero de jour ");
scanf("%d",&a);
switch(a) {
case 1: printf("lundi");
break ;
case 2: printf("mardi");
break ;
case 3: printf("mercredi");
break ;
case 4: printf("jeudi");
break ;
case 5: printf("vendredi");
break ;
case 6: printf("samedi");
break ;
case 7: printf("dimanche");
break;
default: printf("n'est pas un jour");
}
18
Les structures répétitives - Les boucles
R. Benouini Cours de programmation en C
1 – while (tant que)
Tant que la condition est satisfaite (vrai) le bloc d’instruction sera exécuté
while(condition){
Bloc d’instructions;
}
Exemple : affichage des valeurs de 0 à 5
// Décroissant // Croissant
// Donne 5 4 3 2 1 0 // Donne 0 1 2 3 4 5
i=5; i=0;
while(i>=0){ while(i<=5){
printf("i=%dn",i); printf("i=%dn",i);
i--; // i=i-1; i++; // i=i+1;
} }
19
Les structures répétitives - Les boucles
R. Benouini Cours de programmation en C
2 – do while (répéter)
Répéter l’exécution de la bloc d’instructions tant que le condition est vrai.
do {
Bloc d’instructions;
} while(condition);
Exemple : affichage des valeurs de 0 à 5
// Donne 0 1 2 3 4 5
i=0;
do {
printf("i=%dn",i);
i++;
} while(i<=5);
20
Les structures répétitives - Les boucles
R. Benouini Cours de programmation en C
3 – for (pour)
Permets de répéter un bloc d’instruction pour un nombre d’itérations
connue.
for(initialisation; condition; incrémentation){
bloc d’instructions;
}
Exemple : affichage des valeurs de 0 à 5
// Donne 0 1 2 3 4 5
for(i=0;i<=5;i++){
printf("i=%dt",i);
}
21
Les structures répétitives - Les boucles
R. Benouini Cours de programmation en C
4 – Exemples
Exemple 1 : afficher 5 étoiles (*) successivement
// Résultat :
// *****
for(i=1;i<=5;i++){
printf("*");
}
Exemple 2 : afficher 5 lignes et dans chaque ligne 5 étoiles (*) (après chaque
ligne un retour à la ligne "n")
for(i=1;i<=5;i++){
for(j=1;j<=5;j++){
printf("*");
}
printf("n");
}
// Résultat :
// *****
// *****
// *****
// *****
// *****
22
Les structures répétitives - Les boucles
R. Benouini Cours de programmation en C
4 – Exemples
Exemple 3 : afficher du triangle d’étoiles
for(i=1;i<=5;i++){
for(j=1;j<=i;j++){
printf("*");
}
printf("n");
}
Exemple 4 : afficher du triangle d’étoiles centré
for(i=1;i<=5;i++){
for(j=1;j<=5-i;j++){
printf(" ");
}
for(j=1;j<=i;j++){
printf("*");
}
for(j=1;j<=i-1;j++){
printf("*");
}
printf("n");
}
// Résultat :
// *
// ***
// *****
// *******
// *********
// Résultat :
// *
// **
// ***
// ****
// *****
23
La partie suivante :
R. Benouini Cours de programmation en C
Programmation en langage C
Rachid Benouini
Partie 2 - les tableaux – les fonctions – les chaines de
caractères – les pointeurs

Contenu connexe

Tendances

cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CAbdelouahed Abdou
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionECAM Brussels Engineering School
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage cDaoua Lotfi
 

Tendances (20)

Le langage C
Le langage CLe langage C
Le langage C
 
Serie2
Serie2Serie2
Serie2
 
Récursivité
RécursivitéRécursivité
Récursivité
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Cours de c
Cours de cCours de c
Cours de c
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Cours.langage c
Cours.langage cCours.langage c
Cours.langage c
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 

En vedette

Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
STM32F4+Android Application
STM32F4+Android ApplicationSTM32F4+Android Application
STM32F4+Android ApplicationHajer Dahech
 
Ontologie concept applications
Ontologie concept applicationsOntologie concept applications
Ontologie concept applicationsbenouini rachid
 
Segmentation par watershed
Segmentation par watershedSegmentation par watershed
Segmentation par watershedbenouini rachid
 
Présentation d'Arduino
Présentation d'ArduinoPrésentation d'Arduino
Présentation d'ArduinoOlivier NOEL
 
Utilisation et programmation en c
Utilisation et programmation en cUtilisation et programmation en c
Utilisation et programmation en cCecilia Bevilaqua
 
Synthes eflexion 4t
Synthes eflexion 4tSynthes eflexion 4t
Synthes eflexion 4tabdourazg
 
TD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTI
TD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTITD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTI
TD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTIsoufiane merabti
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationChingongou ­
 
Cle international grammaire progressive du francais avec 400 exercices - ni...
Cle international   grammaire progressive du francais avec 400 exercices - ni...Cle international   grammaire progressive du francais avec 400 exercices - ni...
Cle international grammaire progressive du francais avec 400 exercices - ni...hiteric
 
Programmation des pic_en_c_part2
Programmation des pic_en_c_part2Programmation des pic_en_c_part2
Programmation des pic_en_c_part2oussamada
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Karim Touati
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1oussamada
 

En vedette (20)

Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
STM32F4+Android Application
STM32F4+Android ApplicationSTM32F4+Android Application
STM32F4+Android Application
 
Cours c++
Cours c++Cours c++
Cours c++
 
Ontologie concept applications
Ontologie concept applicationsOntologie concept applications
Ontologie concept applications
 
Segmentation par watershed
Segmentation par watershedSegmentation par watershed
Segmentation par watershed
 
Présentation d'Arduino
Présentation d'ArduinoPrésentation d'Arduino
Présentation d'Arduino
 
Utilisation et programmation en c
Utilisation et programmation en cUtilisation et programmation en c
Utilisation et programmation en c
 
Chap 12 liaisons et guidage
Chap 12   liaisons et guidageChap 12   liaisons et guidage
Chap 12 liaisons et guidage
 
Synthes eflexion 4t
Synthes eflexion 4tSynthes eflexion 4t
Synthes eflexion 4t
 
TD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTI
TD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTITD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTI
TD - travaux dirigé limite de fonction ( exercice ) SOUFIANE MERABTI
 
Biochimie structurale
Biochimie structuraleBiochimie structurale
Biochimie structurale
 
Algorithme
AlgorithmeAlgorithme
Algorithme
 
Compteur ARDUINO
Compteur ARDUINOCompteur ARDUINO
Compteur ARDUINO
 
Pic16f84
Pic16f84Pic16f84
Pic16f84
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
 
Cle international grammaire progressive du francais avec 400 exercices - ni...
Cle international   grammaire progressive du francais avec 400 exercices - ni...Cle international   grammaire progressive du francais avec 400 exercices - ni...
Cle international grammaire progressive du francais avec 400 exercices - ni...
 
Programmation des pic_en_c_part2
Programmation des pic_en_c_part2Programmation des pic_en_c_part2
Programmation des pic_en_c_part2
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1
 

Similaire à Cours de programmation en c

cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationkamalomari2
 
Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5Laurent BUNIET
 
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxLagloireSouamounou
 
Cours c#
Cours c#Cours c#
Cours c#zan
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1Beligh HAMDI
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 
Chapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdfChapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdfShiniGami0o0
 

Similaire à Cours de programmation en c (20)

Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 
Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5
 
langage C++
langage C++langage C++
langage C++
 
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
 
Cours c#
Cours c#Cours c#
Cours c#
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
POO-chapitre2.pptx
POO-chapitre2.pptxPOO-chapitre2.pptx
POO-chapitre2.pptx
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Langage C
Langage CLangage C
Langage C
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
Ch02
Ch02Ch02
Ch02
 
Chapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdfChapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdf
 

Dernier

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 

Dernier (16)

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 

Cours de programmation en c

  • 1. Programmation en langage C Rachid Benouini Partie 1 - les notions de base
  • 2. 2 Plan R. Benouini Cours de programmation en C 1 Notions de base de programmation 2 Notion de variable et les types de base 3 Les fonctions d’entrées-sorties standard 4 Syntaxe du langage C – les opérateurs 5 Les structures de contrôle 6 Les structures répétitives – les boucles
  • 3. 3 Notion de base de programmation R. Benouini Cours de programmation en C Un programme est une séquence d'instructions, exécuté une après l'autre - en général de manière séquentielle. Pour le langage C, les instructions sont stockées dans un fichier texte d’extension ".c" par suite ce fichier sera traduit en langage machine par un compilateur puis exécuté. Certain instructions et fonctionnalités, par exemple d’affichage, de lecture, d’accès aux matérielles, d’accès au réseau , etc. sont déjà définit dans des bibliothèques, on fait seulement appel a ces fonctionnalités. stdio.h contient les fonctions d’affichage et de lectures math.h contient les fonctions mathématiques cos, sin, exp,... string.h contient les fonctions de manipulation des chaines de caractères Et bien d’autres ...
  • 4. #include <stdio.h> // directives du préprocesseur #include <stdlib.h> #define carre(x) x*x // déclaration d'alias #define N 150 float prix=12.5; // déclaration des variables globales // Déclaration d'une fonction int somme(int a,int b){ return a+b; } // Déclaration d’une fonction principale main int main(){ // Les instructions int a=1,b=3,s; // Déclaration des variables locales s=somme(a,b); // appel du fonction somme // appel du fonction d'affichage printf printf("la somme est %d",s); return 0; } // Fin du programme 4 Structure générale d’un programme C R. Benouini Cours de programmation en C
  • 5. 5 Les commentaires R. Benouini Cours de programmation en C Sont des parties du programme qui ne sera ni compilé ni exécuté, serve a ajouté un documentation ou explication /* Commentaire a plusieurs lignes */ // Commentaire à la fin de ligne
  • 6. 6 Notion d’identificateur R. Benouini Cours de programmation en C Pour définir les noms des variables, les noms des fonctions, les noms des structures. float prix=12.5; Prix prix _prix prix01 PRIX01 _0prix_ valide 0prix &prix pr–ix +prix +prix-784 non valide Les noms suivantes sont réservés au langage : auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
  • 7. 7 Déclaration des variables R. Benouini Cours de programmation en C Un variable c’est une réservation mémoire pouvant contenir des données (valeurs) d’un type défini, ses valeurs sont changeables dans le temps. type nomDeVariable1,nomVariable2; type nomDeVariable = valeurInitialisation; Exemples : int nombre, age=18, x=-4; float poids=12.4, pi=3.14159;
  • 8. 8 Les types de base R. Benouini Cours de programmation en C char c='F'; // caractère du table code ASCII int a=124; // entier long l=1554220; // entier long float f=3.14159; // réel avec 6 chiffres décimaux double d=3.1415926535; // réel avec double précision 15 // chiffres décimaux long double ld=3.141592653589; // 19 chiffre décimaux Pour le type boolien : un variable int (entier) peut jouer le rôle d’un variable boolien s’il égale a 0 => faux et s’il est diffèrent de 0 => vrai Il existe d’autres types de base comme short int, unsigned int, long long ...
  • 9. 9 Les fonctions d’entrées-sorties standard R. Benouini Cours de programmation en C Prennent l’exemple suivant : #include <stdio.h> int main() { int a=12; printf("la valeur de a est %d",a); // affichage de la valeur de a return 0; } Pour afficher la valeur de a on a utilisé %d qui sera remplacer par la valeur du variable a dans l’appel du fonction d’affichage, %d appelé format de type entier. 1 - Les formats de types
  • 10. 10 Les fonctions d’entrées-sorties standard R. Benouini Cours de programmation en C 1 - Les formats de types Pour afficher d’autre type, on a la table suivante : %c char 'c' 'E' '1' 't' %d int 1 0 -2 31 %ld long int 14 2000 78000 900000 %f float 0.4 3.5 -.78 0.01 %f double 5.0 3.5 %lf long double 2.1e4 3.14159263589 %s char* "chaine" "Karim Mahmoud"
  • 11. 11 Les fonctions d’entrées-sorties standard R. Benouini Cours de programmation en C 2 – Affichage et saisie printf : permets l’affichage sur l’écran printf("valeur est %d",15); printf("%6.5f",1256.46587689); // 1256.46587 forme décimale printf("%e",3.1415926); // 1.245125e+003 forme exponentiel scanf : permet de lire du clavier et stocker dans un variable de même type que le format. scanf("%f",&f); scanf("%c",&c);
  • 12. 12 Syntaxe du langage C R. Benouini Cours de programmation en C 1 – Les opérateurs arithmétiques a+b addition a-b soustraction a*b multiplication a/b division a%b modulo (reste de la division euclidienne de a et b) a++ ou ++a incrémentation de a avec 1 (a=a+1) a-- ou --a décrémentation de a avec 1 (a=a-1) x=y x reçoit la valeur de y x+=y (x=x+y) x reçoit la valeur de x+y x-=y x*=y x/=y x%=y x*=y 2 – Affectation
  • 13. 13 Syntaxe du langage C R. Benouini Cours de programmation en C 3 – Relation x==y égalité donne 1 si x est égale à y; 0 sinon x!=y inégalité donne 1 si x est diffèrent a y; 0 sinon x <y inférieur donne 1 si x < y; 0 sinon x >y supérieur donne 1 si x > y; 0 sinon x<=y inférieur ou égale donne 1 si x <= y; 0 sinon x>=y supérieur ou égale donne 1 si x >= y; 0 sinon 4 – Les opérateurs logiques && et logique || ou logique ! non logique Exemples : a doit être diffère de zéro et inférieur ou égale à b ou simplement b supérieur à 20 (a != 0 && a <= b ) || b > 20
  • 14. 14 Les structures de contrôle R. Benouini Cours de programmation en C 1 – if else (si sinon) if(condition) { Bloc d’instructions 1; } else { Bloc d’instructions 2; } Exemple : saisie d’une valeur, et l’affichage s’il est nul ou non. int a; printf("donner a"); scanf("%d",&a); if(a==0) { printf("a est nul"); } else { printf("a est non nul"); }
  • 15. 15 Les structures de contrôle R. Benouini Cours de programmation en C 2 – else if (sinon si) if(condition 1) { Bloc d’instructions 1; } else if(condition 2) { Bloc d’instructions 2; } else { Bloc d’instructions 3; } Exemple : saisie d’une valeur, et l’affichage s’il est nul, négatif ou positif. int a; printf("donner a"); scanf("%d",&a); if(a==0){ printf("a est nul"); } else if(a>0){ printf("a est positif "); } else if(a<0){ printf("a est negatif"); }
  • 16. 16 Les structures de contrôle R. Benouini Cours de programmation en C 3 – switch (choix) switch(valeur) { case valeur1: bloc d’instruction 1; break ; case valeur2: bloc d’instruction 2; break ; ... ... default: bloc d’instruction des autres cas; } L’instruction break permet de passer les autres cas si une est exécutée.
  • 17. 17 Les structures de contrôle R. Benouini Cours de programmation en C 3 – switch (choix) Exemples : demande un numéro et affiche le jour de la semaine correspondant. int a; printf("donner numero de jour "); scanf("%d",&a); switch(a) { case 1: printf("lundi"); break ; case 2: printf("mardi"); break ; case 3: printf("mercredi"); break ; case 4: printf("jeudi"); break ; case 5: printf("vendredi"); break ; case 6: printf("samedi"); break ; case 7: printf("dimanche"); break; default: printf("n'est pas un jour"); }
  • 18. 18 Les structures répétitives - Les boucles R. Benouini Cours de programmation en C 1 – while (tant que) Tant que la condition est satisfaite (vrai) le bloc d’instruction sera exécuté while(condition){ Bloc d’instructions; } Exemple : affichage des valeurs de 0 à 5 // Décroissant // Croissant // Donne 5 4 3 2 1 0 // Donne 0 1 2 3 4 5 i=5; i=0; while(i>=0){ while(i<=5){ printf("i=%dn",i); printf("i=%dn",i); i--; // i=i-1; i++; // i=i+1; } }
  • 19. 19 Les structures répétitives - Les boucles R. Benouini Cours de programmation en C 2 – do while (répéter) Répéter l’exécution de la bloc d’instructions tant que le condition est vrai. do { Bloc d’instructions; } while(condition); Exemple : affichage des valeurs de 0 à 5 // Donne 0 1 2 3 4 5 i=0; do { printf("i=%dn",i); i++; } while(i<=5);
  • 20. 20 Les structures répétitives - Les boucles R. Benouini Cours de programmation en C 3 – for (pour) Permets de répéter un bloc d’instruction pour un nombre d’itérations connue. for(initialisation; condition; incrémentation){ bloc d’instructions; } Exemple : affichage des valeurs de 0 à 5 // Donne 0 1 2 3 4 5 for(i=0;i<=5;i++){ printf("i=%dt",i); }
  • 21. 21 Les structures répétitives - Les boucles R. Benouini Cours de programmation en C 4 – Exemples Exemple 1 : afficher 5 étoiles (*) successivement // Résultat : // ***** for(i=1;i<=5;i++){ printf("*"); } Exemple 2 : afficher 5 lignes et dans chaque ligne 5 étoiles (*) (après chaque ligne un retour à la ligne "n") for(i=1;i<=5;i++){ for(j=1;j<=5;j++){ printf("*"); } printf("n"); } // Résultat : // ***** // ***** // ***** // ***** // *****
  • 22. 22 Les structures répétitives - Les boucles R. Benouini Cours de programmation en C 4 – Exemples Exemple 3 : afficher du triangle d’étoiles for(i=1;i<=5;i++){ for(j=1;j<=i;j++){ printf("*"); } printf("n"); } Exemple 4 : afficher du triangle d’étoiles centré for(i=1;i<=5;i++){ for(j=1;j<=5-i;j++){ printf(" "); } for(j=1;j<=i;j++){ printf("*"); } for(j=1;j<=i-1;j++){ printf("*"); } printf("n"); } // Résultat : // * // *** // ***** // ******* // ********* // Résultat : // * // ** // *** // **** // *****
  • 23. 23 La partie suivante : R. Benouini Cours de programmation en C Programmation en langage C Rachid Benouini Partie 2 - les tableaux – les fonctions – les chaines de caractères – les pointeurs