SlideShare une entreprise Scribd logo
1  sur  39
PARTIE 1 : Les
     bases
- Les fonctions principales
- Les variables
- Les maths
- Les conditions (if / switch)
- Les boucles (for / do while /
while)
Code de base
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
// Code
return 0;
}
Fonctions
Noms
           principales
                 Effets                          Exemples
printf    Affiche un message             printf(«Hello world»);

scanf     Récupère une saisie           scanf(«%d», &variable);

 Caractères spéciaux printf                     Effets
n                            Saut à la ligne

t                            Tabulation.

  Symboles commentaires                         Effets
//                            Commentaire sur une ligne.

/*...*/                       Commentaire en bloc.
Variables

       Noms             Appels         printf / scanf         Valeurs
entier              (unsigned) int          %d          -2 à 2 milliards
décimal             (unsigned) float        %f          Beaucoup
caractère           (unsigned) char         %c          -127 à 128
chaîne de caractères char [TAILLE]          %s          Dépend de TAILLE
Variables (algo)

Variables : variable : entier
DEBUT
variable <- saisir() // Récupère saisie
afficher -> “La saisie vaut “ + variable// Affiche saisie
FIN
Variables (code)
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
int variable = 0; // Initialisation variable
// NE PAS OUBLIER LE “&“ DEVANT variable !!!
scanf(“%d“, &variable); // Récupère saisie
printf(“La saisie vaut %d“, variable); // Affiche saisie
return 0;
}
Mathématiques

  Symboles       Définitions
     +       Addition
     -       Soustraction
     *       Multiplication
     /       Division
     %       Modulo
Maths (modulo)
        11     2
               5
          1



 11 = 2 * 5 + 1 => 11 % 2 = 1
Maths (fonctions)

        Fonctions          Effets
  sqrt(X)           Racine carrée de X
  pow(X,Y)          Puissance : X^Y
  fabs(X)           Valeur absolue de X
  ceil(X)           Entier sup. de X
  floor(X)          Entier inf. de X
Maths (algo)
Variables
valeur1, valeur2, resultat : entier

DEBUT
valeur1 <- 10, valeur2 <- 4
resultat <- valeur1 * valeur2 / 7
resultat <- resultat - 5; // Ou : “resultat -= 5;“, resultat = 1
resultat <- resultat + 1; // Ou : “resultat ++;“, resultat = 2
resultat <- resultat³ // resultat = 2^3 = 8
FIN
Maths (code)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main (void)
{
int valeur1 = 10, valeur2 = 4; // Initialisation variables
int resultat = valeur1 * valeur2 / 7; // = 6 (c’est un int)
resultat = resultat - 5; // Ou : “resultat -= 5;“, resultat = 1
resultat = resultat + 1; // Ou : “resultat ++;“, resultat = 2
resultat = pow(resultat,3); // resultat = 2^3 = 8
return 0;
}
ASCII
     Un caractère (char) a une valeur décimale
     comprise entre 0 et 255.

     Par exemple : le nombre 65 correspond à la
     lettre «A».

#include ... int main (void){
int valeur; char caractere = ‘A’;
valeur = caractere+1; // C’est possible, valeur = 65 + 1 = 66
printf(“Caractere : %c ; ASCII : %d“, valeur);
// Affichera : «Caractere : B ; ASCII : 66»
return 0;
}
Conditions


Comme son nom l’indique, une condition
s’utilise quand on souhaite exécuter un code
selon un ou plusieurs cas particulier(s).
Conditions (if /
          switch)

               IF                         SWITCH
Plusieurs variables          Une seule variable
Variables indéfinies         Variables définies
Conditions ET/OU possibles   Conditions ET/OU impossibles
Moins rapide à écrire        Plus rapide à écrire
Moins clair à lire           Plus clair à lire
Conditions (if
          else)
     Les accolades {} peuvent être supprimées si le
     code de la condition ne fait qu’une ligne.
if (age < 18) printf(“Film -18 ans interdit.“);


     Une condition peut être négative par «!»
if (!(age < 18)) printf(“Film -18 ans autorisé.“);

     Une variable seule peut servir de condition
     (booléen), toujours vraie si variable ≠ 0.

if (jeu_en_cours) printf(“Bonne partie.“);
Conditions
(Opérateurs)
     Symboles          Effets
==              Egal
!=              Différent
>               Supérieur
<               Inférieur
>=              Sup. ou égal
<=              Inf. ou égal
||              Ou
&&              Et
Conditions
(Opérateurs bool)
        if (A operateur B)

   A          B      ||      &&
    0         0      0       0
    0         1      1       0
    1         0      1       0
    1         1      1       1
