SlideShare une entreprise Scribd logo
1  sur  116
Initiation à la programmation : Le langage C
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Caractéristiques du C ,[object Object],[object Object],[object Object],[object Object],[object Object]
Programmation modulaire ,[object Object],[object Object],[object Object],[object Object]
Compilation séparée Exécutable Préprocessing Compilation Edition de liens Optimisation fichier1.c fichier2.c fichier3.c fichier1.h fichier2.h fichier3.h Programme fichier1.o fichier2.o fichier3.o
Les variables ,[object Object],[object Object],[object Object],[object Object]
Types entiers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Types entiers (2) ,[object Object],[object Object],[object Object]
Types à virgule ,[object Object],[object Object],[object Object]
Les types : La taille Pentium II Sparc Alpha char 8 bits 8 bits 8 bits short 16 bits 16 bits 16 bits int 16 bits 32 bits 32 bits long 32 bits 32 bits 64 bits float 32 bits 32 bits 32 bits double 64 bits 64 bits 64 bits long double 64 bits 64 bits 128 bits
Déclaration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les opérateurs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Les opérateurs (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les opérateurs unaires ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les opérateurs unaires (2) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Les opérateurs binaires ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],float a,b,c,d,e; a=5.0; b=12.0; b=b-a; c=b/a;
Les opérateurs binaires (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],int a,b,c; a=5; b=12; c=12; if ( (b>=a) && (b!=c) ) { b=c; }
Les opérateurs binaires (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les entrées-sorties : Les flux Entrée standard stdin -> clavier Sortie standard stdout -> écran Sortie d’erreur stderr Programme C
Les entrées-sorties : Affichage à l’écran ,[object Object],[object Object],[object Object]
Les entrées-sorties : Affichage à l’écran ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les entrées-sorties : Lecture au clavier ,[object Object],[object Object],[object Object]
Les entrées-sorties : Lecture au clavier ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Représentation des types ,[object Object],[object Object],[object Object],Types Format char %c int %d %x %o float ou double %f long double %Lf char[] %s
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les structures de contrôle
Les conditionnelles : if…else (1) ,[object Object],[object Object],[object Object],[object Object],condition instructions vrai faux
Les conditionnelles : if…else (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],condition instructions1 vrai faux instructions2
Les conditionnelles : if…else (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],… else { instructions3; }
Les conditionnelles : switch…case (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],… default: instructionsDefault; break; }
Les conditionnelles : switch…case (2) expression constante1 default ... instructionsD instructions1 instructions2
Les itérations : La boucle for ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les itérations : La boucle for vrai faux Initialisation Condition d’arrêt Mise à jour exp2 exp1 instructions exp3
Les itérations : La boucle while ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],condition instructions vrai faux
Les itérations : La boucle do…while ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],condition instructions vrai faux
Les itérations ,[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fonctions et procédures ,[object Object],[object Object],[object Object],[object Object],[object Object]
Les procédures ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les fonctions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les paramètres ,[object Object],[object Object],[object Object],[object Object],[object Object]
Portée des variables ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fonction particulière : main ,[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Définition ,[object Object],[object Object],[object Object],[object Object]
Les tableaux (1) ,[object Object]
Les tableaux (2) int anArray [7]  -> 9 3 12 1 1 2 0 anArray[3] v void main() { int anArray[7]; anArray[0]=9; anArray[1]=0; anArray[2]=3; ... } 0 2 3 4 5 6 1 !
Les tableaux (3) 0 2 3 4 5 6 1 float anArray[7]  -> anArray[3] v void main() { float anArray[7]={9.5,0.2,3.1,5.8,1,1.2,6}; anArray[0]=9.5; anArray[1]=0.2; anArray[2]=3.1; ... } 9.5 0.2 3.1 5.8 1 1.2 6
Les tableaux (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les tableaux (5) ,[object Object],#define ARRAY_SIZE 1000 void main() { int searchingArray[ARRAY_SIZE]; int element,i=0; initialization(searchingArray,&element,ARRAY_SIZE); while((i< ARRAY_SIZE) && (searchingArray[i]!=element)) i++; if (i== ARRAY_SIZE) printf(&quot;Element %d not found !&quot;,element); else printf(&quot;Element %d found at indice %d&quot; ,element,i); }
Les tableaux (6) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les tableaux (7) ,[object Object],[object Object],[object Object],[object Object]
Les chaînes de caractères ,[object Object],o l l e h Chaîne de caractères Tableau de caractères Fin de chaîne ,[object Object], o l l e h
Les chaînes de caractères (2) ,[object Object],[object Object],[object Object],[object Object]
Les chaînes de caractères (3) l’ASCII ,[object Object],[object Object],[object Object],[object Object]
Les chaînes de caractères (3) l’ASCII ,[object Object],Notation ASCII décimale Notation humaine Notation ASCII hexadécimale 104 101 108 108 111 0 h e l l o  68 65 6C 6C 6F 0
Les chaînes de caractères (4) l’ASCII ,[object Object],[object Object],[object Object],[object Object],[object Object]
Les chaînes de caractères (2) 0 2 3 4 5 1 char aString [6]  -> aString[3] v #include <string.h> void main() { char aString[6]= &quot;hello&quot; ; aString[0]=‘h’; aString[1]=‘e’; ... strcpy(aString, &quot;hello&quot; ); }  o l l e h
Les chaînes de caractères (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les chaînes de caractères (4) ,[object Object],[object Object]
Les chaînes de caractères (5) Les fonctions standard ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les tableaux à plusieurs dimensions ,[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Structures en C ,[object Object],[object Object],[object Object]
Structures : Définition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Champ Définition de la structure Ne pas oublier le ; Déclaration d’une variable Accès aux champs avec .
Structures : Définition ,[object Object],[object Object],[object Object]
Structures : Imbrication struct Date { int jour,mois,annee; }; struct Etudiant { char nom[50]; char prenom[50]; int age; struct Date dateInscription; }; int main() { struct Etudiant toto; toto.dateInscription.jour=1; return 0; }
Tableaux de structures struct Etudiant { char nom[50]; char prenom[50]; int age; }; int main() { struct Etudiant gtr1[50]; gtr1[0].age=19; return 0; }
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object]
Utilité des pointeurs ,[object Object],[object Object],[object Object]
Définition ,[object Object],[object Object],[object Object]
Notation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Représentation en mémoire Mémoire 18971 18979 18994 19002 18986 18984 int a; int* pointeurSurA; a=5; pointeurSurA=&a; 18994 5 pointeurSurA a
Pointeurs sur données ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Affectations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemples (1) ,[object Object],[object Object],[object Object],[object Object],int a=5; int* pointeurSurInt; pointeurSurInt=&a;
Exemples (2) int main(int argc, char* argv[]) { int a,b; int* pointeurSurA; pointeurSurA=&a; b=a+1; /* ou b=*pointeurSurA+1 */ a=b*4; /* ou *pointeurSurA=b*4; a++; /* ou (*pointeurSurA)++; }
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object]
Tableaux et pointeurs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Tableaux et pointeurs : Adressage ,[object Object],[object Object],[object Object],[object Object],[object Object],int tableau[100]; int* pointeurSurInt; pointeurSurInt=tableau;
Tableaux et pointeurs : Adressage int tableau[100]; int* pointeurSurInt; pointeurSurInt=tableau;  /* ou pointeurSurInt=&tableau[0]; */ for (i=0;i<100;i++) tableau[i]=0; /* ou *(pointeurSurInt+i)=0; */ while (pointeurSurInt!=&tableau[99]) { *pointeurSurInt=0; pointeurSurInt++; } int tableau[100]; int* pointeurSurInt; pointeurSurInt=tableau;  /* ou pointeurSurInt=&tableau[0]; */
Tableaux et pointeurs : Allocation dynamique ,[object Object],[object Object],[object Object],[object Object],[object Object]
Tableaux et pointeurs : Allocation dynamique int main(int argc, char* argv[]) { int* tableau; int nombreCases; nombreCases=atoi(argv[1]); tableau=(int*)malloc(nombreCases*sizeof(int)); free(tableau); }
Tableaux et pointeurs : Tableaux à 2 dimensions ,[object Object],[object Object],[object Object],[object Object]
Tableaux et pointeurs : Tableaux à 2 dimensions ,[object Object],[object Object],int main(int argc, char* argv[]) { int** tableau; int i; tableau=(int**)malloc(NB_COLONNES*sizeof(int*)); for (i=0;i<NB_COLONNES;i++) tableau[i]=(int*)malloc(NB_LIGNES*sizeof(int)); }
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object]
Passage de paramètres ,[object Object],[object Object],[object Object],[object Object]
Passage de paramètres void main() { int a,b; a=5; fonction(a,&b); } void fonction(int parRecopie, int* parAdresse) { parRecopie=10; *parAdresse=15; }
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object]
Structures dynamiques : Définition ,[object Object],[object Object],[object Object]
Structures et pointeurs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Structures et pointeurs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],void  init(struct Etudiant* initE) { (*initE).age=15; /* initE->age=15; */ }
Listes chaînées : Principe ,[object Object],[object Object],Racine Données Pointeur Données Pointeur
Listes chaînées : Principe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Listes chaînées : Insertion ,[object Object],Racine Données Pointeur Données Pointeur Données Pointeur
Listes chaînées : Destruction ,[object Object],Racine Données Pointeur Données Pointeur Racine Données Pointeur
Listes chaînées : Avantages/inconvénients ,[object Object],[object Object],[object Object],[object Object]
Listes doublement chaînées : Principe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Listes doublement chaînées : Insertion ,[object Object],Racine Données Pointeur Pointeur Données Pointeur Pointeur Données Pointeur Pointeur Données Pointeur Pointeur
Listes doublement chaînées : Destruction ,[object Object],Racine Données Pointeur Pointeur Données Pointeur Pointeur Données Pointeur Pointeur
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Accès aux fichiers ,[object Object],[object Object],[object Object],[object Object]
Lecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lecture (2) ,[object Object],[object Object]
Ecriture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ecriture (2) ,[object Object],[object Object]
Ecriture ,[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bêtisier ,[object Object],[object Object],[object Object]
Bêtisier ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bêtisier (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
badr zaimi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
Daoua Lotfi
 

Tendances (20)

Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
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 Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Le langage C
Le langage CLe langage C
Le langage C
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 
Partie 11: Héritage — Programmation orientée objet en C++
Partie 11: Héritage — Programmation orientée objet en C++Partie 11: Héritage — Programmation orientée objet en C++
Partie 11: Héritage — Programmation orientée objet en C++
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
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 Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 

Similaire à Cours langage c

CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SiratiSoufiane
 
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
kamalomari2
 

Similaire à Cours langage c (20)

Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.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
 
C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
Algorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptxAlgorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptx
 
Ch02
Ch02Ch02
Ch02
 
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
 
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
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Initiation r
Initiation rInitiation r
Initiation r
 
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
 
langage C++
langage C++langage C++
langage C++
 
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
 
POO-chapitre2.pptx
POO-chapitre2.pptxPOO-chapitre2.pptx
POO-chapitre2.pptx
 
Theme 6
Theme 6Theme 6
Theme 6
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
Formation python
Formation pythonFormation python
Formation python
 

Plus de coursuniv

Loi d’ohm et loi de joule
Loi d’ohm et loi de jouleLoi d’ohm et loi de joule
Loi d’ohm et loi de joule
coursuniv
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiques
coursuniv
 
Réseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxRéseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes généraux
coursuniv
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatique
coursuniv
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
coursuniv
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
coursuniv
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurs
coursuniv
 
Chapitre 1 loi de coulomb et champ électrostatique
Chapitre 1  loi de coulomb et champ électrostatiqueChapitre 1  loi de coulomb et champ électrostatique
Chapitre 1 loi de coulomb et champ électrostatique
coursuniv
 
Chapitre 3 théorème de gauss
Chapitre 3  théorème de gaussChapitre 3  théorème de gauss
Chapitre 3 théorème de gauss
coursuniv
 

Plus de coursuniv (20)

Algo et c
Algo et cAlgo et c
Algo et c
 
Loi d’ohm et loi de joule
Loi d’ohm et loi de jouleLoi d’ohm et loi de joule
Loi d’ohm et loi de joule
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiques
 
Réseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxRéseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes généraux
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatique
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurs
 
Chapitre 1 loi de coulomb et champ électrostatique
Chapitre 1  loi de coulomb et champ électrostatiqueChapitre 1  loi de coulomb et champ électrostatique
Chapitre 1 loi de coulomb et champ électrostatique
 
Analyse s1
Analyse s1Analyse s1
Analyse s1
 
Chapitre 3 théorème de gauss
Chapitre 3  théorème de gaussChapitre 3  théorème de gauss
Chapitre 3 théorème de gauss
 
Analyse numerique
Analyse numeriqueAnalyse numerique
Analyse numerique
 
Excel
ExcelExcel
Excel
 
Excel
ExcelExcel
Excel
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
C
CC
C
 
Loi de coulomb
Loi de coulomb Loi de coulomb
Loi de coulomb
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
 

Dernier

Dernier (11)

Un petit coin etwinning- Au fil des cultures urbaines
Un petit coin  etwinning- Au fil des cultures urbainesUn petit coin  etwinning- Au fil des cultures urbaines
Un petit coin etwinning- Au fil des cultures urbaines
 
Àma Gloria.pptx Un film tourné au Cap Vert et en France
Àma Gloria.pptx   Un film tourné au Cap Vert et en FranceÀma Gloria.pptx   Un film tourné au Cap Vert et en France
Àma Gloria.pptx Un film tourné au Cap Vert et en France
 
Nathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre françaiseNathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre française
 
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptxGHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
 
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptxGHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
 
rapport de stage gros oeuvre_compressed.pdf
rapport de stage gros oeuvre_compressed.pdfrapport de stage gros oeuvre_compressed.pdf
rapport de stage gros oeuvre_compressed.pdf
 
Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024
 
Texte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigéesTexte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigées
 
Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"
 
Fiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciationFiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciation
 
Quitter la nuit. pptx
Quitter        la             nuit.   pptxQuitter        la             nuit.   pptx
Quitter la nuit. pptx
 

Cours langage c

  • 1. Initiation à la programmation : Le langage C
  • 2.
  • 3.
  • 4.
  • 5. Compilation séparée Exécutable Préprocessing Compilation Edition de liens Optimisation fichier1.c fichier2.c fichier3.c fichier1.h fichier2.h fichier3.h Programme fichier1.o fichier2.o fichier3.o
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Les types : La taille Pentium II Sparc Alpha char 8 bits 8 bits 8 bits short 16 bits 16 bits 16 bits int 16 bits 32 bits 32 bits long 32 bits 32 bits 64 bits float 32 bits 32 bits 32 bits double 64 bits 64 bits 64 bits long double 64 bits 64 bits 128 bits
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Les entrées-sorties : Les flux Entrée standard stdin -> clavier Sortie standard stdout -> écran Sortie d’erreur stderr Programme C
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Les structures de contrôle
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Les conditionnelles : switch…case (2) expression constante1 default ... instructionsD instructions1 instructions2
  • 33.
  • 34. Les itérations : La boucle for vrai faux Initialisation Condition d’arrêt Mise à jour exp2 exp1 instructions exp3
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. Les tableaux (2) int anArray [7] -> 9 3 12 1 1 2 0 anArray[3] v void main() { int anArray[7]; anArray[0]=9; anArray[1]=0; anArray[2]=3; ... } 0 2 3 4 5 6 1 !
  • 49. Les tableaux (3) 0 2 3 4 5 6 1 float anArray[7] -> anArray[3] v void main() { float anArray[7]={9.5,0.2,3.1,5.8,1,1.2,6}; anArray[0]=9.5; anArray[1]=0.2; anArray[2]=3.1; ... } 9.5 0.2 3.1 5.8 1 1.2 6
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59. Les chaînes de caractères (2) 0 2 3 4 5 1 char aString [6] -> aString[3] v #include <string.h> void main() { char aString[6]= &quot;hello&quot; ; aString[0]=‘h’; aString[1]=‘e’; ... strcpy(aString, &quot;hello&quot; ); } o l l e h
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68. Structures : Imbrication struct Date { int jour,mois,annee; }; struct Etudiant { char nom[50]; char prenom[50]; int age; struct Date dateInscription; }; int main() { struct Etudiant toto; toto.dateInscription.jour=1; return 0; }
  • 69. Tableaux de structures struct Etudiant { char nom[50]; char prenom[50]; int age; }; int main() { struct Etudiant gtr1[50]; gtr1[0].age=19; return 0; }
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75. Représentation en mémoire Mémoire 18971 18979 18994 19002 18986 18984 int a; int* pointeurSurA; a=5; pointeurSurA=&a; 18994 5 pointeurSurA a
  • 76.
  • 77.
  • 78.
  • 79. Exemples (2) int main(int argc, char* argv[]) { int a,b; int* pointeurSurA; pointeurSurA=&a; b=a+1; /* ou b=*pointeurSurA+1 */ a=b*4; /* ou *pointeurSurA=b*4; a++; /* ou (*pointeurSurA)++; }
  • 80.
  • 81.
  • 82.
  • 83. Tableaux et pointeurs : Adressage int tableau[100]; int* pointeurSurInt; pointeurSurInt=tableau; /* ou pointeurSurInt=&tableau[0]; */ for (i=0;i<100;i++) tableau[i]=0; /* ou *(pointeurSurInt+i)=0; */ while (pointeurSurInt!=&tableau[99]) { *pointeurSurInt=0; pointeurSurInt++; } int tableau[100]; int* pointeurSurInt; pointeurSurInt=tableau; /* ou pointeurSurInt=&tableau[0]; */
  • 84.
  • 85. Tableaux et pointeurs : Allocation dynamique int main(int argc, char* argv[]) { int* tableau; int nombreCases; nombreCases=atoi(argv[1]); tableau=(int*)malloc(nombreCases*sizeof(int)); free(tableau); }
  • 86.
  • 87.
  • 88.
  • 89.
  • 90. Passage de paramètres void main() { int a,b; a=5; fonction(a,&b); } void fonction(int parRecopie, int* parAdresse) { parRecopie=10; *parAdresse=15; }
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.

Notes de l'éditeur

  1. exemple du grep : tant qu’il y une ligne si cette ligne contient le modèle l’afficher
  2. Exemples de fonctions --------------------- int max(int a,int b) /* fonction avec 2 args en mode in */ { int maxAB; /* maxAB n&apos;est definie que dans max */ if(a&gt;b) { maxAB=a; } else { maxAB=b; } return(maxAB); /* retour obligatoire de la fonction du meme type que max */ } Exemples de procedures ---------------------- void impNumero(int num) /* procedure d&apos;affichage d&apos;un entier */ { printf(&amp;quot;­­­­­%d­­­­­\\n&amp;quot;,num); } /* PAS de return */ void dessineCarre(int x,int y, int cote) { ... /* dessine un carre a l&apos;ecran */ } void echange(int *a, int *b) /* procedure d&apos;echange des valeurs de deux variables (mode in­out) */ { int temp; /* temp n&apos;est definie que dans echange */ temp=*a; /* on utilise * pour acceder a la valeur */ *a=*b; /* on utilise * pour modifier la valeur */ *b=temp; }