SlideShare a Scribd company logo
1 of 23
Download to read offline
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

More Related Content

What's hot

Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Cours c#
Cours c#Cours c#
Cours c#zan
 
Algebre relationelle
Algebre relationelleAlgebre relationelle
Algebre relationellehnsfr
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 

What's hot (20)

Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Cours python
Cours pythonCours python
Cours python
 
Python
PythonPython
Python
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Cours c#
Cours c#Cours c#
Cours c#
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Algebre relationelle
Algebre relationelleAlgebre relationelle
Algebre relationelle
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 

Viewers also liked

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
 

Viewers also liked (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
 
Cours langage-c
Cours langage-cCours langage-c
Cours langage-c
 
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
 

Similar to 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
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage cDaoua Lotfi
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
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
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieLoic Yon
 

Similar to 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
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 
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
 
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
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
 

Recently uploaded

L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesUnidad de Espiritualidad Eudista
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdftrendingv83
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 

Recently uploaded (19)

Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 

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