Conditions
             (switch)
          Mots-clés                Effets

case                  Débute chaque condition.

default               Exécuté par défaut.

break                 Quitte le switch.
Conditions
              (switch)
#include ... int main (void){
switch (tension)
{
    case 0 : printf(“T’es mort.“); break;
    default : printf(“T’es en vie.“);
}
return 0;
}
Conditions (algo)
DEBUT
Si booleen1 ET non booleen3 Alors
    Instructions 1
Sinon si booleen2
    Instructions 2
Sinon
    Instructions 3
Fin Si
FIN
Conditions (code)
int main(void)
{
if (booleen1 && !booleen3)
     printf(“Instructions 1“);
else if (booleen2)
     printf(“Instructions 2“);
else
     printf(“Instructions 3“);
}
Boucles

Comme son nom l’indique, le code d’une
boucle se répète jusqu’à ce que la condition soit
fausse.

Elle s’utilise quand on souhaite exécuter un
code répétition.
Boucles

Mots-clés                            Effets

for         On exécute le bloc de 0 à n fois, utilisé pour compter.

do while On exécute le bloc de 1 à n fois.

while       On exécute le bloc de 0 à n fois.
Boucles (For)

La boucle for possède 3 arguments :

  Le 1er pour initialiser.

  Le 2è pour conditionner la fin.

  Le 3è pour calculer le pas.
Boucles (algo)
DEBUT
// For
Pour i<-0 à 9
    Instructions 1
i Suivant
// Do while
Faire
    Instructions 2
Tant que i<10
// While
Tant que i<10
    Instructions 3
Fin Tant que
FIN
Boucles (code)

