SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
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
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateursAziz Darouichi
 
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 python
Cours pythonCours python
Cours pythonsalmazen
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à pythonMariem ZAOUALI
 
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
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 

Mais procurados (20)

Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
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
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Cours python
Cours pythonCours python
Cours python
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
 
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
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Le langage C
Le langage CLe langage C
Le langage C
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 
Cours c#
Cours c#Cours c#
Cours c#zan
 
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
 
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
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSSAyoubElmrabet6
 

Semelhante a 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++
 
Cours c#
Cours c#Cours c#
Cours c#
 
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
 
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
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
 

Último

Hachour_cours_Crea-Innovation_2019-VF.pdf
Hachour_cours_Crea-Innovation_2019-VF.pdfHachour_cours_Crea-Innovation_2019-VF.pdf
Hachour_cours_Crea-Innovation_2019-VF.pdfHakim HACHOUR
 
La Projection orthogonale en dessin technique
La Projection orthogonale en dessin techniqueLa Projection orthogonale en dessin technique
La Projection orthogonale en dessin techniquessuser4dbdf2
 
Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024frizzole
 
Exercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositionsExercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositionslaetitiachassagne
 
Formation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementFormation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementM2i Formation
 
Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2JeanLucHusson
 
Rapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFERapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFEAhmam Abderrahmane
 

Último (8)

Hachour_cours_Crea-Innovation_2019-VF.pdf
Hachour_cours_Crea-Innovation_2019-VF.pdfHachour_cours_Crea-Innovation_2019-VF.pdf
Hachour_cours_Crea-Innovation_2019-VF.pdf
 
La Projection orthogonale en dessin technique
La Projection orthogonale en dessin techniqueLa Projection orthogonale en dessin technique
La Projection orthogonale en dessin technique
 
Echos N102 newsletter community libraries
Echos N102 newsletter community librariesEchos N102 newsletter community libraries
Echos N102 newsletter community libraries
 
Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024
 
Exercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositionsExercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositions
 
Formation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementFormation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changement
 
Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2
 
Rapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFERapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFE
 

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