int main(void)
{
int i=0;
for(i=0; i<10 ; i++){// Code}
do{// Code}while(i<10);
while(i<10){// Code}
}
Boucles
    (ATTENTION !!!)
    Attention aux boucles infinies !



int main(void)
{
while(!Arthur_Bon_En_Design){// Inutile}
while(!Barbara_Bon_En_Design){// OK}
while(!Jeremie_Bon_En_Design){// Boucle infinie}
}
PARTIE 2 :
      Tableaux
- Tableaux 1 et 2 dimensions !
- Chaînes de caractères
- Define, nouvelle directive de
préprocesseur
Tableaux
    Le tableau peut être de tous les types (int, float,
    char).

    Un tableau se déclare avec les crochets [] dans
    lesquels on met le nombre de valeur max.

int main(void)
{
int Tableau_Entier[10];
float Tableau_Decimaux[5];
char Tableau_Caractete[100];
}
Tableaux
   (initialisation)
int main(void)
{
int Tab_Int[3]={1, 2, 3}; // On initialise les valeurs au début

// Ou alors on entre les valeurs par adresse tableau
// Un tableau commence toujours à l’adresse 0
int Tab_Int2[3];
Tab_Int2[0] = 1;
Tab_Int2[1] = 2;
Tab_Int2[2] = 3;
}
Tableau à 2
           dimensions
int main(void)
{
int Tab_Int[3][3]=
{
     {1, 2, 3},
     {4, 5, 6},
     {7, 8, 9}
};
}
Chaînes de car.

       Noms             Appels         printf / scanf         Valeurs
entier              (unsigned) int          %d          -2 à 2 milliards
décimal             (unsigned) float        %f          Beaucoup
caractère           (unsigned) char         %c          -127 à 128
chaîne de caractères char [TAILLE]          %s          Dépend de TAILLE
Chaînes de car.
   (règles)
La chaîne se termine toujours par “0“.

Lors d’un scanf :

  Le “&“ disparaît.

  La saisie s’arrête dès l’appui sur la touche
  “enter“ ou la présence d’un espace !
Chaînes de car.
       (règles)

int main(void)
{
char Tab_Int[7];

scanf(“%s“, Tab_Int);
print(“%s“, Tab_Int);
}
Chaînes de car.
   (règles)
   Adresses   Valeurs
      0         B
      1         o
      2         n
      3          j
      4         o
      5         u
      6          r
      7         0
Chaînes de car.
  (Fonctions)
  Fonctions                     Effets
strcpy(X,Y)   Copie Y dans X
strcat(X,Y)   Concatène X et Y, dans X.
strcmp(X,Y)   Compare X et Y (0 si identique, 1 si non)
strlen(X)     Renvoi la longueur de la chaîne de car.
              Recherche caractère Y dans chaîne X, et
strchr(X,Y)
              renvoie la chaîne à partir de Y.
Directive de
  préprocesseur

#include est une directive de préprocesseur.

#include = appel des bibliothèques

#define = variable globale
Partie 2 (algo)
Variable globale TAILLE <- 10
Tableau entier Tab(TAILLE)

DEBUT
Tab <- Saisir()
Si Tab = “bonjour“ Alors
    Afficher -> Tab
Fin Si
FIN
Partie 2 (code)

#include <string.h>
#define TAILLE 100
int main(void)
{
char Tab[TAILLE];
scanf(“%s“, tab)
if(strcmp(tab == “bonjour0“) printf(“%s“, tab);
return 0;
}

Contenu connexe

Tendances

exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
fast xp
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 

Tendances (20)

Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
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
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
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
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Filtrage image
Filtrage imageFiltrage image
Filtrage image
 
Uml
UmlUml
Uml
 
Cours de c
Cours de cCours de c
Cours de c
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 

En vedette

Joyeux noel
Joyeux noelJoyeux noel
Joyeux noel
defos
 
B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013
Valérie Demont (-Steck)
 
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Universidad Autónoma de Barcelona
 
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Universidad Autónoma de Barcelona
 
Blancanieves y los Siete Bajitos
Blancanieves y los Siete BajitosBlancanieves y los Siete Bajitos
Blancanieves y los Siete Bajitos
maria
 
Visualizacion youngo latino
Visualizacion youngo latinoVisualizacion youngo latino
Visualizacion youngo latino
Alejandra Solis
 

En vedette (20)

Le langage C
Le langage CLe langage C
Le langage C
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Cours langage-c
Cours langage-cCours langage-c
Cours langage-c
 
Algorithm et structure de donnée
Algorithm et structure de donnéeAlgorithm et structure de donnée
Algorithm et structure de donnée
 
Four ways data is improving healthcare operations
Four ways data is improving healthcare operationsFour ways data is improving healthcare operations
Four ways data is improving healthcare operations
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Joyeux noel
Joyeux noelJoyeux noel
Joyeux noel
 
Persun.fr robe de mariée bustier
Persun.fr  robe de mariée bustierPersun.fr  robe de mariée bustier
Persun.fr robe de mariée bustier
 
Islas flotantes albert
Islas flotantes albertIslas flotantes albert
Islas flotantes albert
 
Mercado y requisitos para exportar a EE.UU.
Mercado y requisitos para exportar a EE.UU.Mercado y requisitos para exportar a EE.UU.
Mercado y requisitos para exportar a EE.UU.
 
Premios Fundación Esplai al Voluntariado 2012
Premios Fundación Esplai al Voluntariado 2012Premios Fundación Esplai al Voluntariado 2012
Premios Fundación Esplai al Voluntariado 2012
 
Comment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robesComment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robes
 
B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013
 
Présentation du marché
Présentation du marchéPrésentation du marché
Présentation du marché
 
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
 
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
 
Blancanieves y los Siete Bajitos
Blancanieves y los Siete BajitosBlancanieves y los Siete Bajitos
Blancanieves y los Siete Bajitos
 
La regulación del salario. .
La regulación del salario. .La regulación del salario. .
La regulación del salario. .
 
Tel de l_au_dela_mystere06
Tel de l_au_dela_mystere06Tel de l_au_dela_mystere06
Tel de l_au_dela_mystere06
 
Visualizacion youngo latino
Visualizacion youngo latinoVisualizacion youngo latino
Visualizacion youngo latino
 

Similaire à Le langage C

Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
mustapha4
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 
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 à Le langage C (20)

C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
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
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
Theme 6
Theme 6Theme 6
Theme 6
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
 
Cours c#
Cours c#Cours c#
Cours 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'application
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdf
 
langage C++
langage C++langage C++
langage C++
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
Cours tp2
Cours tp2Cours tp2
Cours tp2
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
µP
µPµP
µP
 
memento_java_3c.pptx
memento_java_3c.pptxmemento_java_3c.pptx
memento_java_3c.pptx
 
Cours javascript v1
Cours javascript v1Cours javascript v1
Cours javascript v1
 
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
 
initiation au javascript
initiation au javascriptinitiation au javascript
initiation au javascript
 
Cours php
Cours phpCours php
Cours php
 

Le langage C

  • 1. PARTIE 1 : Les bases - Les fonctions principales - Les variables - Les maths - Les conditions (if / switch) - Les boucles (for / do while / while)
  • 2. Code de base #include <stdio.h> #include <stdlib.h> int main (void) { // Code return 0; }
  • 3. Fonctions Noms principales Effets Exemples printf Affiche un message printf(«Hello world»); scanf Récupère une saisie scanf(«%d», &variable); Caractères spéciaux printf Effets n Saut à la ligne t Tabulation. Symboles commentaires Effets // Commentaire sur une ligne. /*...*/ Commentaire en bloc.
  • 4. Variables Noms Appels printf / scanf Valeurs entier (unsigned) int %d -2 à 2 milliards décimal (unsigned) float %f Beaucoup caractère (unsigned) char %c -127 à 128 chaîne de caractères char [TAILLE] %s Dépend de TAILLE
  • 5. Variables (algo) Variables : variable : entier DEBUT variable <- saisir() // Récupère saisie afficher -> “La saisie vaut “ + variable// Affiche saisie FIN
  • 6. Variables (code) #include <stdio.h> #include <stdlib.h> int main (void) { int variable = 0; // Initialisation variable // NE PAS OUBLIER LE “&“ DEVANT variable !!! scanf(“%d“, &variable); // Récupère saisie printf(“La saisie vaut %d“, variable); // Affiche saisie return 0; }
  • 7. Mathématiques Symboles Définitions + Addition - Soustraction * Multiplication / Division % Modulo
  • 8. Maths (modulo) 11 2 5 1 11 = 2 * 5 + 1 => 11 % 2 = 1
  • 9. Maths (fonctions) Fonctions Effets sqrt(X) Racine carrée de X pow(X,Y) Puissance : X^Y fabs(X) Valeur absolue de X ceil(X) Entier sup. de X floor(X) Entier inf. de X
  • 10. Maths (algo) Variables valeur1, valeur2, resultat : entier DEBUT valeur1 <- 10, valeur2 <- 4 resultat <- valeur1 * valeur2 / 7 resultat <- resultat - 5; // Ou : “resultat -= 5;“, resultat = 1 resultat <- resultat + 1; // Ou : “resultat ++;“, resultat = 2 resultat <- resultat³ // resultat = 2^3 = 8 FIN
  • 11. Maths (code) #include <stdio.h> #include <stdlib.h> #include <math.h> int main (void) { int valeur1 = 10, valeur2 = 4; // Initialisation variables int resultat = valeur1 * valeur2 / 7; // = 6 (c’est un int) resultat = resultat - 5; // Ou : “resultat -= 5;“, resultat = 1 resultat = resultat + 1; // Ou : “resultat ++;“, resultat = 2 resultat = pow(resultat,3); // resultat = 2^3 = 8 return 0; }
  • 12. ASCII Un caractère (char) a une valeur décimale comprise entre 0 et 255. Par exemple : le nombre 65 correspond à la lettre «A». #include ... int main (void){ int valeur; char caractere = ‘A’; valeur = caractere+1; // C’est possible, valeur = 65 + 1 = 66 printf(“Caractere : %c ; ASCII : %d“, valeur); // Affichera : «Caractere : B ; ASCII : 66» return 0; }
  • 13. Conditions Comme son nom l’indique, une condition s’utilise quand on souhaite exécuter un code selon un ou plusieurs cas particulier(s).
  • 14. Conditions (if / switch) IF SWITCH Plusieurs variables Une seule variable Variables indéfinies Variables définies Conditions ET/OU possibles Conditions ET/OU impossibles Moins rapide à écrire Plus rapide à écrire Moins clair à lire Plus clair à lire
  • 15. Conditions (if else) Les accolades {} peuvent être supprimées si le code de la condition ne fait qu’une ligne. if (age < 18) printf(“Film -18 ans interdit.“); Une condition peut être négative par «!» if (!(age < 18)) printf(“Film -18 ans autorisé.“); Une variable seule peut servir de condition (booléen), toujours vraie si variable ≠ 0. if (jeu_en_cours) printf(“Bonne partie.“);
  • 16. Conditions (Opérateurs) Symboles Effets == Egal != Différent > Supérieur < Inférieur >= Sup. ou égal <= Inf. ou égal || Ou && Et
  • 17. Conditions (Opérateurs bool) if (A operateur B) A B || && 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1
  • 18. Conditions (switch) Mots-clés Effets case Débute chaque condition. default Exécuté par défaut. break Quitte le switch.
  • 19. Conditions (switch) #include ... int main (void){ switch (tension) { case 0 : printf(“T’es mort.“); break; default : printf(“T’es en vie.“); } return 0; }
  • 20. Conditions (algo) DEBUT Si booleen1 ET non booleen3 Alors Instructions 1 Sinon si booleen2 Instructions 2 Sinon Instructions 3 Fin Si FIN
  • 21. Conditions (code) int main(void) { if (booleen1 && !booleen3) printf(“Instructions 1“); else if (booleen2) printf(“Instructions 2“); else printf(“Instructions 3“); }
  • 22. Boucles Comme son nom l’indique, le code d’une boucle se répète jusqu’à ce que la condition soit fausse. Elle s’utilise quand on souhaite exécuter un code répétition.
  • 23. Boucles Mots-clés Effets for On exécute le bloc de 0 à n fois, utilisé pour compter. do while On exécute le bloc de 1 à n fois. while On exécute le bloc de 0 à n fois.
  • 24. Boucles (For) La boucle for possède 3 arguments : Le 1er pour initialiser. Le 2è pour conditionner la fin. Le 3è pour calculer le pas.
  • 25. Boucles (algo) DEBUT // For Pour i<-0 à 9 Instructions 1 i Suivant // Do while Faire Instructions 2 Tant que i<10 // While Tant que i<10 Instructions 3 Fin Tant que FIN
  • 26. Boucles (code) int main(void) { int i=0; for(i=0; i<10 ; i++){// Code} do{// Code}while(i<10); while(i<10){// Code} }
  • 27. Boucles (ATTENTION !!!) Attention aux boucles infinies ! int main(void) { while(!Arthur_Bon_En_Design){// Inutile} while(!Barbara_Bon_En_Design){// OK} while(!Jeremie_Bon_En_Design){// Boucle infinie} }
  • 28. PARTIE 2 : Tableaux - Tableaux 1 et 2 dimensions ! - Chaînes de caractères - Define, nouvelle directive de préprocesseur
  • 29. Tableaux Le tableau peut être de tous les types (int, float, char). Un tableau se déclare avec les crochets [] dans lesquels on met le nombre de valeur max. int main(void) { int Tableau_Entier[10]; float Tableau_Decimaux[5]; char Tableau_Caractete[100]; }
  • 30. Tableaux (initialisation) int main(void) { int Tab_Int[3]={1, 2, 3}; // On initialise les valeurs au début // Ou alors on entre les valeurs par adresse tableau // Un tableau commence toujours à l’adresse 0 int Tab_Int2[3]; Tab_Int2[0] = 1; Tab_Int2[1] = 2; Tab_Int2[2] = 3; }
  • 31. Tableau à 2 dimensions int main(void) { int Tab_Int[3][3]= { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; }
  • 32. Chaînes de car. Noms Appels printf / scanf Valeurs entier (unsigned) int %d -2 à 2 milliards décimal (unsigned) float %f Beaucoup caractère (unsigned) char %c -127 à 128 chaîne de caractères char [TAILLE] %s Dépend de TAILLE
  • 33. Chaînes de car. (règles) La chaîne se termine toujours par “0“. Lors d’un scanf : Le “&“ disparaît. La saisie s’arrête dès l’appui sur la touche “enter“ ou la présence d’un espace !
  • 34. Chaînes de car. (règles) int main(void) { char Tab_Int[7]; scanf(“%s“, Tab_Int); print(“%s“, Tab_Int); }
  • 35. Chaînes de car. (règles) Adresses Valeurs 0 B 1 o 2 n 3 j 4 o 5 u 6 r 7 0
  • 36. Chaînes de car. (Fonctions) Fonctions Effets strcpy(X,Y) Copie Y dans X strcat(X,Y) Concatène X et Y, dans X. strcmp(X,Y) Compare X et Y (0 si identique, 1 si non) strlen(X) Renvoi la longueur de la chaîne de car. Recherche caractère Y dans chaîne X, et strchr(X,Y) renvoie la chaîne à partir de Y.
  • 37. Directive de préprocesseur #include est une directive de préprocesseur. #include = appel des bibliothèques #define = variable globale
  • 38. Partie 2 (algo) Variable globale TAILLE <- 10 Tableau entier Tab(TAILLE) DEBUT Tab <- Saisir() Si Tab = “bonjour“ Alors Afficher -> Tab Fin Si FIN
  • 39. Partie 2 (code) #include <string.h> #define TAILLE 100 int main(void) { char Tab[TAILLE]; scanf(“%s“, tab) if(strcmp(tab == “bonjour0“) printf(“%s“, tab); return 0; }